本节主要介绍基于Apache的Subversion权限配置问题,前面几节我们已经介绍了Subversion和Apache服务器搭建问题,大家应该已经掌握了,希望本文能教会你更多东西。由于我搭建的Subversion服务是基于Apache的,所以Subversion权限配置,实际上就是配置Apache相关服务的访问权限。翻看了一下TortoiseSVN的手册,发现配置过程很简单。首先,打开Apache所在目录,进入conf目录,打开httpd.conf。在httpd.conf文件里,确保以下行已经添加:
- <Location/svn>
- DAVsvn
- SVNListParentPathon
- SVNParentPathD:\SVN
- #SVNIndexXSLT"/svnindex.xsl"
- AuthTypeBasic
- AuthName"Subversionrepositories"
- AuthUserFilepasswd
- #AuthzSVNAccessFilesvnaccessfile
- Requirevalid-user
- < span>Location>
然后将"#AuthzSVNAccessFilesvnaccessfile"这一行的注释去掉,表示使用访问控制文件。接下来就是编写访问控制文件svnaccessfile了。关于Subversion权限配置,手册提供了一个例子:
- [groups]
- admin=john,kate
- devteam1=john,rachel,sally
- devteam2=kate,peter,mark
- docs=bob,jane,mike
- training=zak
- #DefaultaccessruleforALLrepositories
- #Everyonecanread,adminscanwrite,DanGermanisexcluded.
- [/]
- *=r
- @admin=rw
- dangerman=
- #Allowdeveloperscompleteaccesstotheirprojectrepos
- [proj1:/]
- @devteam1=rw
- [proj2:/]
- @devteam2=rw
- [bigproj:/]
- @devteam1=rw
- @devteam2=rw
- trevor=rw
- #Givethedocpeoplewriteaccesstoallthedocsfolders
- [/trunk/doc]
- @docs=rw
- #Givetraineeswriteaccessinthetrainingrepositoryonly
- [TrainingRepos:/]
- @training=rw
按照这个例子改巴改巴,就OK了。只是有一点要注意,就是svnaccessfile文件的[groups]里面的用户名跟httpd.conf文件的"AuthUserFilepasswd"行所指定的passwd文件里面的用户要对应。最后,重启Apache服务。关于svnaccessfile文件里面的目录,当然[/]指的就是
【编辑推荐】
- MyEclipse6.0集成SVN及配置详解
- Subversion和TortoiseSVN如何在Windows下进行构建SVN版本控制
- 基于Java的svn客户端工具JavaSVN 1.1.0.beta发布
- 七步搞定Subversion服务器在Ubuntu下的配置
- Subversion日期解析函数缓冲区溢出漏洞