この役立つガイドの指示に従って、svnserve の代わりに Apache を使用して、自分のサイトに Subversion をセットアップしようとしました。すべての設定が完了したら、 code.mydomain.com からアクセスできる /srv/svn/myrepository にリポジトリを作成します。
ただし、上記のリンク先のガイドのすべての手順に従った後、code.mydomain.comにアクセスすると、Apache のデフォルト サイト/var/wwwのコンテンツが表示されます(つまり、「動作します!」)。これにより、Apache ログに次のエラーも生成されます。
[Sat Nov 06 10:11:33 2010] [notice] caught SIGTERM, shutting down
[Sat Nov 06 10:11:34 2010] [notice] mod_python: Creating 8 session mutexes based on 150 max processes and 0 max threads.
[Sat Nov 06 10:11:34 2010] [notice] mod_python: using mutex_directory /tmp
[Sat Nov 06 10:11:34 2010] [notice] Apache/2.2.9 (Debian) DAV/2 SVN/1.5.1 mod_jk/1.2.26 PHP/5.2.6-1+lenny9 with Suhosin-Patch mod_python/3.3.1 Python/2.5.2 configured -- resuming normal operations
これが私のサイト構成の編集版です。
<VirtualHost my.server.ip:80>
ServerAdmin me@mydomain.com
ServerName code.mydomain.com
ErrorLog /srv/www/code.mydomain.com/logs/error.log
CustomLog /srv/www/code.mydomain.com/logs/access.log combined
<Location />
DAV svn
SVNPath /srv/svn/myrepository
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /srv/auth/svn/myrepository.htpasswd
Require valid-user
</Location>
</VirtualHost>
ご提供いただけるご支援をよろしくお願いいたします。
他のユーザーの提案に従って行ったトラブルシューティングの結果を次に示します (どうもありがとうございました)。いずれの場合も、変更後に Apache を再起動し、サイトをチェックして結果を確認しました。
0) SSL 経由で接続していません。
1) SVNParentPath は、複数のリポジトリが使用されている場合にのみ必要です。ここでは、1 つだけを使用しています。それにもかかわらず、テストとして SVNParentPath を使用して構成をやり直したところ、同じ結果が得られました。
2) Auth オプションを Limit スタンザ内に配置しようとしましたが、同じ結果が得られました。次に、すべての Auth オプションを削除しましたが、同じ結果が得られました。
3) 構成ファイルからすべての Auth オプションを削除しても同じ結果が得られましたが、これは認証モジュールに関連しているとは思いません。それにもかかわらず、dav_svn モジュールはロードされていますが、authz_svn モジュールはロードされていないことを確認できます。
4) /srv/svn/myrepositoryという場所にリポジトリを作成済みです。その場所でsvnadmin verifyを実行したところ、ツールはすべてが順調であると報告しました。
5)Apacheがwww-dataとして実行されるDebian 5を使用しています。これに先立って、 /srv/svnと/srv/svn/myrepositoryの www-data:www-data 所有権を与えていました。これを確認するために、これらのディレクトリでstatを実行しました。
6) code.mydomain.comに ping を実行すると、実際に正しい IP に解決されていることが示されます。
7) a2ensite code.mydomain.comを実行しましたが、これは明らかに実行されていませんでした (おっと)、Apache を再起動しました。フォルダー/srv/www/code.mydomain.com/logsには現在、access.log と error.log が含まれていますが、両方のファイルは空のままです。一方、code.mydomain.comにアクセスしようとすると、以前と同じ結果が生成され、デフォルトの Apache error.log には以前と同じエラー メッセージが含まれます。
8) NameVirtualHost *:80行を含む Apache 構成ファイルはありません。