IT実践

Apache 2.4でバーチャルホストを実際に運用する際の参考記事

  • このエントリーをはてなブックマークに追加
  • LINEで送る

最近はNginxばかりでしたが、久しぶりにApacheでWebサーバーを立ち上げた際にはまりました。

バーチャルホスト設定をすると403 Forbinddedが表示されます。
検索するとApache 2.4のFAQみたいで情報が山ほど見つかりました。

どの<Directory>ディレクティブが適用されるのか

Apacheが正常に起動すると表示される「It works!」
この段階ではhttpd.confに記述されている以下の設定が適用されます。

<Directory "/usr/local/www/apache24/data">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

バーチャルホストを含め、運用開始後にこのディレクトリを使うことは少なく、その場合にはhttpd.confの少し下に記述されている以下の設定が適用されます。

<Directory />
    AllowOverride none
    Require all denied
</Directory>

それに加えてApache 2.2までとはアクセス許可の記述方法が変わっているため、403 Forbinddedに悩まされる人が多かったようです。

バーチャルホスト実運用での<Directory>記述場所

バーチャルホスト環境で実際に運用する際は、新しくサイトを追加するたびに<VirtualHost>ディレクティブを追加していくため、なるべく短い方が理想です。
そのため、上記の<Directory>ディレクティブをhttpd-vhosts.confの(httpd.confでも好みで)最初にワイルドカードで書いておくと便利です。

/usr/local/etc/apache24/extra/httpd-vhosts.conf

<Directory /home/*/public_html>
    AddHandler cgi-script .cgi
    Options FollowSymlinks Includes
    AllowOverride All
    Require all granted
</Directory>

何か手伝えることはありませんか?

「Web制作の人手が足りない」

「ネットショップの担当者が急に辞めた」

「サーバーの設定が苦手」

「九州のクライアントに対応できる業者を探している」

ご要望にお応えできるかもしれません。
零細ながらもデザイン・システム・サーバー運用全てを自社で15年以上行っているので柔軟な対応が可能です。

Web秘書に無料で聞いてみる

関連記事