CentOS 6.5 x64安装svn

发布时间:2017-11-11 14:22:19编辑:admin阅读(4983)

    #svn安装
    yum install -y subversion
    卸载svn旧版本
    yum remove -y subversion
    wget http://pkgs.repoforge.org/subversion/subversion-1.7.4-0.1.el6.rfx.x86_64.rpm

    安装新版本
    rpm -ivh subversion-1.7.4-0.1.el6.rfx.x86_64.rpm

    创建svn根目录
    mkdir /svndata
    创建svn公共配置目录
    mkdir -p /usr/local/subversion/conf
    cd /usr/local/subversion/conf

    编辑用户文件authz
    内容如下:

    [groups]
    backend=zty
    [/]
    whh=rw
    @backend=rw
    解释:
    backend是代表一个用户组,@backend=rw表示用户组有读写权限。
    whh是用来跑钩子脚本的用户,名字大家可以随便取,下面会说到钩子脚本。
    如果需要添加用户zhang,修改backend=zty,在后面加上即可,多个用户用逗号隔开,效果如下:
    backend=zty,zhang

    编辑密码文件passwd
    内容如下:
    [users]
    whh = whh
    zty = zty123
    解释:
    等号左边是用户,等号右边是密码

    创建bin目录
    mkdir -p /usr/local/subversion/bin
    链接文件
    ln -s /usr/bin/svn /usr/local/subversion/bin/svn

    创建svn根目录
    mkdir /svndata
    创建svn日志目录
    mkdir /var/log/svn
    创建dts项目检出目录,此目录必须是空的。
    一般svn服务器和网站服务器是在同一服务器上面的。
    网站服务器的根目录为/www,所以dts项目从svn检出的路径也在/www目录下。
    一旦客户端提交代码,访问网页,就可以看到效果。
    mkdir /www/dts

    创建项目
    cd /svndata
    svnadmin create dts

    编辑配置文件
    cd /svndata/www/dts/conf/
    编辑配置文件svnserve.conf
    清空所有内容
    写入如下内容:
    [general]
    anon-access = none
    auth-access = write
    password-db = /usr/local/subversion/conf/passwd
    authz-db = /usr/local/subversion/conf/authz
    realm = web

    [sasl]
    # use-sasl = true
    # min-encryption = 0
    # max-encryption = 256
    指定用户和密码配置文件为公共目录。如果新建项目的也指定为公共目录,只需要修改公共目录的文件,使用指定用户和密码,就可以访问其他相关项目。
    在项目众多,人员权限统一的情况下,是很有必要的。
    假如公司有60多个项目,新来一个员工,要添加一个账户,每个项目改配置很费劲。
    如果都指定为公共目录,那就只需要更改authz和passwd这2个文件就可以了。

    编辑钩子文件,默认post-commit文件不存在
    vim /svndata/www/dts/hooks/post-commit
    内容如下:

    #!/bin/sh

    /usr/local/subversion/bin/svn update --username whh --password whh /www/dts/ >> /var/log/svn/dts.log

    设置权限
    chmod 755 /svndata/www/dts/hooks/post-commit
    这里解释下,钩子脚本的作用。
    当客户端提交文件成功之后,会自动执行post-commit。将更新的代码检出到指定目录,保证提交的代码和服务器一致。
    需要注意的是,不要直接在服务器的指定目录,这里是指/www/dts/ 编辑文件,否则客户端提交文件之后,提示文件冲突。

    启动svn
    svnserve -d -r /svndata

    注意,必须要手动检出一份,否则post-commit不生效
    svn co file:///svndata/www/dts/ /www/dts/
    再次执行命令
    /usr/local/subversion/bin/svn update --username whh --password whh /www/dts/

    使用svn客户端上传代码测试
    查看服务器/www/dts/目录是否有上传的文件

关键字

上一篇: 没有了

下一篇: svn备份