CentOS 5.6のApacheは、アクセス許可拒否エラーを表示します


10

CentOS 5.6でApacheを実行しています。/var/www/html(Apacheのデフォルトのルートディレクトリ)以外のディレクトリにphpスクリプトをロードしようとすると、アクセス権拒否エラーが表示されます。

ただし、新しいルートディレクトリ(/ var / www-dev)のアクセス許可をデフォルトのディレクトリ(/ var / www / html)に対してチェックすると、それらは同じように一致します。両方とも言う:root:root 755

私は所有権をapache:apacheに変更しようとしましたが、それでも同じエラーが発生しました

しかし、Apacheの設定を変更すると、デフォルトのルートディレクトリ(/ var / www / html)に戻り、すべてが機能します。

私は何か間違ったことをしていますか?

これらは私が変更している設定です:

DocumentRoot "/var/www/html"

<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

注:私はapacheの構成とアクセス許可を変更するたびにapacheを再起動しています。

同様に、私はREMIとEPELも有効にしています


SELinuxは有効ですか?
Bart De Vos、

@TiZon私はそうは思わない。それでいいの?
koeder、2011年

正確なメッセージを教えていただけますか?この「アクセス許可は拒否されました」は、ファイルシステムからのものですか、それともapacheから直接のものですか(たとえば、いくつかのOrderディレクティブによって)。そして、error.logファイルにメッセージがありますか?
Raffael Luthiger、2011年

そして、これらの2つのサブディレクトリに.htaccessファイルがあるかどうかを確認します。
Raffael Luthiger、

1
@TiZonに感謝!SELinuxが有効になりました。/ etc / selinux / configファイルの編集を無効にすると、私のWebアプリは他のディレクターにロードできました。
koeder、2011年

回答:


11

通常、これはSelinuxがフォルダへのアクセスを許可していないことが原因です。行う

ls -alZ /var/www/

htmlフォルダーにコンテキストsystem_u:object_r:httpd_sys_content_tがない場合は、chconで修正します

chcon -v -R --type=httpd_sys_content_t /var/www/html

http://wiki.centos.org/HowTos/SELinux


@Julien Vehent、ありがとう!この方法では、SELinuxをまとめて無効にするのではなく、特定のフォルダーのSELinux権限を編集できるので、答えをお返しします。どうもありがとうございました。これはうまくいった!頭痛を和らげてくれました。
koeder、
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.