Apache2.4バーチャルホスト設定

Apache2.4のバーチャルホスト設定の元になっているファイルは/etc/httpd/conf/httpd.confとなります。そのファイル内でいろいろなファイルをincludeしています(ファイル内でテキスト検索するとわかります)。既にCentOS7でLAMPが出来た状態を前提として設定していきます。独自ドメインを使いたい場合、浸透時間を考慮して、ネームサーバーの設定かDNSレコード編集を作業の一番最初に行うことを強く推奨します。DNSレコードのTTLについて、作業中は最短の60などに変えておき、作業が終わったら3600などに変えます。

IPアドレスや自動割当されている初期ホスト名へのリクエスト拒否の設定も行います。

  • Apache2.2は、A
  • pache2.4と設定が異なる部分があります。別の記事を探してください。
  • SSL(TLS)は何も考慮していません。

ドキュメントルートとバーチャルホスト専用のログディレクトリを作る

デフォルトのドキュメントルートへ移動。独自ドメインを設定するドキュメントルートとログディレクトリを新たに作る。※ -p オプションは、末尾のディレクトリに至るまでの上位ディレクトリを自動で作るため。

cd /var/www
mkdir -p hogehoge.com/{public_html,logs}

パーミッションをユーザーapache、グループnissyで念のために再帰的設定する。尚、Linuxの一般ユーザー作成は、CentOS7でLAMPにて参照ください。

chown -R apache:nissy /var/www/hogehoge.com/public_html

/var/wwwのグループと部外者の編集権限を念のために再帰的に禁止する

chmod -R 755 /var/www

表示テスト用のコンテンツを新しく作ったドキュメントルートでindex.phpとしてphpinfo()でつくる。※サーバーの各種設定が丸見えにならない様に、作業が終わったら必ずファイルを削除してください。

//編集
vi /var/www/hogehoge.com/public_html/index.php
//追記
<?php echo 'I am /var/www/hogehoge.com/public_html/index.php <br>'.phpinfo(); ?>

バーチャルホストを構成する

vi /etc/httpd/conf.d/vhost-hogehoge.com.conf

vhost-hogehoge.com.conf ファイル内の記載例。※日を改めてログローテーションも追記します。

<VirtualHost *:80>
    ServerName hogehoge.com
    ServerAlias www.hogehoge.com
    DocumentRoot /var/www/hogehoge.com/public_html
    ErrorLog /var/www/hogehohge.com/logs/error.log
    CustomLog /var/www/hogehoge.com/logs/requests.log combined
</VirtualHost>

httpd再起動

systemctl restart httpd

IPアドレスと初期ホスト名へのhttpリクエストを禁止

vhost-00.conf 作って編集します。

vi /etc/httpd/conf.d/vhost-00.conf

以下の様に、全ホスト名を拒否する設定を行います。※他のvhost-○△×.confが、vhost-00.confよりも先に読み込まれている前提です。脆弱性を減らすためにも必ず設定してください。

<VirtualHost *:80>
  ServerName any
  <Location />
    Require all denied
  </Location>
</VirtualHost>

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください