ApacheサーバーでSubversionをセットアップしようとしています。私はこのガイドに従いました:[ http://wiki.centos.org/HowTos/Subversion] [1]
後でTortoiseSVNプロジェクトをチェックアウトしようとすると、次のエラーが発生します。
Unexpected HTTP status 405 'Method Not Allowed' on '/repos
Linuxサーバー自体でsvnクライアントを使用しようとすると、次のエラーが発生します。
svn: Server sent unexpected return value (405 Method Not Allowed) in response to OPTIONS request for 'https://server.ch/repos'
Apacheサーバーでの現在の構成は次のようになります。
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<VirtualHost *:443>
...
<Directory "/var/www/svn/">
Order allow,deny
Allow from all
AllowOverride all
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /etc/Subversion/svn-auth-conf
Require valid-user
</Directory>
<Location /repos>
DAV svn
SVNParentPath /var/www/svn/repos
SVNListParentPath on
SSLRequireSSL
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /etc/Subversion/svn-auth-conf
Require valid-user
</Location>
</VirtualHost>
事前に提案や助けをありがとう
マークに関して
問題が見つかりました。ロケーションとSVNParentPathが誤って設定されています。私はここで解決策に従いました[ http://www.wandisco.com/svnforum/threads/35525-Stuck-with-error-%E2%80%9C405-Method-Not-Allowed%E2%80%9D ] [1]
apacheの正しい設定は次のようになります。
<VirtualHost *:443>
...
<Location /svn>
DAV svn
SVNParentPath /var/www/svn
SVNListParentPath on
SSLRequireSSL
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /etc/Subversion/svn-auth-conf
Require valid-user
</Location>
</VirtualHost>
Apache構成のどこかで、SVNが使用するこのOPTIONS
メソッドを無効にします。このメソッドは<Directory "/var/www/svn/">
内で有効にできます
<Directory "/var/www/svn/">
...other config here
<Limit OPTIONS>
Order Deny,Allow
Allow from all
</Limit>
...other config here
</Directory>
このメソッドを有効にするには、セキュリティへの影響を知っておく必要があります。 SVNで使用されるすべてのHTTPメソッドについては、 公式ドキュメント を参照してください。