2014-01-17 57 views
1

我建立了一個svn服務器,服務器地址爲http://www.oliverdavies.co.uk/blog/2011/10/install-and-configure-subversion-svn-server-ubuntu。我爲它創建了一個密碼,當使用Web瀏覽器查看時,它確實需要密碼,但是當我使用「svn checkout http://」時,我可以將存儲庫中的所有內容像無密碼一樣提取。有人知道這裏發生了什麼嗎?使svn結賬需要密碼

我/etc/apache2/apache2.conf中的配置包含同樣的事情,在上面提到的文章,這是

<Location /svn> 
    DAV svn 
    SVNParentPath /home/svn 
    AuthType Basic 
    AuthName "SVN Repositories" 
    AuthUserFile /etc/svn-auth 
    Require valid-user 
</Location> 

[!解決]事實證明,它可以解決通過將/etc/apache2/apache2.conf中的<location /svn>配置移動到/etc/apache2/mods-available/dav_svn.conf。

+0

發佈您的Apache配置? – TypeIA

+0

更新上面的/etc/apache2/apache2.conf,那是什麼意思? – chentingpc

+0

我沒有看到該配置有任何問題。 –

回答

0

我懷疑兩件事情之一:

無論你使用當前用戶帳戶來測試通過svn命令行命令版本庫,並已緩存的憑據;或者Apache httpd配置的其他部分允許訪問相同的目錄,繞過樣本中的svn身份驗證。

要測試前者,您可以嘗試these instructions或者您可以簡單地刪除整個~/.subversion目錄。如果後續svn co命令失敗,請求輸入密碼,那麼問題就解決了。

要測試後者,請將整個<Location /svn>塊註釋掉,然後嘗試通過svn co再次訪問它。如果你仍然可以,那麼httpd配置的其他部分提供對該目錄的訪問。在這種情況下,您需要仔細檢查您的配置(可以分佈在多個文件中)以查看可能允許訪問/home和/或/home/svn目錄的任何內容。請記住,Apache可以配置爲允許用戶訪問他們自己的主目錄,這可能是問題所在。

您也可以檢查從Apache HTTP允許訪問的其他目錄中的/home/svn目錄的符號鏈接。

希望有幫助!

+0

謝謝,事實證明,它可以通過將/etc/apache2/apache2.conf中的配置移動到/etc/apache2/mods-available/dav_svn.conf來解決。 – chentingpc