VirtualHostの設定

複数のドメインを取得し、ドメインごとのWebサイトを運用します。
ここでは名前ベースのヴァーチャルホストで運用します。
なお、ここでは以下のように設定し、必要なディレクトリ・ファイルは存在し、パーミッションも適切に設定されているものとします。

アドレス メインサイト http://www.crimson-snow.net
追加するサイト http://www.red-snow.net
ドキュメントルート メインサイト /var/www/html
追加するサイト /var/www/red-snow
ログファイル メインサイト /var/log/httpd/access_log
追加するサイト /var/log/httpd/access_red-snow.net_log
エラーログファイル メインサイト /var/log/httpd/error_log
追加するサイト /var/log/httpd/error_red-snow.net_log
ワームのログファイル メインサイト /var/log/httpd/worm_log
追加するサイト /var/log/httpd/worm_red-snow.net_log
「Apache」の設定

ここでは最低限の設定のみ記述していますので、必要に応じてログファイルの設定なども行えます。

[root@CentOS ~]# vi /etc/httpd/conf/httpd.conf <= 設定ファイルの編集
#NameVirtualHost *:80
↓
NameVirtualHost *:80 <= コメント解除

メインサイトの情報を追加
<VirtualHost *:80>
    ServerName www.crimson-snow.net
</VirtualHost>
ここまで

追加するサイトの情報を追加
<VirtualHost *:80>
    ServerName www.red-snow.net
    ServerAlias red-snow.net *.red-snow.net
    DocumentRoot /var/www/red-snow
    ErrorLog /var/log/httpd/error_red-snow.net_log
    CustomLog /var/log/httpd/access_red-snow.net_log combined env=!no_log
    CustomLog /var/log/httpd/worm_red-snow.net_log combined env=worm
</VirtualHost>
ここまで

「Apache」を再起動し、設定を反映させます。

[root@CentOS ~]# /etc/rc.d/init.d/httpd restart <= 「Apache」の起動
アクセスしてきたアドレスによって動作を変更する

リクエストされたアドレスによって以下のような動作に変更したい場合、それぞれの設定を追加します。

IPアドレスでアクセスさせない

直接IPアドレスで指定された場合、特に設定していなければ最初に記述されたVirtualHostの設定が適用されます。
そこで、IPアドレスで指定された場合にページを表示させたくない場合は以下のように設定を追加します。
なお、ここでは最低限の設定のみ記述していますので、必要に応じてログファイルの設定なども行えます。

[root@CentOS ~]# vi /etc/httpd/conf/httpd.conf <= 設定ファイルの編集
最初のVirtualHostの設定として以下を追加
<VirtualHost *:80>
    ServerName any
    DocumentRoot /tmp
</VirtualHost> 

「Apache」を再起動し、設定を反映させます。

[root@CentOS ~]# /etc/rc.d/init.d/httpd restart <= 「Apache」の起動

ホスト名を強制的に付加する

例えばwwwをホスト名とした場合に、wwwを付加しなかったり、mail等の他のホスト名を付加してアクセスされた場合に 強制的にwwwを付加したアドレスに転送するようにします。
この場合、ホスト名を付加したものと付加していないものの二つのVirtualHostを設定し、Redirectを利用して転送します。
なお、ここでも最低限の設定のみ記述していますので、必要に応じてログファイルの設定などが行えます。

[root@CentOS ~]# vi /etc/httpd/conf/httpd.conf <= 設定ファイルの編集
wwwを付加したデフォルトのメインサイトのVirtualHostの設定
<VirtualHost *:80>
    ServerName www.crimson-snow.net

</VirtualHost>
ここまで

www以外のVirtualHostの設定
<VirtualHost *:80>
    ServerName crimson-snow.net
    ServerAlias *.crimson-snow.net
    Redirect permanent / http://www.crimson-snow.net/
</VirtualHost> 
ここまで

「Apache」を再起動し、設定を反映させます。

[root@CentOS ~]# /etc/rc.d/init.d/httpd restart <= 「Apache」の起動
DNSサーバの設定

ローカルネットワークからもアクセスできるようにこちらを参照して、 DNSサーバの設定と正引きゾーンファイルの追加をします。

▲ページのトップへ