バーチャルホストを利用すると物理的に一台のサーバで複数のサイトを公開することが可能になります。
バーチャルホストにはIPベースと名前ベースの2つの方式があります。
名前ベースのバーチャルホスト
NameVirtualHostディレクティブでリクエストを受け付けるIPアドレスを指定し、VirtualHostディレクティブでバーチャルホストごとの設定を記述します。
httpd.conf
NameVirtualHost *:80 <VirtualHost *:80> ServerName www.hoge.com ServerAdmin webmaster@hoge.com DocumentRoot /var/www/hoge.com </VirtualHost> <VirtualHost *:80> ServerName mccafe.com ServerAdmin webmaster@mccafe.com DocumentRoot /var/www/mccafe.com </VirtualHost>
デーモンを再起動してDNSを設定すれば完了です。
このホスト対して「GET www.hoge.com HTTP/1.0」と送ると/var/www/hoge.comを
「GET mccafe.com HTTP/1.0」と送ると/var/www/mccafe.comを参照するようになります。
以下はncコマンドでテストする例です。
$ nc 10.0.1.2 80 GET http://mccafe.com HTTP/1.0 HTTP/1.1 200 OK Date: Thu, 09 Apr 2015 00:24:19 GMT Server: Apache/2.4.6 (CentOS) Last-Modified: Thu, 09 Apr 2015 00:22:56 GMT ETag: "b-5133fa63b2583" Accept-Ranges: bytes Content-Length: 11 Connection: close Content-Type: text/html; charset=UTF-8 mccafe.com
$ nc 10.0.1.2 80 GET http://www.hoge.com HTTP/1.0 HTTP/1.1 200 OK Date: Thu, 09 Apr 2015 00:25:47 GMT Server: Apache/2.4.6 (CentOS) Last-Modified: Thu, 09 Apr 2015 00:23:06 GMT ETag: "9-5133fa6cf8db2" Accept-Ranges: bytes Content-Length: 9 Connection: close Content-Type: text/html; charset=UTF-8 hoge.com
IPベースのバーチャルホスト
IPベースの場合はLISTENで待ち受けるIPアドレスを指定し、VirtualHostディレクティブでIPごとの設定を記述します。
LISTEN 10.0.1.2 LISTEN 10.0.1.3 <VirtualHost 10.0.1.2:80> ServerName www.hoge.com ServerAdmin webmaster@hoge.com DocumentRoot /var/www/hoge.com </VirtualHost> <VirtualHost 10.0.1.3:80> ServerName mccafe.com ServerAdmin webmaster@mccafe.com DocumentRoot /var/www/mccafe.com </VirtualHost>
デーモンを再起動し、インターフェイスに複数のアドレスを振れば完了です。
# ip addr add 10.0.1.2/16 dev enp0s3
# ip addr add 10.0.1.3/16 dev enp0s3
10.0.0.1にアクセスすれば/var/www/hoge.com
10.0.0.2にアクセスすれば/var/www/mccafe.comを参照します。
- 関連記事
-
-
ASUS EeeBook X205TAにXubuntuをインストール 2015/06/26
-
OpenSSHサーバの設定 2015/04/22
-
Apache2 バーチャルホストの設定 2015/04/09
-
Apache2 Webサーバを構築してみる 2015/04/06
-
BINDでDNSサーバを構築してみる 2015/04/05
-