VirtualHost
最終更新日時:2007-03-01 17:53:33
Apache
Apache
VirtualHost を使うことで、特定のドメイン名や IP アドレスに対しての設定を行うことが可能です。
つまり、複数ドメインや複数 IP を持つサーバ内にて Apache を動かした時に、ドメイン名や IP によって異なるコンテンツを提供したりということが可能になります。
もちろん、複数の Apache を起動してもそういうことはできますが、VirtualHost を使用すれば単体の Apache でも可能です。
ローカル向け設定
複数のグローバルな IP やドメインを持たなくても VirtualHost の使い道はあります。
例えばローカル向けの設定です。
VirtualHost を使用することにより、インターネット向けの設定とイントラネット(ローカル)向けの設定とを分けることが可能です。
NameVirtualHost *
# グローバル
<VirtualHost *>
ServerName lightly.plala.jp
DocumentRoot /home/httpd
Addhandler cgi-script .cgi
<Directory "/home/httpd">
Options FollowSymLinks Includes
AllowOverride All
Order allow,deny
Allow from all
</Directory>
CustomLog "|/usr/local/apache/bin/rotatelogs /logs/access_log.%Y%m%d 86400 540" combined
ErrorLog "|/usr/local/apache/bin/rotatelogs /logs/error_log.%Y%m%d 86400 540"
</VirtualHost>
# ローカル
<VirtualHost *>
ServerName intranet
DocumentRoot /home/httpd-local
<Directory "/home/httpd-local">
Options Indexes FollowSymLinks Includes
AllowOverride All
Order allow,deny
Allow from 192.168.0.
</Directory>
CustomLog "|/usr/local/apache/bin/rotatelogs /logs/local_access_log.%Y%m%d 86400 540" combined
ErrorLog "|/usr/local/apache/bin/rotatelogs /logs/local_error_log.%Y%m%d 86400 540"
</VirtualHost>
VirtualHost では ServerName によってマッチングを行うので、上記の設定では、http://lightly.plala.jp/index.html は /home/httpd/index.html を http://intranet/index.html は /home/httd-local/index.html を参照するようになります。