Apache HTTP サーバ バージョン 2.4
IP ベース という名前が示すように、サーバには IP ベースのバーチャルホストそれぞれにつき、別々の IP アドレスが 必要です。複数の物理コネクションを持っているマシンを用意するか、 最近のオペレーティングシステムでサポートされているバーチャル インタフェース (詳細はシステムの説明書を読んでください。たいていは "ip エイリアス" と呼ばれていて、設定には普通 "ifconfig" コマンドを 使います) を使うかで実現できます。
複数のホストをサポートするように Apache を設定する方法は 二通りあります。別の httpd
デーモンを各ホスト毎に実行するか、 すべてのバーチャルホストをサポートするデーモンを一つ実行するかです。
以下のときには複数のデーモンを使うと良いでしょう:
ServerRoot
の設定が違う二つのデーモンを 実行する必要があります。httpd
が残りのアドレスを listen するといったことは可能です。)以下のときには単独のデーモンを使うと良いでしょう:
各バーチャルホストに対して別の Listen
ディレクティブを使って、 各インストールでデーモンが扱う IP アドレス (バーチャルホスト) を選択します。例えば
Listen www.smallco.com:80
ここで、ホスト名の代わりに IP アドレスを使う方が推奨されていることに 注意しておいてください (DNS の注意事項 参照)。
この場合は、一つの CustomLog
設定ディレクティブの値が各ホスト毎に異なる値に設定されるようにします。 例えば
<VirtualHost www.smallco.com>
Server @mail.smallco.com
DocumentRoot /groups/smallco/www
ServerName www.smallco.com
ErrorLog /groups/smallco/logs/error_log
TransferLog /groups/smallco/logs/access_log
</VirtualHost>
<VirtualHost www.baygroup.org>
Server @mail.baygroup.org
DocumentRoot /groups/baygroup/www
ServerName www.baygroup.org
ErrorLog /groups/baygroup/logs/error_log
TransferLog /groups/baygroup/logs/access_log
</VirtualHost>
ここで、ホスト名の代わりに IP アドレスを使う方が推奨されていることに 注意しておいてください (DNS の注意事項 参照)。
プロセス生成を制御するディレクティブやその他のいくつかのディレクティブを 除いて、ほぼすべての設定ディレクティブを VirtualHost ディレクティブの中に書くことができます。ディレクティブが VirtualHost ディレクティブで使用できるかどうかは コンテキストの 欄を調べてください。
SuexecGroup ディレクティブを VirtualHost ディレクティブの中で使用することができます。
セキュリティ: ログファイルを書く場所を指定するときは、 Apache を起動したユーザ以外がそのディレクトリに書き込み権限を 持っている場合にセキュリティ上の危険があることに注意してください。 詳細はセキュリティのこつドキュメントを 参照してください。
翻訳済み言語: tr