CentOS 6.5 x64安装svn
时间:2015-11-11 20:45 来源:linux.it.net.cn 作者:IT
#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/目录是否有上传的文件
(责任编辑:IT)
#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/目录是否有上传的文件 |