
Apache サーバーに Subversion をセットアップしようとしています。次のガイドに従いました: [http://wiki.centos.org/HowTos/Subversion][1]
その後、Tortoise SVN を使用してプロジェクトをチェックアウトしようとすると、次のエラーが発生します。
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>
ご提案やご協力をよろしくお願いいたします
マークより
答え1
問題を発見しました。Locationと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>
答え2
Apache設定のどこかでOPTIONS
SVNで使用されるこのメソッドを無効にしてください。このメソッドを有効にするには、<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メソッドについては、公式文書。