未定義ホスト用バーチャルホストの設定ファイル作成
未定義ホスト名でのアクセスを拒否
#vi /etc/httpd/conf.d/any.conf
<VirtualHost _default_:80> ServerName any <Location /> Require all denied </Location> </VirtualHost>
メインサイト用のバーチャルホスト設定ファイル作成
メインサイトの設定ファイルは必ずファイル名の先頭に「01」等の数字を付ける。
参考記事「バーチャルホストのデフォルトサーバーの設定方法と確認方法」
#vi /etc/httpd/conf.d/01main.conf
<VirtualHost *:80> ServerName main.com DocumentRoot /var/www/html </VirtualHost>
サブサイト用のバーチャルホスト設定ファイル作成
#vi /etc/httpd/conf.d/sub.conf
<VirtualHost *:80> ServerName sub.com DocumentRoot /var/www/sub ErrorLog logs/sub_error_log CustomLog logs/sub_access_log combined env=!no_log </VirtualHost>
※DocumentRootは完全に独立させるために「/var/www/html/sub」のようにメインサイトのDocumentRootの下には置かない。
メインサイトで「https://main.com/sub/」 にアクセスするとワードプレスの404Notfoundページが表示されセキュリティ的にも気持ちもよくない。
テストページの設置
#vi /var/www/html/idnex.html
<html> <body> <div style="width: 100%; font-size: 40px; font-weight: bold; text-align: center;"> Main Page </div> </body> </html>
#vi /var/www/sub/idnex.html
<html> <body> <div style="width: 100%; font-size: 40px; font-weight: bold; text-align: center;"> Sub Page </div> </body> </html>
設定の反映
書式の間違いがないか?の確認
#httpd -t
httpdの再起動
#systemctl restart httpd
「http://www.main.com」と「http://www.sub.com」にブラウザでアクセスして表示確認する。
参考サイト
「バーチャルホスト設定 – CentOSで自宅サーバー構築」
「Apache httpd : バーチャルホストの設定」