CentOS下安装SVN服务器

1.安装SVN

yum list svn*
yum install subversion

2.测试SVN安装

svnserve --version

3.创建三个代码仓库

svnadmin create /data/svnhome/project1
svnadmin create /data/svnhome/project2
svnadmin create /data/svnhome/project3

4.切换目录到/data/svnhome/project1/conf目录下

cd/projcet1/conf

5.复制project1文件中的authz、passwd两个文件拷贝到SVN仓库的根文件夹

cp authz passwd /data/svnhome/

6.修改svnserve.conf文件

vim svnserve.conf

修改成如下:

anon-access = none              //禁止匿名访问 
auth-access = write 
password-db = /data/svnhome/passwd  //统一使用密码文件 
authz-db = /data/svnhome/authz 
realm = project1              //权限域名,很重要,写你的工程名

7.同理修改project2、project3两个目录的配置文件,只修改realm这个属性即可

8.修改主密码文件

vim /data/svnhome/passwd
[users]
test = test

9.修改权限文件

vim /data/svnhome/authz
[/]                      //管理者拥有所有读写权限
test = rw

10.重起SVN服务器

killall svnserve        // 杀死SVN服务器
svnserve -d -r /data/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 domain.name 3690

下面是具体用户权限的配置:

修改两个权限管理文件:

passwd

//用户名=密码

[users]

eg1=123

eg2=123

eg3=123

eg4=123

eg5=123

eg6=123

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

相关推荐