Apacheが「サーバー構成によってクライアントが拒否されました」と報告するのはなぜですか?

Apacheが「サーバー構成によってクライアントが拒否されました」と報告するのはなぜですか?

私は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とユーザーに正しい権限を与えることです。

それにもかかわらず、常にエラーログの適切なセクションを質問に添付してください。この問題に関する追加情報が必要です。

関連情報