CentOS 7でApacheを設定するたびに、「(13) Permission denied: file permissions deny server access
」が表示されます。 」エラーは次のとおりです:
[Fri Nov 12 06:29:24.901157 2021] [core:error] [pid 8287] (13)Permission denied: [client 192.168.10.12:15979] AH00132: file permissions deny server access: /var/www/html/admin/images/logo.png
ファイルのアクセス許可を修正する方法は、Apacheでサーバーアクセスを拒否します
ステップ1: 以下のApache構成を確認してください これにより、すべてのファイルとURLへのアクセスがブロックされます。
<Directory /> Order deny,allow Deny from all </Directory>
代わりに、次のようになります。
<Directory /> Order allow,deny Allow from all </Directory>
ステップ2: 読み取り/書き込み権限を確認する あなたのウェブサイトのルートフォルダとApacheに必要なファイルの。 Apacheがファイル/フォルダーに対して読み取り/書き込みを行うためのアクセス許可を提供するには、次のコマンドを実行します。
# chmod -R 755 /var/www/html上記のコマンドの-Rオプション
Webiteのルートロケーションにあるすべてのファイルとフォルダのユーザー権限を再帰的に更新します。
ステップ3: ウェブサイトのルートフォルダ/ファイルの所有権を確認してください 。所有権はApache(www-dataまたはapache)である必要があります。まず、次のコマンドを使用して、システムでApacheプロセスによって使用されているユーザーを見つけます。
# egrep -iw --color=auto '^user|^group' /etc/httpd/conf/httpd.conf
または
# ps aux | egrep '([a|A]pache|[h|H]ttpd)' | awk '{ print $1}' | uniq | tail -1
次に、以下のコマンドを使用して、それに応じて所有権を変更します。
# chown -R www-data:root /var/www/html
または
# chown -R apache:root /var/www/html
ステップ4:SELinux(Security-Enhanced Linux)を確認します。 chcon
を使用する必要がある場合があります 次のようにWebサイトのルートディレクトリのセキュリティコンテキストを設定するコマンド:
# chcon -R -h -t httpd_sys_content_t /var/www/html
同様のApacheSELinux関連の問題:
ストリームを開くことができませんでした:許可が拒否されました[Apache]