自宅サーバに初心者が挑戦します!
トップ >>  WEB 

5-9. バーチャルホスト(Virtual Host)の設定
May 5, 2006:更新

 バーチャルホストというと少し難しいかもしれませんが、つまりApacheを使って複数のドメインもしくはホスト名を運用しよう。ということです。つまり、

 ・www.domain.com
 ・www.example.net

の2つを同時に、1つのApacheで運用する事を指します。

 当然サーバはひとつですので、この2つのドメイン(FQDN)は同じIPアドレスを持つことになります。

 実際の設定ですが、VirtualHostディレクティブを利用します。設定ファイルだと、かなり下の方です。設定する内容は以下の部分になります。

NameVirtualHost:バーチャルホストに関連するIPアドレス
ServerAdmin: バーチャルホストに関する管理者のメールアドレス
DocumentRoot: 実際のコンテンツのサーバ上におけるパス
ServerName: サーバー名(FQDN)
ErrorLog: エラーログのファイル名
CustomLog: アクセスログのファイル名

 さて、ここで上記の www.domain.com と www.example.net を運用するとすると、例えばこうなります。

NameVirtualHost *:80

<VirtualHost *:80>
ServerName www.domain.com
DocumentRoot /www/httpd/www.domain.com
ServerAdmin webmaster@domain.com
ErrorLog logs/www.domain.com-error_log
TransferLog logs/www.domain.com-access_log
</VirtualHost>

<VirtualHost *:80>
ServerName www.example.net
DocumentRoot /www/httpd/www.example.net
ServerAdmin webmaster@example.net
ErrorLog logs/www.example.net-error_log
TransferLog logs/www.example.net-access_log
</VirtualHost>

 まぁ、あまり自宅サーバでは無いと思いますが、ここでの前提はサーバそのものはIPアドレスを1つしか持たない、としています。複数持つ場合には、NameVirtualHostとVirtualHost の後のアスタリスク「*」の代わりにIPアドレスを記述してください。ここに指定されたIPアドレスに対して、このVirtualHostの設定が動くことになります。

 最後に、Apacheを再起動します。

# /etc/init.d/httpd restart

 これで、それぞれのドメインのトップディレクトリになにかファイルを置いて、アクセスしてみます。それぞれ指定どおりのものが表示されればうまく動いています。





トップ >>  WEB