ApacheでのVirtual Host


将来的に自宅のPCで独自ドメイン(shioji.org、shioji.jp、touya.jp)を運用する 予定なのだが、それぞれのWeb serverを一台のHostで動かすため、 ApacheのVirtual Hostの機能を利用した。

このVirtual HostにはIP BaseとName Baseがあるのだが、前者は例えば shioji.orgは192.168.1.1、shioji.jpは192.168.1.2とそれぞれ別のPCを用意して IPアドレスごとに振り分ける方式。
後者は一台のPC(というか一つのIPアドレス)に、http://www.shioji.org/で アクセスがあったときは/var/www/shioji.org/index.htmlを、 http://www.shioji.jp/でアクセスがあった場合は/var/www/shioji.jp/index.html を表示するといったように、アクセスされたときのホスト名で振り分ける方式。

今回Name BaseのVirtual Hostを設定した。
結構需要も多いらしく、Googleなどで検索するといろいろ引っかかる。

www.shioji.orgや、www.shioji.jpがきちんとDNSで引けるようになっている 必要がある。
自分のところでDNSを動かしているのであれば、DNSのCNAMEで複数の Hostを同じIPに割り当てる。
現在(2003.1.9)はダイナミックDNSを使っているので独自ドメインが使える ダイナミックDNSで、それぞれのHostが引けるように設定しておく。

ここまでできていればあとはApacheの設定ファイルを変更するだけ。
今回の場合以下をhttpd.conf(Debianでは/etc/apache/httpd.conf)に 追加した。

NameVirtualHost 192.168.10.10


ServerAdmin webmaster@shioji.jp
DocumentRoot /var/www/shioji.jp
ServerName www.shioji.jp
ErrorLog /var/log/apache/shioji.jp-error.log
TransferLog /var/log/apache/shioji.jp-access.log



ServerAdmin webmaster@shioji.org
DocumentRoot /var/www/shioji.org
ServerName www.shioji.org
ErrorLog /var/log/apache/shioji.org-error.log
TransferLog /var/log/apache/shioji.org-access.log



ServerAdmin webmaster@touya.jp
DocumentRoot /var/www/touya.jp
ServerName www.touya.jp
ErrorLog /var/log/apache/touya.jp-error.log
TransferLog /var/log/apache/touya.jp-access.log


変更したら、apacheをrestartさせる。
ちなみにNameVirtualHostのIPアドレスがプライベートアドレスになっているが、 これは、ブロードバンドルーターを使っており、PPPoEはこのDebianでなく、 ブロードバンドルーターが行っているため。
ルーターの設定で、外からのアクセスでPort番号80への接続は、内部の 192.168.10.10のホストへつなぐようにしてある。