Apacheでネーム(名前)ベースのバーチャルホスト設定
バーチャルホストにはネーム(名前)ベースとIPベースの2種類がある。ここでは、グローバルIPアドレスが1つしかなくても実現可能な、ネームベースのバーチャルホストの設定方法を紹介する。
設定ファイルは、各バーチャルホスト固有の設定を記述するファイルと、それらのファイルを読み込ませるための主設定ファイルの2種類。
バーチャルホスト個別の設定は、/etc/apache2/vhosts.d/default_vhost.includeを必要なホストの分だけコピーして作成すればよい。当サイトの場合は、
・http://reichsarchiv.jp/
/etc/apache2/vhosts.d/default_vhost.include
・http://gentoo.reichsarchiv.jp/
/etc/apache2/vhosts.d/gentoo_vhost.include
・http://kyogoku.reichsarchiv.jp/
/etc/apache2/vhosts.d/kyogoku_vhost.include
とした。
各ファイルの内容はほとんど同じ。変更しているのは、各バーチャルホスト用のドキュメントルートである。
/etc/apache2/vhosts.d/default_vhost.include
DocumentRoot "/home/httpd/html"
<Directory "/home/httpd/html">
~設定~
</Directory>
/etc/apache2/vhosts.d/gentoo_vhost.include
DocumentRoot "/home/httpd/gentoo"
<Directory "/home/httpd/gentoo">
~設定~
</Directory>
/etc/apache2/vhosts.d/kyogoku_vhost.include
DocumentRoot "/home/httpd/kyogoku"
<Directory "/home/httpd/kyogoku">
~設定~
</Directory>
主設定ファイルは、単独ホストの設定とApacheの起動設定でも使った/etc/apache2/vhosts.d/00_default_vhost.conf。VirtualHostディレクティブを使って、各設定ファイルをインクルードする。
<IfDefine DEFAULT_VHOST>
Listen 80
NameVirtualHost *:80
<VirtualHost *:80>
Include /etc/apache2/vhosts.d/default_vhost.include
<IfModule mpm_peruser_module>
ServerEnvironment apache apache
</IfModule>
</VirtualHost>
<VirtualHost *:80>
Include /etc/apache2/vhosts.d/kyogoku_vhost.include
<IfModule mpm_peruser_module>
ServerEnvironment apache apache
</IfModule>
</VirtualHost>
<VirtualHost *:80>
Include /etc/apache2/vhosts.d/gentoo_vhost.include
<IfModule mpm_peruser_module>
ServerEnvironment apache apache
</IfModule>
</VirtualHost>
</IfDefine>
設定が終わったら、
/etc/init.d/apache2 restart
でApacheを再起動する。

Reichsarchiv ~世界帝王事典~
京極夏彦作品人名辞典