はあ... わかりました、私は何時間もこれにいました。ここに私が持っているものがあります:
Centos 6.3
WHM (cPanel) 11.34.1
Apache 2.2
Subversion + mod_dav_svn
ご存じない場合は、WHM (cPanel) が httpd.conf を管理し、必要に応じて上書きすることに注意してください。httpd.conf 中の特定の時点でインクルードされる、使用できるインクルージョン .conf ファイルがあります。
アカウント「Website.com」を使用して cPanel にログインし、サブドメイン「server.website.com」を作成しました。サーバー上のユーザーの場所は /home/websitecom で、サブドメインの場所は /home/websitecom/server です。
ここにSubversionリポジトリがあります:/ svn/repos/rp1など。これをconfに追加しています
<Location /svn/repo1>
DAV svn
SVNPath /svn/repos/rp1
</Location>
素晴らしい!<location>
うまく動作しますが、ディレクティブがサーバー全体で REQUEST_URI を読み取っているため、場所 /svn/repo1 はサーバー上のすべてのホストで利用できます。
私が望むのは、<location>
ディレクティブをserver.website.comドメインに制限することだけです...!!! これはとても難しいですか?
私が使用しているWHMでpre_virtualhost_global.conf
(仮想ホスト宣言の直前に含まれます)、試しました:
<directory /home/websitecom/server>
<location /svn/repo1>
DAV svn
SVNPath /svn/repos/rp1
</location>
</directory>
私は得る"location is not allowed here"
私が試してみました:
<location /svn/repo1>
Require host server.website.com
DAV svn
SVNPath /svn/repos/rp1
</location>
私は得るcouldn't perform authentication. AuthType not set!
私が試してみました
<virtualhost server.website.com:80>
<location /svn/repo1>
DAV svn
SVNPath /svn/repos/rp1
</location>
</virtualhost>
警告はありませんservice httpd restart
が、機能しません
<location>
ホストに固有のものを達成する方法を教えてください...私が達成しようとしているのは次のようなものです:
<location /svn/repo1>
HOST www.example.com
</location>
共有の名前付きホスト環境内
アップデート
私も .htaccess を試しました:
<location /svn/repo1>
DAV svn
SVNPath /svn/repos/rp1
</location>
エラー 500 サーバー エラー「場所はここでは許可されていません」
アップデート
Auth の使用法を修正しました。
AuthType Basic
Require host server.website.com
AuthName "Repository Authentication"
AuthUserFile /svn/repos/rp1.htpasswd
Require valid-user
パスワード認証は機能するが、Require host server.website.com は何もしていないようだ!?