问题与Apache的SVN服务器(403禁止)

Iv最近在我的papache webserver上设置了一个SVN服务器。 我安装了USVN http://www.usvn.fr/来帮助pipe理Web界面的存储库。

当我创build一个存储库,并尝试从netbeans导入代码,我得到以下错误: org.tigris.subversion.javahl.ClientException: RA layer request failed Server sent unexpected return value (403 Forbidden) in response to PROPFIND request for '/svn/python1'

我知道我有正确的用户名和密码(我已经尝试了不同的用户)我已经做了一些研究,似乎它很可能是一个Apache SVN错误。 下面是这个虚拟主机的configuration文件。

 <VirtualHost *:80> ServerName svn.domain.com ServerAlias www.svn.domain.com ServerAlias admin.svn.domain.com DocumentRoot /home/mrlanrat/domains/svn.domain.com/usvn/public ErrorLog /var/log/virtualmin/svn.domain.com_error_log CustomLog /var/log/virtualmin/svn.domain.com_access_log combined DirectoryIndex index.html index.htm index.php index.php4 index.php5 <Directory "/home/mrlanrat/domains/svn.domain.com/usvn"> Options +SymLinksIfOwnerMatch AllowOverride All Order allow,deny Allow from all </Directory> <Location /svn/> ErrorDocument 404 default DAV svn Require valid-user SVNParentPath /home/mrlanrat/domains/svn.domain.com/usvn/files/svn SVNListParentPath on AuthType Basic AuthName "USVN" AuthUserFile /home/mrlanrat/domains/svn.domain.com/usvn/files/htpasswd AuthzSVNAccessFile /home/mrlanrat/domains/svn.domain.com/usvn/files/authz </Location> </VirtualHost> 

任何人都可以指出我可能做错了什么,如何解决它? 我已经testing了更改文件权限并更改configuration没有运气。

提前致谢!

更新:这是/home/mrlanrat/domains/svn.domain.com/usvn/files/authz的内容

 # This is an auto generated file! Edit at your own risk! # You can edit this "/" section. Settings will be kept. # [/] * = # # Don't edit anything below! All manual changes will be overwritten. # [groups] python1 = mrlanrat, user # Project python1 [python1:/] @python1 = r [python1:/branches] @python1 = rw [python1:/trunk] @python1 = rw 

这里是/home/mrlanrat/domains/svn.domain.com/usvn/files/htpasswd

 mrlanrat:***** user:***** 

这里是访问日志: http : //pastebin.com/RRYL1kCx这里是错误日志: http : //pastebin.com/vR2MJj0v

感兴趣的部分在这里:

 [Wed Apr 21 12:13:25 2010] [error] [client 209.129.37.170] user not found: /svn/test/trunk [Wed Apr 21 12:13:25 2010] [error] [client 209.129.37.170] client denied by server configuration: /home/mrlanrat/domains/svn.domain.com/usvn/public/svn 

通过networking浏览器login似乎工作,但netbeans和其他svn客户端都得到403错误。

我有同样的问题,我已经红了,没有可能禁用定义的虚拟主机的mod_evasive。

以下“解决方法”configuration适用于svn:

改变:/etc/apache2/mods-available/mod-evasive.load

整个文件:

LoadModule evasive20_module /usr/lib/apache2/modules/mod_evasive20.so
<如果模块mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 5
DOSSiteCount 15
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 600
</ IfModule>

更改之后,您必须重新启动Apache:
/etc/init.d/apache2重新启动

玩的开心

你的/home/mrlanrat/domains/svn.domain.com/usvn/files/authz文件是什么样的?

我看起来像这样:

 [groups] everyone = user1, user2, user3 repo1users = user1 [/] @everyone = r [repo1:/] @repo1users = rw 

我们之前遇到过这样的问题,主要是错误地configuration了authz文件。

经过一整天的谷歌search和发现各种问题,可能会导致这个403错误,其中没有哪一个是我的。 我终于find了我的问题!

我在Apache中启用了mod_evasive。 显然,SVN / WED-DAV发送命令的速度太快,以至于被阻塞。

所以回到解决scheme! 禁用mod_evasive! 🙂

如果有人知道只有一个虚拟主机的方法,请让我知道。 我仍然喜欢它为我的其他虚拟主机启用。

谢谢!