zoukankan      html  css  js  c++  java
  • linux下svn服务器搭建以及相关问题解决方案

    版本:ubuntu 10.04

    1.安装包
    $ sudo apt-get install subversion
    2.添加svn管理用户及subversion组
    $ sudo adduser svnuser
    $ sudo addgroup subversion
    $ sudo addgroup svnuser subversion
    3.创建项目目录
    $ sudo mkdir /home/svn
    $ cd /home/svn
    $ sudo mkdir fitness
    $ sudo chown -R root:subversion fitness
    $ sudo chmod -R g+rws fitness
    4.创建SVN文件仓库
    $ sudo svnadmin create /home/svn/fitness
    5.访问方式及项目导入:
    $ svn co file:///home/svn/fitness
    或者
    $ svn co file://localhost/home/svn/fitness
    * 注意:
    如果您并不确定主机的名称,您必须使用三个斜杠(///),而如果您指定了主机的名称,则您必须使用两个斜杠(//).
    //--
    下面的命令用于将项目导入到SVN 文件仓库:
    $ svn import -m "New import" /home/svn/fitness file:///home/svnuser/src/fitness
    一定要注明导入信息
    //--------------------------//
    6.访问权限设置
    修改 /home/svn/fitness目录下:
    svnserve.conf 、passwd 、authz三个文件,行最前端不允许有空格
    //--
    编辑svnserve.conf文件,把如下两行取消注释
    password-db = password
    authz-db = authz
    //补充说明
    # [general]
    anon-access = read
    auth-access = write
    password-db = passwd
    其中 anon-access 和 auth-access 分别为匿名和有权限用户的权限,默认给匿名用户只读的权限,但如果想拒绝匿
    名用户的访问,只需把 read 改成 none 就能达到目的。
    //--
    编辑/home/svnuser/etc/passwd 如下:
    [users]
    mirze = 123456
    test1 = 123456
    test2 = 123456
    //--
    编辑/home/svnuser/etc/authz如下
    [groups]
    admin = mirze,test1
    test = test2
    [/]
    @admin=rw
    *=r
    这里设置了三个用户mirze,test1,test2密码都是123456
    其中mirze和test1属于admin组,有读和写的权限,test2属于test组只有读的权限
    7.启动SVN服务
    svnserve -d -r /home/svn
    描述说明:
    -d 表示svnserver以“守护”进程模式运行
    -r 指定文件系统的根位置(版本库的根目录),这样客户端不用输入全路径,就可以访问版本库
    如: svn://192.168.12.118/fitness
    这时SVN安装就完成了.
    局域网访问方式:
    例如:svn checkout svn://192.168.12.118/fitness --username mirze --password 123456 /var/www/fitness

    1.安装$ sudo apt-get install subversion

    2.添加svn管理用户及subversion组(可以不添加)

    $ sudo adduser svnuser

    $ sudo addgroup subversion

    $ sudo addgroup svnuser subversion

    3.创建项目目录$ sudo mkdir /home/svn

    $ cd /home/svn

    $ sudo mkdir IPMsg

    $ sudo chown -R root:subversion IPMsg

    $ sudo chmod -R g+rws IPMsg

    4.创建SVN文件仓库$ sudo svnadmin create /home/svn/IPMsg

    访问方式及项目导入:

    $ svn co file:///home/svn/IPMsg

    或者

    $ svn co file://localhost/home/svn/IPMsg

    * 注意:如果您并不确定主机的名称,您必须使用三个斜杠(///),而如果您指定了主机的名称,则您必须使用两个斜杠(//).

    //--下面的命令用于将项目导入到SVN 文件仓库:

    $ svn import -m "New import" /home/wanpeng/Desktop/IPMsg file:///home/svn/IPMsg //注意前边是项目,后边是svn仓库

    一定要注明导入信息//--------------------------//

    6.访问权限设置修改 /home/svn/IPMsg/conf目录下:svnserve.conf 、passwd 、authz三个文件,行最前端不允许有空格

    //--编辑svnserve.conf文件,

    把如下两行取消注释

    password-db = password

    authz-db = authz

    //补充说明# [general]

    anon-access = read

    auth-access = write

    password-db = passwd

    其中 anon-access 和 auth-access 分别为匿名和有权限用户的权限,默认给匿名用户只读的权限,但如果想拒绝匿名用户的访问,

    只需把 read 改成 none 就能达到目的。

    //--编辑/home/svn/IPMsg/conf/passwd 如下:

    [users]

    zhang = zhang 

    long = long 

    wang = wang

    //--编辑/home/svnuser/etc/authz如下 

    [groups]

    admin = zhang,long  //用户组1

    test = wang  //用户组2

    [/]  //当前仓库 ,可以设置成不同的文件夹用户组具有不同的访问权限

    @admin=rw  //设置admin用户组权限为读写

    *=r  //所有用户的权限为 读

    zhang和long属于admin组,有读和写的权限,wang属于test组只有读的权限

    7.启动SVN服务svnserve -d -r /home/svn

    描述说明:-d 表示svnserver以“守护”进程模式运行-r 指定文件系统的根位置(版本库的根目录),这样客户端不用输入全路径,

    就可以访问版本库如: svn://127.0.0.1/IPMsg

    这时SVN安装就完成了.

    局域网访问方式:例如:svn checkout svn://125.222.219.206/IPMsg

    输入本机密码,用户名,密码 ok。

    --------------------------------------------华丽的分割线----------------------------------------------------------------------------------------------

    问题及解决方案:

    SVN commit或import 的 Permission denied的原因

    关键字: svn permission denied

    配置svn+apache服务器时,在导入或提交时,如果是unix、linux、mac os x等系统可能遇到类似这样的权限问题:

    写道

    svn: 提交失败(细节如下): 

    svn: Can't open file ' /home/svn/IPMsg/db/txn-current-lock': Permission denied

     或者

    写道

    svn: 提交失败(细节如下): 

    svn: Can't create directory '/home/svn/IPMsg/db/transactions/1-2.txn': Permission denied

    这个主要原因:在svnadmin create时是root身份,所以,mod_dav_svn就没有write权限等。

    解决办法:

    写道

    sudo chown -R daemon /home/svn/IPMsg

    sudo chmod -R 755 /home/svn/IPMsg

     再试就ok~

    其他机器提交显示如下错误时

    [purecoder@purecoder IPMsg]$ svn ci *

    svn: 提交失败(细节如下): 

    svn: 无法使用外部编辑器获得日志信息;考虑设置环境变量 $SVN_EDITOR,或者使用 --message (-m) 或 --file (-F) 选项

    svn: 没有设置 SVN_EDITOR,VISUAL 或 EDITOR 环境变量,运行时的配置参数中也没有 “editor-cmd” 选项

    使用svn commit 命令时给出-m的log选项

    [purecoder@purecoder IPMsg]$ svn ci -m "log content" *

     
    至于svn的使用请参照Linux+svn+google code
  • 相关阅读:
    python学习6—数据类型之集合与字符串格式化
    python学习5—一些关于基本数据结构的练习题
    21-python-time,random模块的应用
    20-python-装饰器⭐
    19-python-迭代器、生成器
    18-python-文件的操作
    17-python-主要内置函数
    16-python-map、filter函数
    15-python-局部变量全局变量
    14-python-函数
  • 原文地址:https://www.cnblogs.com/wanpengcoder/p/1780082.html
Copyright © 2011-2022 走看看