1.安装svn软件
yum -y install mod_dav_svn
2.创建svn的数据和认证目录
mkdir -p /svn/svndata ///创建svn库目录
mkdir -p /svn/svnpasswd ///创建svn认证目录
svnserve -d -r /svn/svndata/ ///-d为daemon -r 指设置虚拟根对于svnserve库
lsof -i:3690 ///检测svn进程是否启动
3.修改配置文件
svnadmin create /svn/svndata/paixian ///svn子库目录
cd /svn/svndata/paixian/conf/ ///svn的paixian子库的配置文件目录
cp svnserve.conf svnserve.conf ///备份paixian子库的默认配置文件
vi svnserve.conf ///修改配置文件,内容如下
[root@min min]# cat/svn/svndata/paixian/conf/svnserve.conf|egrep -v ‘#|^$‘
[general]
anon-access = none ///不允许authz里面用户以外的用户登录
auth-access = write ///认证用户可写
password-db = /svn/svnpasswd/passwd ///指定paixian子库的默认认证密码路径
authz-db = /svn/svnpasswd/authz ///指定paixian子库的默认认证用户和组权限的路径
realm = /svn/svndata/paixian ///子库路径
[sasl]
4.修改认证
cp authz passwd /svn/svnpasswd/ ///备份默认的认证到指定路径
cd /svn/svnpasswd/ ///进入认证目录
vi passwd ///添加用户和密码,如下
[root@min min]# cat /svn/svnpasswd/passwd|egrep -v ‘^#|^$‘
[users]
user1 = 123.com
user2 = 456.com
user3 = 789.com
vi authz ///创建组和目录对组的权限,如下
[root@min min]# cat /svn/svnpasswd/authz|egrep -v ‘^#|^$‘
[aliases]
[groups]
admin = user1
guest = user2,user3
[/]
@admin = rw
guest = r
5.利用挂钩脚本,把客户端的更新挂钩到某个目录
mkdir /home/code_new ///创建客户端同步目录
cd /home/code_new/ ///进入客户端同步目录
svn co file:///svn/svndata/paixian . ///导出库文件到同步目录
cp/svn/svndata/paixian/hooks/post-commit.tmpl/svn/svndata/paixian/hooks/post-commit
vi /svn/svndata/paixian/hooks/post-commit ///修改挂钩,如下
[root@min min]# cat /svn/svndata/paixian/hooks/post-commit|egrep-v ‘#|^$‘
export.UTF-8
REPOS="$1"
REV="$2"
TXN_NAME="$3"
cd /home/code_new && /usr/bin/svnupdate --username user1 --password 123.com
客户端安装个小乌龟,运行svn://192.168.1.136/paixian
再认证就能使用svn了
6.再利用inotify+rsync来实现实时同步到web根目录,操作见
http://10554846.blog.51cto.com/10544846/1693630
多谢一下文章的指导
http://user.qzone.qq.com/40693693/2
http://studys.blog.51cto.com/9736817/1668965
本文出自 “创新分享驰骋里外” 博客,请务必保留此出处http://10554846.blog.51cto.com/10544846/1695068
原文地址:http://10554846.blog.51cto.com/10544846/1695068