Apacheフォルダ権限エラー

Apacheフォルダ権限エラー

ファイルを提供するためにApacheを設定したフォルダ名があり、public何らかの理由で403エラーメッセージが表示されます。

このサーバーに/アクセスする権限がありません。

test私の解決策は、隣に別のフォルダ()を作成し、それを使用してファイルを提供することでした。

私が理解できないのは、なぜ2つのフォルダ間の権限が同じですが、最初のフォルダを使用すると権限エラーが発生する理由です。

これをどのようにさらに診断できますか?

ls -l以下を提供します。

drwxrwxr-x 2 daniel daniel 4096 Apr 26 19:10 public
drwxrwxr-x 2 daniel daniel 4096 Apr 26 19:10 test

編集する

コンテンツ/etc/apache2/sites-available/000-default.conf

<VirtualHost *:80>
    DocumentRoot /home/daniel/public/default/public/
    DirectoryIndex index.html index.php
    LogLevel warn
    ErrorLog /home/daniel/public/default/log/error.log
    CustomLog /home/daniel/public/default/log/access.log combined
</VirtualHost>

次のディレクティブが設定されています/etc/apache2/apache2.conf

<Directory /home/daniel/public/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>

下で/home/daniel/public/default実行するls -Zd public test

drwxrwxr-x 2 daniel daniel ? 4096 Apr 28 13:44 public
drwxrwxr-x 2 daniel daniel ? 4096 Apr 28 13:44 test

ベストアンサー1

Apacheエラーログを確認することをお勧めします(/var/log/Apache/Debian/Ubuntu または/var/log/httpd/RedHatとその派生物について)。エラーログには、特権エラーやその他の問題がある場合は、より詳細なエラー指示が表示されます。

もう一度試すもう1つの方法は、Apacheユーザーを使用してsudoを使用してアクセスするファイルの数を数えることです。おおよそ次のようになります。

sudo -u apache2 stat /var/www/public/index.html

Webルートが/var/wwwにあり、Apacheサーバーがapache2ユーザーとして実行されているとします。上記のコマンドは、Apacheプロセスが(十分なファイルシステム権限を使用して)問題のファイルを読み取ることができることを確認します。読み取り可能な場合(権限の拒否ではなく統計出力が表示されます)、@mdpcが提案したように、Apacheサーバーの設定自体に問題がある可能性があります。

おすすめ記事