SVNParentPathを使用した典型的なSubversion / Apache構成があり、リポジトリが次の/svn/
ようにホストされているとします。
<Location /svn>
DAV svn
SVNParentPath /srv/source/svn/repos
SVNReposName "Subversion Repository"
AuthzSVNAccessFile /srv/source/svn/authz
Satisfy Any
AuthType Basic
AuthBasicProvider file
AuthName "Subversion Repository"
AuthUserFile /srv/source/svn/htpasswd
Require valid-user
</Location>
別のパスでそれらをホストする必要なしに、特定のリポジトリーに対してこの構成をオーバーライドする方法はありますか?つまり、Location
このようなブロックを追加する方法はありますか...
<Location /svn/my_special_repo>
SVNPath /srv/source/svn/repos/my_special_repo
AuthzSVNAccessFile /srv/source/svn/repos/my_special_repo/conf/authz
</Location>
...そして、ブロックで提供された構成をオーバーライドします
か?上記の構成でこれを実行しようとした私の試みは、Apacheエラーログで次のような奇妙で役に立たないエラーに遭遇しました。Location
/svn
[Wed Feb 02 11:28:35 2011] [error] [client 10.10.209.120]
(20014)Internal error: Can't open file '/srv/source/svn/repos/svn/format':
No such file or directory
これはすべて、mod_dav_svnが私がやろうとしていることを実行できないことを伝える方法のようです。私は解決策や代替案を受け入れています!
編集:まあ、私はこの質問が読者の間で多くの興奮を引き起こしたことがわかります。記録のために、私がやろうとしていることは、既存のすべてのリポジトリーのリポジトリーごとの構成を生成してから、SVNParentPath
ベースの構成を放棄することです。リポジトリごとのApache構成は最小限であり、特にmod_macroなどを使用します。難しい部分は、グローバルauthzファイルを分割することです。以前にこれを行ったことがある場合は、ヒントをいただければ幸いです。