私はApache 2.4とPHP 5.6.27でFedora 23を実行しています。 ApacheとPHPはどちらも標準のFedoraリポジトリからインストールされます。
私の問題は、Require all granted
私のWebサイトのWebホスト構成設定にもかかわらず、私のWebサイト(および私のブラウザ)を閲覧しようとすると、次のエラーがまだ発生することです403 Forbidden
。
AH01630: サーバー構成によってクライアントが拒否されました: /home/kevin/appsdev/mywebapp/phpinfo.php
これは私の仮想ホスト構成です。
<VirtualHost 172.16.3.52:80>
ServerName localdev.mywebapp.net
DocumentRoot /home/kevin/appsdev/mywebapp
<Directory /home/kevin/appsdev/mywebapp>
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
上記の設定は、Apacheに付属のデフォルト設定ファイルの末尾に追加されますhttpd.conf
。
Apacheはユーザーとして実行されますapache
。
また、所有権を次のように設定しました/home/kevin/appsdev/mywebapp
。
chown -R apache:apache /home/kevin/appsdev/mywebapp
私の権限は次のとおりです。
chmod -R 755 /home/kevin/appsdev/mywebapp
私も(やや遊び心のある)変更を試しました。
<Directory />
AllowOverride none
Require all granted ## default is: Require all denied
</Directory>
私もselinuxを無効にしました。
.htaccess
ホームページにファイルがありません。
Apacheを再起動しましたが、まだAH01630: client denied by server configuration..
ブラウザにエラーとaが表示されます。403 Forbidden
ランニングがhttpd -t
私に教えてくれるSyntax OK
ので、何の問題もありません。
私が何を間違っているのでしょうか?少し混乱していますか?
答え1
Webサーバーを実行しているユーザー(apache
デフォルトでは)はファイルを開くことができる必要があります。これは意味するすべてのルートアクセス可能でなければなりません。わかりました。 home dirを使用しています/home/kevin
。これらのディレクトリはユーザーやユーザーグループ(たとえば)に対してのみ0750
正しく設定されるため、Apacheはそのディレクトリにアクセスできません。
その中にあるファイルやディレクトリへのアクセスを許可できますがchmod o+x /home/kevin
、誰でもホームディレクトリを読むことができます(正しいパスを知っている場合)。より良い解決策は、ホームディレクトリを使用せずにファイルを/var/www/
orに入れ、/srv/
apacheとユーザーに正しい権限を与えることです。
それにもかかわらず、常にエラーログの適切なセクションを質問に添付してください。この問題に関する追加情報が必要です。