1.安装:yum install subversion
2:测试:svnserve --version
3.mkdir /svn/repos
4. svnadmin create /svn/repos,repos就相当于是一个项目
5. 在/svn/repos/conf目录下,编辑passwd,authz,svnserve.conf
authz内容
[groups]
admin = fyq
[/]
@admin = rw
yl=rw
passwd内容
[users]
fyq = 123456
yl=123456
svnserve.conf内容
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
去掉注释就可以了,#号后面的空格也要去掉,每行要顶格
6.可以指定端口启动svn,端口随意指定,只要在防火墙打开就行了
svnserve -d -r /svn/repos --listen-port 8899
注意要去防火墙打开8899端口
vim /etc/sysconfig/iptables
加入一行:-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8899 -j ACCEPT
7.重启的命令
killall svnserve
svnserve -d -r /svn/repos --listen-port 8899
自动启动svn:
1.vim /etc/rc.local
2.加入svnserve -d -r /svn/repos --listen-port 8899
8.连接服务器svn
svn://your server address (如果指定端口需要添加端口 :端口号)
如:svn://192.168.0.105:8899
下面介绍如何同步项目变更到web目录
cd /svn/repos/hooks
cp post-commit.tmpl post-commit
chmod +x post-commit
vim post-commit
参考下面的内容设置
#设定环境变量,如果没有设定可能会出现update报错
export LANG=zh_CN.UTF-8
#设定语言,根据系统语言设置,如果是UTF-8 就设置为 LANG=zh_CN.UTF-8
SVN_PATH=/usr/bin/svn
WEB_PATH=/usr/local/apache/htdocs
$SVN_PATH update svn://127.0.0.1:8899 $WEB_PATH --username fyq --password 123456 --no-auth-cache
username和password是在passwd文件中设置的用户名和密码
重启svn服务
进入你要同步的web目录,执行svn checkout命令,
svn checkout svn路径 当前目录(path是服务器上的目录)
例如:svn checkout svn://192.168.1.1:8899 ./
然后再执行一下svn update命令
如果出现Username 某某某 can`t read stdin.......的错误
可以进入到你要同步的web目录下,执行svn list,首先输入centos系统密码,然后重新设定用户名和密码,要和post-commit中保持一致。