apache svn 伺服器的問題(403 Forbidden)
我最近在我的 papache 網路伺服器上設置了一個 SVN 伺服器。我安裝了 USVN http://www.usvn.fr/以幫助從 Web 界面管理儲存庫。
當我創建一個儲存庫並嘗試從 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 錯誤。下面是這個虛擬主機的配置文件。
<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>
誰能指出我可能做錯了什麼以及如何解決?我已經測試了更改文件權限和更改配置但沒有運氣。
提前致謝!
更新:這是 /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
通過網路瀏覽器登錄似乎可以工作,但是 netbeans 和其他 svn 客戶端都出現 403 錯誤。
我遇到了同樣的問題,並且我認為不可能為已定義的虛擬主機禁用 mod_evasive。
以下“解決方法”配置適用於我的 svn。:
更改:/etc/apache2/mods-available/mod-evasive.load
整個文件:
LoadModule evasive20_module /usr/lib/apache2/modules/mod_evasive20.so
< If Module mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 5
DOSSiteCount 15
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 600
< /IfModule>
更改後您必須重新啟動 Apache:
/etc/init.d/apache2 restart
玩得開心
你的
/home/mrlanrat/domains/svn.domain.com/usvn/files/authz
文件是什麼樣的?我的看起來像這樣:
[groups] everyone = user1, user2, user3 repo1users = user1 [/] @everyone = r [repo1:/] @repo1users = rw
我們以前遇到過這樣的問題,主要是錯誤配置了 authz 文件。