CentOS下搭建svn服务器

1.1 安装SVN服务器端
yum install subversion
1.2 查看是否安装成功
svnserve –version
2 创建SVN版本库
mkdir /opt/svn
mkdir /opt/svn/repos
svnadmin create /opt/svn/repos
3 配置SVN
创建版本库后,在/opt/svn/repos目录下会生成配置文件目录conf
cd /opt/svn/repos/conf
该目录下有 authz passwd svnserve.conf 三个配置文件
3.1 svnserve.conf文件
分别配置以下5项(顶格写,行开始处不留空格,下同):
anon-access = none 设置未认证用户无访问权限
auth-access = write 设置认证用户具有写权限
password-db = passwd 指定用户文件,该文件保存用户名和密码
authz-db = authz 指定权限配置文件,该文件可以细粒度的控制版本库某个文件或目录的访问
realm = /opt/svn/repos 指定版本库的认证域(认证命名空间),即在登录时提示的认证域名称
3.2 passwd文件
设置用户名和密码
realwall = 111111
3.3 authz文件

[groups]
project_p = pm
project_s = server1,server2,server3
project_c = client1,client2,client3
project_t = test1,test1,test1

[/]
realwall = rw
@project_p = rw
* =

[/server]
@project_p = rw
@project_s = rw
* =

[/client]
@project_p = rw
@project_c = rw
* =

[/doc]
@project_p = rw
@project_s = r
@project_c = r
@project_t = r
* =

说明:以上信息表示,只有project_p用户组有根目录的读写权。r表示对该目录有读权限,w表示对该目录有写权限,rw表示对该目录有读写权限。最后一行的* =表示,除了上面设置了权限的用户组之外,其他任何人都被禁止访问本目录。这个很重要,一定要加上!

配置authz时,注意svnserve启动参数-r所指定的目录,设repos1版本库路径为/opt/svn/repos1。
a.当-r直接指定某版本库(称为单库svnserve模式),即svnserve -d -r /opt/svn/
这种情况下一个svnserve只能为一个版本库工作,authz配置成
[repos1:/]
user1 = rw
就是错的,而应该是
[/]
user1 = rw
使用类似这样的URL:svn://192.168.0.1/ 即可访问project1。
b.当-r指定到版本库的上级目录(称之为多库svnserve方式),即svnserve -d -r /opt/svn
这种情况,一个svnserve可以为多个版本库工作,这时如果想限制指定库的指定目录,就应该指定具体的库,像这样
[repos1:/]
如果此时你还用[/],则表示所有库的根目录,同理,[/src]表示所有库的根目录下的src目录。
使用类似这样的URL:svn://192.168.0.1/project1 即可访问project1。
此外,对中文目录进行权限控制时,要将权限文件authz改为无BOM的utf-8格式。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值