iF.svnadmin 官网:http://svnadmin.insanefactory.com/
安装配置iF.svnadmin : http://blog.linhere.com/archives/214.html
版本:iF.svnadmin 1.6.2
配置文件:/etc/httpd/conf.d/subversion.conf
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /svn>
DAV svn
SVNParentPath /home/svn
AuthType Basic
AuthName "Restricted Access"
AuthUserFile /home/svnconfig/passwdfile
AuthzSVNAccessFile /home/svnconfig/accessfile
Require valid-user
</Location>
/home/svn 目录及其子目录 的属主、属组 都改为了 apache
输入用户和密码,报403错误:
百思不得其解啊!!!
后来,查apache的错误日志,有如下记录:
[Tue May 31 18:09:10.413997 2016] [authz_svn:error] [pid 19001] [client 192.168.1.202:60352] Failed to load the AuthzSVNAccessFile: An authz rule refers to group '@', which is undefined
查看/home/svnconfig/accessfile :
[groups]
web=test_svn
[test_svn:/]
@test_svn=rw
@=
终于找到错误了。
/home/svnconfig/accessfile 本来是空文件,里边的配置都由iF.svnadmin 负责配置,结果发现它配置错了。
"@=" 不能这么配置的,apapche会无法识别的,会认为有group没有定义。
解决方法:
删除 @= 这一行
重启httpd
如果你遇到这种奇怪的情况:已经将某用户加入了用户组,也设置了该用户组对某项目的管理权限,但是该用户还是没有权限访问。
可以去查下apache的错误日志和/home/svnconfig/accessfile 文件,看看是不是也是因为上述原因引起的。