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/svn

 

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 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