許可が拒否されました:/home/.htaccess pcfg_openfile:htaccessファイルを確認できません


13

このドメインは今朝機能していましたが、エラーログに403エラーと上記のメッセージが表示されます。私は.htaccessファイルを使用していませんが、サーバー上でコピーを行っているので、混乱している可能性がありますが、このドメインは変更されていません(偶然でない限り!)。とにかくこのpcfg_openfileのことは何ですか?

グーグルの多くを行ったが、これらの状況に合うソリューションはありませんでした。サーバーはubuntu Hardy Heronです。

回答:


19

Webサーバーが.htaccessを探しているディレクトリ(またはその親の1つ)のアクセス権を変更したため、Webサーバーは.htaccessファイルがあるかどうかを確認できなくなりました。

最初に、ディレクトリのアクセス許可を修正します(Webサーバープロセスでrxにする必要があります。そのため、dirをグループ書き込み可能にするかどうかに応じて、755または775にします)。ファイルシステムのルート(つまり/)にバックアップするすべての親ディレクトリの許可がWebサーバーによってrxであることを確認する必要があることに注意してください。

そして、実際に.htaccessファイルを使用しておらず、将来それらを使用するつもりがない場合(つまり、すべての構成をhttpd.conf / apache.confに配置する場合)、Apache構成のhtaccessファイルを無効にします。

現在のディレクトリおよびすべての親ディレクトリにある.htaccessファイルの存在、読み込み、および解析をドキュメントルートに戻すことで、パフォーマンスがわずかに低下します。それは非常に小さいですが、多くのリクエストがある場合は加算されます。


スポットオン。somehomeで/ homeディレクトリのアクセス権を変更することができましたが、他のすべてが台無しになりました。本当にありがとうございます!
user19196

2

サーバーが.htaccessを読み取れないことが明らかでない場合(0755または.htacessおよびツリーの残りの部分はwww-dataグループにあります)、***を実行するonwer:groupのみの上位ディレクトリルートを検索します* not ****にはワールド実行アクセスがあります。

Apacheがファイルを見つけるには、ツリーを下方向に検索する必要があります。root:rootであるディレクトリにグローバルな実行アクセス権がない場合、これを行うことはできません。

私はこれを数回つまずいてきました.... :-)


「root:rootであるディレクトリにグローバルな実行アクセス権がない場合、これを実行できません。」それは常に真実ではありません。suPHPを実行している場合、PHPはファイル所有者として実行されています。理論的には、ファイル所有ユーザーに切り替えてApacheのアクセスをテストし、そこをナビゲートできるかどうかを確認できるはずです。
バトルビュータス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.