Apache2.4でDocumentRootを/home/user_name にしたらForbidden 403 | クズリーマンのカス備忘録

Apache2.4でDocumentRootを/home/user_name にしたらForbidden 403

apache logo Apache
スポンサーリンク

環境

  • 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

見れるようになりました。

コメント

タイトルとURLをコピーしました