VirtualHost

最終更新日時:2007-03-01 17:53:33
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 を参照するようになります。

お問い合わせは 掲示板 にて。