<-
Apache > HTTP サーバ > ドキュメンテーション > バージョン 2.5 > バーチャルホスト

Apache の IP ベースのバーチャルホストサポート

翻訳済み言語:  en  |  fr  |  ja  |  ko  |  tr 

この日本語訳はすでに古くなっている 可能性があります。 最近更新された内容を見るには英語版をご覧下さい。

参照

top

システム要件

IP ベース という名前が示すように、サーバには IP ベースのバーチャルホストそれぞれにつき、別々の IP アドレスが 必要です。複数の物理コネクションを持っているマシンを用意するか、 最近のオペレーティングシステムでサポートされているバーチャル インタフェース (詳細はシステムの説明書を読んでください。たいていは "ip エイリアス" と呼ばれていて、設定には普通 "ifconfig" コマンドを 使います) を使うかで実現できます。

top

Apache の設定方法

複数のホストをサポートするように Apache を設定する方法は 二通りあります。別の httpd デーモンを各ホスト毎に実行するか、 すべてのバーチャルホストをサポートするデーモンを一つ実行するかです。

以下のときには複数のデーモンを使うと良いでしょう:

以下のときには単独のデーモンを使うと良いでしょう:

top

複数デーモンの設定

各バーチャルホストに対して別の httpd のインストールを行ないます。 設定ファイル中の Listen ディレクティブを使って、 各インストールでデーモンが扱う IP アドレス (バーチャルホスト) を選択します。例えば

Listen www.smallco.com:80

ここで、ホスト名の代わりに IP アドレスを使う方が推奨されていることに 注意しておいてください (DNS の注意事項 参照)。

top

複数のバーチャルホストの設定をした デーモンを一つ設定する

この場合は、一つの httpd が主サーバとすべてのバーチャルホストのリクエストを 処理します。設定ファイルの VirtualHost ディレクティブを使って、 ServerAdmin, ServerName, DocumentRoot, ErrorLog, TransferLogCustomLog 設定ディレクティブの値が各ホスト毎に異なる値に設定されるようにします。 例えば

<VirtualHost www.smallco.com>
ServerAdmin webmaster@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>
ServerAdmin webmaster@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 ディレクティブで使用できるかどうかは ディレクティブ索引を使ってコンテキストの 欄を調べてください。

suEXECラッパーを使っている場合は、 SuexecUserGroup ディレクティブを VirtualHost ディレクティブの中で使用することができます。

セキュリティ: ログファイルを書く場所を指定するときは、 Apache を起動したユーザ以外がそのディレクトリに書き込み権限を 持っている場合にセキュリティ上の危険があることに注意してください。 詳細はセキュリティのこつドキュメントを 参照してください。

翻訳済み言語:  en  |  fr  |  ja  |  ko  |  tr 

top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.