[记录]CentOS搭建SVN服务器(主从同步)

[记录]CentOS搭建SVN服务器(主从同步)

CentOS搭建SVN服务器(主从同步)
1.安装步骤如下:
1)安装:
#yum install subversion
2)查看安装位置:
#rpm -ql subversion
3)查看版本:
#/usr/bin/svnversion --version
2.创建svn版本库目录
#mkdir -p /var/svn/svnrepos
3.创建版本库
#svnadmin create /var/svn/svnrepos
4.进入/var/svn/svnrepos/conf目录
1)authz文件是权限控制文件
2)passwd是帐号密码文件
3)svnserve.conf SVN服务配置文件
5.设置帐号密码,在[users]块中添加用户和密码,格式:帐号=密码,如test=test
#vi passwd
[users]
test=test
6.设置权限
#vi authz
[/]
test=rw
test1=r
#意思是版本库的根目录test对其有读写权限,test1只有读权限。
7.修改svnserve.conf文件
#vi svnserve.conf
#打开下面的几个注释:
anon-access = read #匿名用户可读
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm = /var/svn/svnrepos # 认证空间名,版本库所在目录
8.启动svn版本库
svnserve -d -r /var/svn/svnrepos
9.在Windows上测试
10.svn主从
server1: 192.168.1.2
server2: 192.168.1.3
首先在sever1和sever2上搭建好svn,现在的目的是将server1同步备份到server2
1)修改hooks文件:
#cp /var/svn/svnrepos/hooks/pre-revprop-change.tmpl /var/svn/svnrepos/hooks/pre-revprop-change
#cat /var/svn/svnrepos/hooks/pre-revprop-change
#!/bin/bash

echo "Changing revision properties other than svn:log is prohibited" >&2
exit 0
2)在server1上直接运行:
#svnsync init svn://192.168.1.2/var/svn/svnrepos svn://192.168.1.3/var/svn/svnrepos --username test --password test
3)上一步成功之后,以后就可以直接同步了:
#svnsync sync svn://192.168.1.2/var/svn/svnrepos
4)为了让server1每次有更新之后都自动同步到server2,可以在server1的commit的hooks最后加上执行一下同步的命令(或者使用脚本定时执行):
#svnsync sync svn://192.168.1.2/var/svn/svnrepos