帶有 Apache 2.2 錯誤的 SVN:“禁止您無權訪問此伺服器上的 /repos”
我一直在關注這個 svn 安裝指南,當我嘗試訪問我的測試儲存庫時
http://localhost/repos
,我成功地進行了身份驗證,但後來我得到了這個:"Forbidden You don't have permission to access /repos on this server"
這是我的 subversion.conf 文件:
LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so <Location /repos> DAV svn SVNParentPath /var/www/svn/repos # # # Limit write permission to list of valid users. # <LimitExcept GET PROPFIND OPTIONS REPORT> # # Require SSL connection for password protection. # # SSLRequireSSL # AuthType Basic AuthName "Subversion repos" AuthUserFile /etc/svn-auth-conf Require valid-user # </LimitExcept> </Location>
我的路徑是 /var/www/svn/repos ,這是我的權限
[root@localhost svn]# ls -la repos/ total 32 drwxr-xr-x. 6 apache apache 4096 Aug 24 11:42 . drwxr-xr-x. 3 root root 4096 Aug 24 11:42 .. drwxr-xr-x. 2 apache apache 4096 Aug 24 13:50 conf drwxr-sr-x. 6 apache apache 4096 Aug 24 11:42 db -rwxr-xr-x. 1 apache apache 2 Aug 24 11:42 format drwxr-xr-x. 2 apache apache 4096 Aug 24 11:42 hooks drwxr-xr-x. 2 apache apache 4096 Aug 24 11:42 locks -rwxr-xr-x. 1 apache apache 229 Aug 24 11:42 README.txt
如果我去 localhost/repos/README.TXT 我會收到這條消息。
<D:error><C:error/><m:human-readable errcode="20"> Could not open the requested SVN filesystem </m:human-readable></D:error>
任何其他文件名
errcode ="2"
代替。selinux 設置為 permissive,我可以看到位於 var/www/html/index.html 的 localhost/index.html 文件就好了。
我已經閱讀了幾個有類似問題的fozen論壇文章,但無濟於事。
任何想法,將不勝感激!
編輯1:
我編輯了我的 subversion.conf 文件以更改
SVNParentPath /var/www/svn/repos
為,SVNParentPath /var/www/svn
但它似乎沒有效果。編輯2:
Brain99 做到了。更改以
Location />
解決問題,現在我得到了repos - Revision 0: /
Powered by Subversion version 1.6.11 (r934486).
您似乎混淆了 SVNPath 和 SVNParentPath 指令。
從您發布的內容來看,它似乎
/var/www/svn/repos
包含一個儲存庫。在這種情況下,使用SVNPath /var/www/svn/repos
只有當您有多個儲存庫時,您才應該使用 SVNParentPath。然後,每個單獨的儲存庫都應位於您在此處配置的目錄的子文件夾中。
因此,要麼將其設置為父目錄:
SVNParentPath /var/www/svn
或者保持配置不變並將目前儲存庫移動到子目錄,例如 /var/www/svn/repos/myRepo
有關使用 mod_dav_svn 的更多資訊,請查看 mod_dav_svn 上的SVN Book 部分