バーチャルホストに関する設定内容を確認する(httpd -t -D DUMP_VHOSTS)

Apache では 1 つの Apache サーバで複数の Web サーバを公開することのできるバーチャルホストの機能が用意されています。ここでは Apache で設定されたバーチャルホストに関する設定内容を表示する方法について解説します。

(Last modified: )

バーチャルホストに関する設定を確認する

Apache で行ったバーチャルホストに関する設定を確認するには次のように行います。

httpd -t -D DUMP_VHOSTS

-t -D DUMP_VHOSTS オプションを付けて httpd を実行してください。なおこのオプションをつけた場合はバーチャルホストに関する設定の確認だけを行って Apache は起動しません。

IPベースのバーチャルホストの場合

それでは実際に試してみます。バーチャルホストの設定は IP ペースと名前ベースの二通りがありますが、最初に IP ベースのバーチャルホストの設定を行った場合です。 httpd.conf に次のような設定を行いました。

<VirtualHost 192.168.10.104:80>
  ServerName    www.example.com
  ServerAdmin   admin@example.com
  DocumentRoot  d:/pg/Apache/Apache24/htdocs_com
</VirtualHost>

<VirtualHost 192.168.10.105:80>
  ServerName    www.example.jp
  ServerAdmin   admin@example.jp
  DocumentRoot  d:/pg/Apache/Apache24/htdocs_jp
</VirtualHost>

<Directory "${SRVROOT}/htdocs_com">
  Require all granted
</Directory>

<Directory "${SRVROOT}/htdocs_jp">
  Require all granted
</Directory>

それではコマンドプロンプトから httpd -t -D DUMP_VHOSTS を実行してみます。

バーチャルホストに関する設定を確認する(2)

2 つの IP アドレスがそれぞれどのバーチャルホストへアクセスされるのかのリストが表示されました。

※ IP ベースのバーチャルホストの設定方法については「ApacheでIPベースのバーチャルホストを利用する」を参照されてください。

名前ベースのバーチャルホストの場合

続いて名前ベースのバーチャルホストの設定を行った場合です。 httpd.conf に次のような設定を行いました。

NameVirtualHost 192.168.10.104:80

<VirtualHost 192.168.10.104:80>
  ServerName    www.example.com
  ServerAdmin   admin@example.com
  DocumentRoot  d:/pg/Apache/Apache24/htdocs_com
</VirtualHost>

<VirtualHost 192.168.10.105:80>
  ServerName    www.example.jp
  ServerAdmin   admin@example.jp
  DocumentRoot  d:/pg/Apache/Apache24/htdocs_jp
</VirtualHost>

<Directory "${SRVROOT}/htdocs_com">
  Require all granted
</Directory>

<Directory "${SRVROOT}/htdocs_jp">
  Require all granted
</Directory>

それではコマンドプロンプトから httpd -t -D DUMP_VHOSTS を実行してみます。

バーチャルホストに関する設定を確認する(1)

名前ベースの場合は 1 つの IP アドレスに対して複数の Web サーバを公開します。リクエストに含まれる情報からどのサーバへアクセスするのかを判断しますが、登録されているバーチャルホストのリストが表示されました。

なお「NameVirtualHost has no effect and will be removed in the next release D:/pg/Apache/Apache24/conf/httpd.conf:547」と表示がされていますが、 NameVirtualHost ディレクティブは記述が不要になったようです。

※ 名前ベースのバーチャルホストの設定方法については「Apacheで名前ベースのバーチャルホストを利用する」を参照されてください。

-- --

Apache で設定されたバーチャルホストに関する設定内容を表示する方法について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。