トップページ >  Apache >  名前ベース
初版2006/09/07: 最終更新日2006/09/07
名前ベース
目次
名前ベース
hosts
httpd.conf
名前ベース
名前ベースのバーチャルホストの実現方法について説明します。
ローカルエリアネットワークで実現しますので、今回はhostsファイルを変更しますが、実際にインターネットに公開する場合はDNSに登録している必要があります。

ではまずapacheを起動しているWindowsのC:\WINDOWS\system32\drivers\etc配下のhostsファイルに、同一IPアドレスに対して複数の名前を登録します。
以下、hostファイルの変更例です。

hosts
127.0.0.1       localhost
192.168.1.100    www.yahoo.com    #追加した行
192.168.1.100    www.yahoo.co.jp  #追加した行
このように設定することで、ブラウザからwww.yahoo.co.jpと入力してもwww.yahoo.comと入力しても192.168.1.100にアクセスするようになります。
192.168.1.100は、Apacheを起動しているPCになります。


では次にApacheの設定ファイルhttpd.confにバーチャルホストの設定をします。
NameVirtualHost ディレクティブでApacheが起動しているIPアドレスを指定します。
その次に VirtualHost ブロックを指定し、そのブロック内でServerNameとDocumentRootを指定します。
VirtualHostディレクティブ内にはホスト名もしくはIPアドレスを指定します。これはNameVirtualHostで指定したIPアドレスと合致していなければいけません。

DocumentRootディレクティブで、そのServerNameにアクセスした際に提供するディレクトリを指定します。
以下、httpd.conf例です。

httpd.conf
NameVirtualHost 192.168.1.100

<VirtualHost www.yahoo.co.jp>
ServerName www.yahoo.co.jp
DocumentRoot "D:/CONFRAGE"
</VirtualHost>

<VirtualHost www.yahoo.com>
ServerName www.yahoo.com
DocumentRoot "D:/CONFRAGE/apache"
</VirtualHost>