apacheでForbiddenが出た時の設定の見直し方法
apacheでForbiddenが出てしまい、作ったサーバにアクセスできないという時に確認することを備忘録として残していきます。
また、間違いもあるかもしれませんので、ご指摘等ございましたら修正します。
環境
- Ubuntu 16.04
- Apache 2.4.18
apache2.conf, .htaccessが原因の場合
- You don't have permission to access / on this server.
- You don't have permission to access /index.html on this server.
Forbidden以外にこのようなことが書かれていたらapache2.conf
もしくは.htaccess
が原因の可能性があります。
apache2.confの対処法
apache2.conf
は/etc/apache2/apache2.conf
に格納されています。
こちらのファイルを見ていくと...
<Directory /var/www/> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory>
このようなのがあるかと思います。
わたしの場合は、Require all granted
となっていますがRequire all denied
またはRequire 192.168.xx.xx
などと設定されている場合アクセスを制限しています。
qiita.com
.htaccessの対処法
.htaccessはデフォルトであるファイルではなく、作成されたファイルとなっています。
こちらはIPで制限し、あるディレクトリ下からは外部からアクセスできないようにするなどといった設定の際に使用します。
こちらのファイルはアクセスできないディレクトリ下に置いてあるかと思います。
探す場合は$sudo find / -name .htaccsess
と入力することで見つかるはずです。
こちらのファイルも開くとIPなどの制限がかけてあることが原因の可能性があります。
htaccess.cman.jp
000-default.confが原因の場合
- You don't have permission to access this resource.
このような文字列が出てくるかと思います。
こちらは000-default.conf
で制限されている可能性があります。
000-default.conf
では、Apacheサーバ内のシンボリックリンクを定義しているファイルのようです。000-default.conf
は/etc/apache2/sites-available/000-default.conf
にあります。
こちらのファイルを開きIPなどが書かれている場合、削除し書き換えてください。 qiita.com
まとめ
Apacheはあまり得意でないため、このようなIP制限によって半日くらい苦しめられました。
You don't have permission to access this resource.という言葉が検索にヒットしなかったため、苦しみ続けたのでこれが誰かの助けになれば幸いです。