こんにちは、エンジニアのオオバです。
NGINXを動かしている時に
見たことのないエラーに遭遇しました。
[error] 3664#3664: *5 "/usr/share/nginx/html/index.html" is
forbidden (13: Permission denied)
NGINXのエラーログは
/var/log/nginx/error.log
で
確認できます。
解決までの手順を解説していきます。
→11万文字で徹底解説した「DOTweenの教科書」Unityアニメーションの超効率化ツールはこちら
結論:SELINUXとアクセス制御を無効化する
結論を先に書いてしまうと、
今回の対応はコチラです。
$ sudo setenforce 0
でアクセス制御の無効化/etc/selinux/
内のconfigをSELINUX=disabled
に編集- NGINXを再起動
アクセス権限が不十分
[error] 3664#3664: *5 "/usr/share/nginx/html/index.html" is
forbidden (13: Permission denied)
「パーミッション(アクセス権限)が不十分です」というエラー。
調査すると、SELinuxが影響しているということがわかりました。
【ざっくりと理解する】SELinuxとは?
SELinuxのステータスを確認
以下のコマンドで、現状のSELinuxのステータスを確認します。
$ sudo getenforce
するとEnforcing
と出力されます。
Enforcingの意味は?
- アクセス制御有効
- SELinuxが有効
Enforcingとは上記の状態です。
今回セキュリティを意識する必要のない
ローカル環境であるため、アクセス制御を無効化と
SELinuxを無効化します。
アクセス制御を無効化
以下のコマンドでアクセス制御を無効します。
$ sudo setenforce 0
再度SELinuxのステータスを確認します。
$ sudo getenforce
permissive
と出ればアクセス制御は無効状態です。
SELinuxの無効化
この状態ではエラーが出てしまうため、
SELinux自体も無効化します。
/etc/selinux/config
を開きます。
SELINUX=disabled
このように編集します。
NGINXを再起動すればSELinuxは無効化されます。
これでページにアクセスできるようになるかと思います。
この記事が気に入ったらフォローしよう
オススメ記事