Centos6.8安装svn 并同步到web

2019-08-23 16:58:43 浏览数 (1)

这些天帮朋友的云服务器配置svn,并要实现svn与web同步,昨天折腾了一天,没有没能折腾出来,不是这里报错就是那里报错了,网上找资料,测试,网上找资料,再测试,就这样来来回回折腾了好久,后面终于走通了,再次留下笔记,已供后面参考。

1、安装svn

yum install subversion

2、 查看是否安装成功

svnserve --version

3、创建仓库目录

mkdir -p /home/svn/test

4、创建项目,test是你的项目名称

svnadmin create /home/svn/test

5、项目创建完成后,修改配置文件

vim /home/svn/test/conf/svnserve.conf 以下所有前面不能有空格 ,就是这个地方踩坑了

anon-access = none #去除文件前的注释,将read改为none,防止匿名访问 auth-access = write #去除文件前的注释 password-db = passwd #去除文件前的注释 authz-db = authz #去除文件前的注释,访问权限配置,非常重要,不打开,分组权限不生效 realm = /home/svn # 认证空间名,版本库所在目录 (默认当前目录)

6、打开用户配置文件,编辑 创建账户、密码

vim /home/svn/test/conf/passwd

[users]

user=paw

7、打开权限配置 设置添加的用户权限

vim /home/svn/test/conf/authz

代码语言:javascript复制
 [groups] 
qm = albert #<用户组> = <用户名,用户名> 
[test:/] #[<版本库名>:<路径>] 
@qm = rw #<用户组> = <权限>

8、防火墙开放SVN端口通行,云服务器请确保安全组里面开放了3690端口

iptables -A INPUT -p tcp --dport 3690 -j ACCEPT

9、保存 iptables 规则,如不能保存请使用其他方法保存

service iptables save service iptables restart #保存后重启防火墙-

ps -ef|grep svn|grep -v grep #查看svn进程

10、开启SVN服务

svnserve -d -r /home/svn

killall svnserve #停止SVN服务,需要的时候执行

svn同步到web 1、进入/home/svn/test/hooks下,拷贝文件

cp post-commin.tmpl post-commit 最后写入

export LANG=zh_CN.UTF-8

REPOS="$1"

REV="$2" SVN_PATH=/usr/bin/svn WEB_PATH=/data/wwwroot/www.test.com $SVN_PATH update --username username --password userpaw $WEB_PATH --no-auth-cache chown -R www:www $WEB_PATH

2、给钩子文件赋予可执行权限

chmod x post-commit

3、执行最后的语句,完成搞定

svn co svn://localhost/chihuo /data/wwwroot/chihuo.ikoll.cn --username username --password userpaw

0 人点赞