環境
- Rocky Linux 9.3 (Dockerコンテナ)
- Apache 2.4.57
事象
Rocky Linux9.3 において、dnf install した、Apache/2.4.57 で、デフォルトの設定より、
DocumentRootを
/home/hogehoge
に変更しました。
また、/etc/httd/conf.d/ 配下にある以下のファイルを無効化しました。
- autoindex.conf
- userdir.conf
- welcome.conf
/home/hogehoge のパーミッションは、775です。
/home/hogehoge/index.html のパーミッションは、644です。
systemctl restart httpd により、apacheを再起動しました。
しかし、Webブラウザでアクセスすると、403 Forbiddenになります。
error_logを見ると以下の記述があります。
[Thu Feb 29 07:43:59.158151 2024] [authz_core:error] [pid 1096:tid 1208] [client 127.0.0.1:43034] AH01630: client denied by server configuration: /home/hogehoge/
原因
Apache 2.4からは、ディレクトリに対するアクセス制御が変更され、Requireディレクティブを使用して設定を行うようになりました。
これが原因やった。
/home/hogehoge/public_html/ をDocumentRootにする場合は、userdir.confに以下の記述があるから意識せんでもエラーなくいけてたんやな。
Require method GET POST OPTIONS
対処
conf.d/ 配下にhoge.conf を新たに作成し、以下を追記。
<Directory /home/hogehoge>
Require all granted
</Directory>
apacheをリブート。
$ sudo systemctl restart httpd.service
見れるようになりました。
コメント