ApacheのVirtual Hostの機能で複数のサイトを表示するサンプルです。
(確認環境:XAMPP,Apache/2.4.46,Windows 10)
目次
サンプル | Virtual Hostとは |
やりたいこと | |
httpd.confファイルを修正する | |
自作の外部ファイルに記述する | |
設定の確認 |
Virtual Hostとは
ApacheのVirtual Hostの機能は、複数のドメインのWebサイトを同一のサーバ上(Apache)で管理できます。
Virtual Hostは、各Webサイトに対して独自の設定を行うことができます。
例えば、それぞれのWebサイトに対して異なるドキュメントルート、接続許可/拒否設定、ログ設定などを行うことができます。
やりたいこと
フォルダを2つ作りそれぞれにindex.htmlを配置します。
htmlファイル1
D:\xampp\htdocs\virtual-test1\index.html
<p>virtual-test1</p>
htmlファイル2
D:\xampp\htdocs\virtual-test2\index.html
<p>virtual-test2</p>
apacheを起動しURLのポート番号を変えることで、2つのindex.htmlがそれぞれ表示されるようにします。
httpd.confファイルを修正する
1.httpd.confファイルの最終行に自作の外部ファイルを読み込む記述をします。
D:\xampp\apache\conf\httpd.conf
# VirtualHostのテスト
Include conf/VirtualHost-test.conf
#はコメントです。
自作の外部ファイルは以下に配置しました。
D:\xampp\apache\conf\VirtualHost-test.conf
自作の外部ファイルに記述する
自作の外部ファイルに記述します。
D:\xampp\apache\conf\VirtualHost-test.conf
Listen 201
Listen 202
<VirtualHost *:201>
DocumentRoot "D:\xampp\htdocs\virtual-test1"
ServerName virtual-test1.com
</VirtualHost>
<VirtualHost *:202>
DocumentRoot "D:\xampp\htdocs\virtual-test2"
ServerName virtual-test2.com
</VirtualHost>
1行目は、ポート番号201をListenしています。
2行目は、ポート番号202をListenしています。
4行目は、ポート番号が201のとき、5行目のフォルダ配下をみにいきます。
9行目は、ポート番号が202のとき、10行目のフォルダ配下をみにいきます。
6,9行目のServerNameはhostsファイルに記述するホスト名とは異なります。ServerNameの値のみ記述してブラウザで指定しても画面は表示されません。
設定の確認
http://localhost:201/でアクセスすると以下のように表示されます。
http://localhost:202/でアクセスすると以下のように表示されます。
関連の記事