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」、そしてログ関係は個別に設定しておくことになると思います。もちろん必ずではないので共通した設定にしていても構いません。

その他にも各ドキュメントルートへのアクセス権限の設定などが必要です。実際の設定例は『名前ベースの仮想ホスト』を参照して下さい。

※現在IPベースの仮想ホストの試験ができる環境にないため、実際に確認テストを行わずに記載しています。ご承知の上で参考として下さい。

( Written by Tatsuo Ikura )