1、安装
yum install subversion
2、查看安装位置
rpm -ql subversion
3、创建svn版本库目录
mkdir -p /var/svn/hand
4、创建版本库
svnadmin create /var/svn/hand
5、进入conf目录(该svn版本库配置文件)
authz文件是权限控制文件
passwd是帐号密码文件
svnserve.conf SVN服务配置文件
6、设置帐号密码
vi passwd
在[users]块中添加用户和密码,格式:帐号=密码,如rafael=123456
7、设置权限
vi authz
在末尾添加如下代码:
[group]
hand = rafael
[/]
@hand = rw
意思是用户组hand对版本库的根目录对其有读写权限,w只有读权限。
8、修改svnserve.conf文件
vi svnserve.conf
打开下面的几个注释:
anon-access = none #匿名用户不可操作
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm = Hand Respository # 认证空间名
9、启动svn版本库
svnserve -d -r /var/svn/hand
10、关闭SVN版本库
ps ef|grep svnserve
找到进程ID,例如上图为1433。执行命令:
kill -9 1433
即可停用SVN版本库服务。
使用中常见的问题:
1.外部系统无法访问,本例中尝试使用TortoiseSVN客户端连接 svn://192.168.1.168/
报错:authorization failed
检查了一下应该是防火墙的问题。
设置防火墙的开放端口:
vi /etc/sysconfig/iptables-config
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3690 -j ACCEPT
运行:
/sbin/iptables -I INPUT -p tcp --dport 3690 -j ACCEPT
最后去windows上执行telnet 192.168.1.168 3690
成功连接。此时再用TortoiseSVN客户端连接 svn://192.168.1.168/已经可以连接。
2.用TortoiseSVN客户端checkout报错
URL 'svn://192.168.1.168/hand' doesn't exist
解决办法:版本库为空,去创建一个hand的文件夹即可。