Apacheの設定、特にSVN DAVmodとの相互作用に問題があります。
私ができるようにしたいのは、domain.com
が私のWebサイトを指し、svn.domain.com
が私のsvnディレクトリ(現在は私のpublic_htmlディレクトリの外にある)を指し、両方がhttps経由でアクセスできるようにすることです。
ほとんどの部分で機能していますが、svn
サブドメインに明示的なVirtualHostを設定すると、svnアプリケーションがリポジトリにアクセスできなくなります(代わりに、「リポジトリが永続的に移動されます」 「エラー)、リポジトリを参照できます。
私の設定は次のようになります:
<VirtualHost *:443>
ServerName domain.com
ServerAlias www.domain.com svn.domain.com
DocumentRoot /path/to/website/dir
...
#stuff for SSL cert etc.
</VirtualHost>
<VirtualHost *:80>
ServerName domain.com
ServerAlias www.domain.com
DocumentRoot /path/to/website/dir
...
</VirtualHost>
<Location /repo>
DAV svn
SVNPath /path/to/repos
... #auth details
</Location>
これはほとんど機能しますが、svn.domain.com
を参照すると私のウェブサイトが表示され、domain.com/repo
を参照するとリポジトリが表示されます(svn.domain.com/repo
は正常に機能し、domain.com
も正常に機能します)。 domain.com/repo
に、私のプロジェクトやドキュメントなどに関する一連のWebページを表示させたい場合は、svn.domain.com
は、理想的には、何もないか、使用可能なリポジトリのリストか、別のページか何かを指します。私はApache設定ファイルのコツをつかんだと思っていましたが、これは私を困惑させています!
<VirtualHost>
ドメインとsvn.domain.com
ドメインには別々のdomain.com / www.domain.com
ディレクティブが必要です。両方を最初の<VirtualHost>
に押し込もうとしているようです。それらを分離した後、SVNディレクティブをsvn.domain.com
ホスト内に配置します。