基于Apache的Subversion权限配置

      由于我搭建的Subversion服务是基于Apache的,所以配置Subversion的权限,实际上就是配置Apache相关服务的访问权限。

      翻看了一下TortoiseSVN的手册,发现配置过程很简单。

      首先,打开Apache所在目录,进入conf目录,打开httpd.conf。在httpd.conf文件里,确保以下行已经添加:

 

<Location /svn>
      DAV svn
      SVNListParentPath on
      SVNParentPath D:/SVN
      #SVNIndexXSLT "/svnindex.xsl"
      AuthType Basic
      AuthName "Subversion repositories"
      AuthUserFile passwd
      #AuthzSVNAccessFile svnaccessfile
      Require valid-user
</Location>

 

      然后将"#AuthzSVNAccessFile svnaccessfile"这一行的注释去掉,表示使用访问控制文件。

 

      接下来就是编写访问控制文件svnaccessfile了。

      手册提供了一个例子:

 

[groups]
admin = john, kate
devteam1 = john, rachel, sally
devteam2 = kate, peter, mark
docs = bob, jane, mike
training = zak
# Default access rule for ALL repositories
# Everyone can read, admins can write, Dan German is excluded.
[/]
* = r
@admin = rw
dangerman =
# Allow developers complete access to their project repos
[proj1:/]
@devteam1 = rw
[proj2:/]
@devteam2 = rw
[bigproj:/]
@devteam1 = rw
@devteam2 = rw
trevor = rw
# Give the doc people write access to all the docs folders
[/trunk/doc]
@docs = rw
# Give trainees write access in the training repository only
[TrainingRepos:/]
@training = rw

 

      按照这个例子改巴改巴,就OK了。只是有一点要注意,就是svnaccessfile文件的[groups]里面的用户名跟httpd.conf文件的"AuthUserFile passwd"行所指定的passwd文件里面的用户要对应。最后,重启Apache服务。

 

      关于svnaccessfile文件里面的目录,当然[/]指的就是<Location /svn>行所指URL的根目录。不过有个地方我不明白,就是像[proj2:/]这种目录是什么意思。因为不懂,所有我没有用到这种格式。希望知道的人指点指点,呵呵。

      刚刚发现,很郁闷的一点,svnaccessfile文件里面的目录不支持中文。不知有没有高手能解决这个问题?

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值