IPベースの仮想ホスト
まずIPベースの仮想ホストの設定です。IPベースとは1台のサーバに複数のネットワークインターフェースカード(NIC)が付いていて別々のIPアドレスを持っている場合に、それぞれのIPアドレスに対して仮想ホストを割り当てます。
IPベースの仮想ホストを割り当てる場合には「VirtualHost」を使います。
<VirtualHost IPアドレス1:ポート番号> ... ,,, </VirtualHost> <VirtualHost IPアドレス2:ポート番号> ... ... </VirtualHost>
より具体的に考えていきます。例として「192.168.1.1」と「192.168.1.2」と言う2つのIPアドレスが割り当てられているとします。そしてDNSに対して「wwww.adminweb.jp」を「192.168.1.1」に、そして「www.officepro.jp」を「192.168.1.2」を登録しておきます。
1台のApacheで2つのホストに対する設定を行う場合は「httpd.conf」ファイルに次のように記述します。(Apache2.2以降では「httpd.conf」ではなく「http-vhosts.conf」に記述するのが正しいかもしれません。詳しくは『名前ベースの仮想ホスト』を参照して下さい)。
<VirtualHost 192.168.1.1:80> ServerName www.adminweb.jp ServerAdmin hogehoge@adminweb.jp DocumentRoot "D:/Apache Group/Apache2.2/adminweb_docs" CustomLog logs/adminweb.access.log common ErrorLog logs/adminweb.error.log </VirtualHost> <VirtualHost 192.168.1.2:80> ServerName www.officepro.jp ServerAdmin hogehoge@officepro.jp DocumentRoot "D:/Apache Group/Apache2.2/officepro_docs" CustomLog logs/officepro.access.log common ErrorLog logs/officepro.error.log </VirtualHost>
IPアドレス毎に必要な設定を記述しておきます。例えば「www.adminweb.jp」宛にアクセスがあった場合には「192.168.1.1」の箇所に書かれた設定が有効となるため、ドキュメントルート「D:¥Apache Group¥Apache2.2¥adminweb_docs¥」以下にあるコンテンツが返されます。
VirtualHost毎に個別の設定を記述できますので、必要な設定を記述しておいて下さい。最低限上記に書いたような「ServerName」や「DocumentRoot」、そしてログ関係は個別に設定しておくことになると思います。もちろん必ずではないので共通した設定にしていても構いません。
その他にも各ドキュメントルートへのアクセス権限の設定などが必要です。実際の設定例は『名前ベースの仮想ホスト』を参照して下さい。
( Written by Tatsuo Ikura )