2011-03-18 54 views
2

嘗試設置SVN以使用HTTP,並使用用戶/ auth用戶訪問文件。Svn/Apache用戶訪問「500內部錯誤」「需要AuthName」問題

<Location /repos> 
    DAV svn 
    SVNPath /apps/CollegeDir/CollegeRepository/ 

     AuthzSVNAccessFile /asvn/svnAccessAuthz 
     AuthType Basic 
#  AuthName "Subversion Repository" 
     AuthUserFile /asvn/svnUserAuthz 
     Require valid-user 
# 
# # Limit write permission to list of valid users. 
# <LimitExcept GET PROPFIND OPTIONS REPORT> 
#  # Require SSL connection for password protection. 
#  # SSLRequireSSL 
# 
#  AuthType Basic 
#  AuthName "Authorization Realm" 
#  AuthUserFile /path/to/passwdfile 
#  Require valid-user 
# </LimitExcept> 
</Location> 

的用戶名/密碼身份驗證文件我有以下的(每個文件設置 加入到apache /阿帕奇/ 766爲:

我已經中subversion.conf Apache服務器以下測試)

/asvn/svnAccessAuthz 
[/] 
* = rw 

[/repos] 
* = rw 

[/repos/trunk] 
* = rw 

[repos:/] 
* = rw 

[repos:/trunk] 
* = rw 

[/trunk] 
* = rw 



/asvn/svnUserAuthz 
bill:$apr1$NsGWbE/9$695MXkrm8x06hMabC3Hu71 

the svnUserAuthz file was create using: 
htpasswd -mb /etc/svnUserAuthz bill qqqqqq 

當我試圖訪問回購,使用下面我得到的內部 500錯誤,與「極品Authname主題/ foo」的我在Apache的錯誤日誌。

svn list --username bill --password qqqqqq http://192.168.1.45/repos 
svn: Server sent unexpected return value (500 Internal Server Error) 
    in response to OPTIONS request for 'http://192.168.1.45/repos' 

error_log裏是:

[Thu Mar 17 21:08:38 2011] [error] [client 192.168.1.45] need AuthName: /repos/ 
[Thu Mar 17 21:08:43 2011] [error] [client 192.168.1.45] need AuthName: /repos/trunk 

如果我註釋掉

#  AuthzSVNAccessFile /asvn/svnAccessAuthz 
#  AuthType Basic 
#  AuthName "Subversion Repository" 
#  AuthUserFile /asvn/svnUserAuthz 
#  Require valid-user 

那麼我可以很容易地訪問回購,所以我搞砸了一些與 用戶/ passwd訪問過程。

我設置的/ asvn和SVN文件的訪問是:

chmod 766 
chown apache.apache 

因此文件是Apache服務器完全訪問...

我已經試過無數auth文件中的組合嘗試將其設置爲 ,以允許測試用戶訪問,但我完全陷入了困境。

想法/評論/指針將不勝感激。

感謝

回答

2

UFF我對這個bash腳本,我可以賣:) 它甚至造成我的svn鉤:) 我想你不應該註釋掉AUTH名

這裏,我給你從我的一個svns工作配置。

<Location /> 
DAV svn 
SVNPath '/var/svn/web1339/reproname' 
SVNAutoversioning on 
AuthType Basic 
AuthName 'svn - reproname' 
AuthUserFile '/var/svn/web1339/reproname/dav_svn.passwd' 
Require valid-user 
</Location> 

repro歸apache用戶所有,它可以是apache或www-數據取決於你的系統。 apache在centos上。 www-debian上的數據。

使用htpasswd工具,您可以編輯您的密碼文件。

     htpasswd -bcs "${reprofolder}/dav_svn.passwd" "$3" "$4" 

$ 3應該是用戶名$ 4是密碼。

玩得開心,祝你好運。

+1

嘿傢伙..以及搜索時遇到此問題的任何其他人......「AuthName」顯然是必需的!!!!!當它沒有評論時,一切都按預期工作。 – 2011-03-18 06:00:19

0

一個可能性(來自你的問題的片段)是svnUserAuthz文件存在於/etc而不是/asvn如apache配置所預期的那樣。

相關問題