1

誰かがApacheを使用して新しいローカルVirtualHostを定義するのを手伝ってくれるかどうか疑問に思っています.

目標は、ローカル ネットワーク (ファイアウォールの後ろに隠されている) からのみ表示できるサイトを持つことです。現在、Webmin がインストールされており、トランザクション:10000 で実行されます。トランザクション:7000 で他のサイトを実行しようとしています。

以下は機能しません。

DocumentRoot /var/パス

これを行うより良い方法はありますか?私はApacheが初めてで、これを理解しようとしています。

概要: ローカル アクセス専用の 80 以外のポートで実行するには、ローカルの /var/path ディレクトリが必要です。

4

1 に答える 1

1

あなたは Apache Virtual Host Code を知らないと思います。使い方を紹介します。これで問題が解決しない場合は、遠慮なく返信してください。
conf フォルダーにある HTTPD.CONF にコードを配置する必要があります。ファイルの名前が wwwroot の場合は、以下のコードで名前を変更するだけで済みますが、フォルダーの名前は変更しないでください!!!

NameVirtualHost 111.22.33.44
<VirtualHost *:7000>
ServerName www.domain.tld
ServerPath /domain
DocumentRoot /htdocs/domain
</VirtualHost>

これは何を意味するのでしょうか?これは、「/domain」で始まるすべての URI に対する要求が、仮想ホスト www.domain.tld から提供されることを意味します。これは、すべてのクライアントが domain.tld/domain/ としてページにアクセスできることを意味しますが、Host: ヘッダーを送信するクライアントも domain.tld/ としてアクセスできます。

これを機能させるには、プライマリ仮想ホストのページにhttp://www.domain.tld/domain/へのリンクを配置します。次に、仮想ホストのページでは、純粋な相対リンク (「file.html」や「../icons/image.gif」など) か、先頭に /domain/ を含むリンク (「http: //www.domain.tld/domain/misc/file.html" または "/domain/misc/file.html")。

したがって、すべてのドメインはあなたの IP アドレスを指し、ドメイン名が「www.domain.tld」の場合は、「/htdocs/domain」または「/wwwroot/domain」フォルダに移動します。

編集:

<Directory "/var/path/">
 Order Deny,Allow
 Deny from all
 Allow from 127.0.0.1
</Directory>

これにより、コンピューター上の Apache が構成されている localhost からのみ「/var/path/」フォルダーにアクセスできます。

幸運を!!!

于 2012-06-01T17:09:33.413 に答える