1

はあ... わかりました、私は何時間もこれにいました。ここに私が持っているものがあります:

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 は何もしていないようだ!?

4

1 に答える 1

0

ハッ!!!

httpd.confでこれを見つけました

# To customize this VirtualHost use an include file at the following location
Include "/usr/local/apache/conf/userdata/std/2/--USER--/--HOST--/*.conf"

そこで、「/usr/local/apache/conf/userdata/std/2/--USER--/--HOST--/svn.conf」にファイルを作成しました。内容は次のとおりです。

<location /svn/repo1>
    DAV svn
    SVNPath /svn/repos/rp1
</location>

これにより、cPanel WHM のコンテキストでこれが解決されましたが、基本的な centos Apache サーバーでは、

<virtualhost server.website.com:80>
    <location /svn/repo1>
        DAV svn
        SVNPath /svn/repos/rp1
    </location>
</virtualhost>

まだ機能しますか!? とにかく、現時点では私にとって問題ではありません...

于 2013-03-01T12:42:40.610 に答える