1. 安装SVN
复制代码
代码如下:
yum list svn* yum install subversion
2. 测试SVN安装
复制代码
代码如下:
svnserve --version
3. 创建三个代码仓库
复制代码
代码如下:
svnadmin create /usr/svnhome/project1 svnadmin create /usr/svnhome/project2 svnadmin create /usr/svnhome/project3
4. 切换目录到/usr/svnhome/project1/conf目录下
复制代码
代码如下:
cd/projcet1/conf
5. 复制project1文件中的authz、passwd两个文件拷贝到SVN仓库的根文件夹
复制代码
代码如下:
cp authz passwd /usr/svnhome/
6. 修改svnserve.conf文件
复制代码
代码如下:
vim svnserve.conf
修改成如下:
复制代码
代码如下:
anon-access = none //禁止匿名访问 auth-access = write password-db = /usr/svnhome/passwd //统一使用密码文件 authz-db = /usr/svnhome/authz realm = project1 //权限域名,很重要,写你的工程名
7. 同理修改project2、project3两个目录的配置文件,只修改realm这个属性即可
8. 修改主密码文件
复制代码
代码如下:
vim /usr/svnhome/passwd [users] test = test
9. 修改权限文件
复制代码
代码如下:
vim /usr/svnhome/authz [/] //管理者拥有所有读写权限 test = rw
10. 重起SVN服务器
复制代码
代码如下:
killall svnserve // 杀死SVN服务器 svnserve -d -r /usr/svnhome
11. 放行SVN服务器的端口防火墙
删除无效的防火墙配置:
复制代码
代码如下:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
按以下方法设置防火墙:
复制代码
代码如下:
/sbin/iptables -I INPUT -p tcp --dport 3690 -j ACCEPT /etc/rc.d/init.d/iptables save
配置后查看:
复制代码
代码如下:
/etc/init.d/iptables status
客服端telnet成功,svn也可以访问了。
复制代码
代码如下:
telnet www.domain.name 3690
下面是具体用户权限的配置:
修改两个权限管理文件:
复制代码
代码如下:
passwd //用户名 = 密码 [users] eg1 = 123 eg2 = 123 eg3 = 123 eg4 = 123 eg5 = 123 eg6 = 123 </p>< p>authz [groups] //分组 admin = eg1,eg2 guest = eg3,eg4 guset1 = eg5,eg6 [/] //管理者拥有所有读写权限 * = @admin = rw [project1:/] //工程1的访问控制,guest1,2无法访问 @admin = rw 或 eg1 = rw eg2 = rw [project2:/] @guest = rw 或 eg3 = rw eg4 = rw [project3:/] @guest1 = rw 或 eg5 = rw eg6 = rw