1 检查是否安装了SVN:# rpm -qa subversion
2 卸载旧版本SVN: # yum remove subversion
3 安装SVN:# yum install subversion
4. 安装完成之后我们来创建版本库目录:#mkdir -p /data/svn/
5.然后启用:#svnserve -d -r /data/svn
6.然后查看是否启动了:# lsof -i:3690
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
svnserve 8454 root 3u IPv4 1346200 0t0 TCP *:svn (LISTEN)
7.新建版本:mkdir -p /data/svn/test/
svnadmin create/data/svn/test/
8.进入conf目录配置该版本库的文件
authz 是权限控制文件
passwd 是帐号密码文件
svnserve.conf 是SVN服务配置文件
配置passwd,语法:用户名=密码
[users]
test1=123456
test2=123456
配置authz用户权限文件
[/]
test1= rw
test2 = r
配置svnserve.conf文件,取消以下几个注释即可
anon-access =read #匿名用户可读
auth-access =write#授权用户可写
password-db =passwd#使用哪个文件作为账号文件
authz-db =authz #使用哪个文件作为权限文件
realm= /home/svnroot/test #认证空间名,版本库所在目录
9.这样我们便配置好了;要使用启生效,重启SVN:
ps -ef|grep svn
kill -9 PID
svnserve -d -r /data/svn
然后再检测:sof -i:3690
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
svnserve 8454 root 3u IPv4 1346200 0t0 TCP *:svn (LISTEN)
10.使用 svn 命令查看是否能够正常 check out
# svn co svn://192.168.11.229/test
如果有防火墙,记得开放 3690 端口
11.实现自动同步
假设web目录是 /home/www/test 在/data/svn/test/hooks下创建post-commit文件,文件设置可执行权限
cppost-commit.tmpl post-commit chmod 755 post-commit
打开post-commit文件,加入以下内容 :
#!/bin/bash
export LANG=zh_CN.UTF-8
svn co svn://你的ip地址/test
LOG_PATH=/tmp/svn_test.log
WEB=/home/www/test
REPOS="$1"
REV="$2"
svn update--username test1 --password 123456 $WEB --no-auth-cache >> $LOG_PATH
即可实现自动同步。