Apache-2.2

apache svn 伺服器的問題(403 Forbidden)

  • February 21, 2014

我最近在我的 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 文件。

引用自:https://serverfault.com/questions/133959