美文网首页
CENTOS6下SVN安装配置

CENTOS6下SVN安装配置

作者: 情文 | 来源:发表于2016-06-12 14:32 被阅读0次

    安装

    yum install -y subversion

    验证

    svnserve --version
    whereis svnserve
    

    创建多版本库

    • 创建目录+初始化版本库
    mkdir -p /data/svn
    cd /data/svn
    ## 版本库1 
    mkdir svn_1
    svnadmin create svn_1
    ## 版本库2 
    mkdir svn_2
    svnadmin create svn_2
    
    • 权限管理
      在每个版本库下面都有一个conf文件夹
    [root@server conf]# ls -l svn_1/conf
    总用量 12  
    -rw-r--r--. 1 root root 1080 4月  28 14:31 authz
    -rw-r--r--. 1 root root  309 4月  28 14:31 passwd
    -rw-r--r--. 1 root root 2283 4月  28 14:32 svnserve.conf
    ## passwd是密码文件  
    ## authz是权限文件  
    ## svnserve.conf是本版本库的配置文件
    

    使用一个密码文件和权限文件管理所有版本库

    cp svn_1/conf/passwd passwd
    cp svn_1/conf/authz authz
    

    使用svn目录下的passwd和authz文件管理所有版本库

    ## 修改各个版本库的配置文件
    vim /svn_1/conf/svnserve.conf
    ## 不允许匿名
    anon-access = none
    auth-access = write
    ## 密码文件位置
    password-db = ../../passwd
    ## 权限文件位置
    authz-db = ../../authz
    
    ## 添加用户名, 密码
    vim /data/svn/passwd
    admin = 123456
    user = 123456
    noauthz = 123456
    
    ## 权限配置
    vim /data/svn/authz
    [groups]
    g_admin = admin
    g_user = user
    [svn_1:/]
    @g_admin = rw
    [svn_1:/user]
    @g_user = rw
    [svn_1:/user/noauthz]
    noauthz =
    

    权限使用自底而上的方式进行控制,如果在当前目录下无法找到该用户的权限, 则查看上一级目录是否有权限
    ,直到根目录位置,例如上例:
    - 查看user用户的权限
    1. 在访问noauthz目录时,没有user的权限配置,向上一级查看
    2. 在user目录由user用户的权限配置,是读写, 因此,user用户具有noauthz目录的权限;
    - 查看nozuthz用户的权限
    1. 访问noauthz目录, noauthz没有读写该文件的权限,所以noauthz用户没有noauthz目录权限;

    启动

    svnserve -d -r /data/svn
    -d 后台运行
    -r svn的根目录

    开机启动

    chkconfig --list | grep svnserve
    svnserve        0:关闭  1:关闭  2:关闭  3:关闭  4:关闭  5:关闭  6:关闭
    chkconfig svnserve on
    svnserve        0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭
    

    查看在/etc/init.d/svnserve的启动脚本文件,有如下代码:

    if [ -f /etc/sysconfig/svnserve ]; then
        . /etc/sysconfig/svnserve
    fi
    
    ## 增加配置文件
    touch /etc/sysconfig/svnserve
    ## 增加内容
    OPTIONS="-r /data/svn/"
    ## 这样下次开机就可以自动启动svn服务器了
    

    小技巧

    • ip改变后,修改svn地址
      svn switch --relocate svn://192.168.0.253/xxx svn://192.168.0.100/xxx --username xxx --password xxx

    HTTP支持

    svnsverve和http使用不同的密码文件

    安装

    ## apr,apr-util很关键
    yum install httpd apr apr-util httpd-devel
    yum install mod_dav_svn
    

    修改权限

    chown apache:apache /data/svn -R
    

    生成密码

    cd /data/svn
    htpasswd http_passwd zm1
    htpasswd http_passwd zm2
    htpasswd http_passwd zm3
    

    配置

    ## vim /etc/httpd/conf.d/subversion.conf
    <Location /svn>
    DAV svn
    SVNParentPath /data/svn
    AuthType Basic
    AuthName "Authorization SVN"
    AuthzSVNAccessFile /data/svn/authz
    AuthUserFile /data/svn/http_passwd
    Require valid-user
    </Location>
    

    重启

    service httpd restart
    

    SVN+SSH

    客户端设置

    • 设置->Network->ssh client->TortoisePlink.exe
    • 下载putty, 使用PUTTYGEN.EXE将openssh2格式的密钥改成ppk格式的,使用PAGEANT.EXE增加密钥。

    svn authz

    在svn的authz目录中增加:

    [/]
    root = rw
    

    方法1

    ~/.ssh/authorized_keys对应的public key前面增加如下:

    ## /data/svn为svn的根目录
    command="/usr/bin/svnserve -t -r /data/svn --tunnel-user=root",no-port-forwarding,no-pty,no-agent-forwarding,no-X11-forwarding
    

    例如:

    command="/usr/bin/svnserve -t -r /data/svn --tunnel-user=root",no-port-forwarding,no-pty,no-agent-forwarding,no-X11-forwarding ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAwEXTRkzM+/R8NTIY34ZJDg8/UeXTr+2oFX2PPiCazqwUKiD55EzgMcvaZKvGZ9LcswuNc26febwZEfnQDl0HxbIlH+5tlDGk35A/WrLsi3uekTjkIDIw3Do2xb9QlnDtYXRs24lHExdJQJvV7fOdoG9ZCcdX+bU63q3Qj5DfFCpjmw5ocCVcvWTOOIG2wT++0Jxr6W3vBu6fuCVFq6siOEzXEBRx63pj7uYRNvCs6GsgbQnyKNRyZSiouyrb/qRj1AbqRWGBr8kEofgwwnP3xO61pyovZLOrJ9FsjUxTLaGACoGJioOgu4vqywYXnX3TYnYWgx7MPXb/ayhZtHXHqQ== kingwen@kingwen
    

    使用svn co svn+ssh://root@192.168.1.245/p1 检出项目
    此种方式该public key将不能登录ssh

    方法2

    直接使用绝对路径checkout项目:

    ## /data/.svn_repos/p1为项目的绝对路径
    svn co svn+ssh://root@192.168.1.245/data/.svn_repos/p1
    

    下面是广告时间
    fanbiya Q1重低音电脑mp3手机通用线控入耳式运动耳塞式带麦耳机 低至 9.99元
    精致女人坊精品服饰

    相关文章

      网友评论

          本文标题:CENTOS6下SVN安装配置

          本文链接:https://www.haomeiwen.com/subject/vjbedttx.html