1、安装svn
#yum install mod_dav_svn subversion
2、建立 SVN的根目录
#mkdir -p /opt/svn/
3、建立一个数据仓库
#mkdir -p /opt/svn/wwwroot/
#svnadmin create /opt/svn/wwwroot/
4、修改配置文件 标粗字体
#cd /opt/svn/wwwroot/conf/
#vi svnserve.conf
[general]
anon-access = none #不允许匿名访问
auth-access = write #认证用户可写
password-db = passwd #密码文件
authz-db = authz #用户验证文件
#vi authz
[test:/]
user1= rw
#vi passwd
user1= user1777
5、启动服务
#svnserve -d -r /opt/svn/
6、查看进程,如果要关闭svn,杀掉对应进程,kill -9 1867即可
#ps -A | grep svn
1867 ? 00:00:00 svnserve
到这一步,就可以使用svn客户端TortoiseSVN,然后使用新建的帐号进行代码提交更新了
如果要可以通过http直接访问svn项目,则继续往下
7、配置svn提交钩子
#cd /opt/svn/wwwroot/hooks/
#cp post-commit.tmpl post-commit
#vi post-commit
#将里面的所有代码注释掉,然后输入如下代码:
#!/bin/bash
export LANG=en_US.UTF-8
REPOS="$1"
REV="$2"
cd /var/www/html/svn1/wwwroot/
/usr/bin/svn cleanup
/usr/bin/svn up /var/www/html/svn1/wwwroot/ --username "user1" --password "user1777"
先在/var/www/html/svn1/wwwroot/使用checkout命令,使用svn客户端提交几个文件
在服务器的www目录看是否自动更新了,之后即可使用http访问
注意事项
1、防火墙必须打开svn端口3690
2、同步到的www目录必须先checkout才能使用svn命令
3、post-commit钩子脚本、同步的www目录必须有写入权限
4、svn命令svn checkout svn://192.168.10.111/wwwroot注意会把整个wwwroot文件夹一起checkout