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
相关推荐
pub_svnserve.conf的 pub_authz.conf的配置文件有非法字符的原因引起,需要查找pub_authz.conf提的非法内容比如多余的空格删除或直接将pub_authz.conf