Apache(LAMPスタック)でUbuntuを実行しています。 webrootを/ var/wwwから/ media/data/wwwに変更すると、chmod-ing
ディレクトリ+ファイルを777にした後でも403 Forbiddenを取得し続けます。何を間違えましたか?また、/ var/wwwを参照すると、ディレクトリ+ファイルがroot
によって所有されていることに気付きました。 www-root
であってはなりませんか?また、ルートの場合、Apacheはアクセスできませんか?
私は次のようなエラーが発生していることに気付きました
[2011年5月11日11:53:40 2011] [crit] [client 127.0.0.1](13)Permission denied:/media/data/.htaccess pcfg_openfile:htaccessファイルを確認できません。読み取り可能であることを確認してください
しかし、私のウェブルートは/media/data/jm/www
です
痛いよ.
エラー13は権限エラーに関連しています。 Linuxでは、フォルダーを実行できるように実行ビットが必要です。そのため、Apacheを実行しているユーザーがフォルダーの所有者である場合、/media/data
および/media/data/jm
のアクセス許可が755 OR 700に設定されていることを確認してください。
root
はLinuxシステムの神です。おそらく、Sudo
(super-user do ...
)を使用してchmodコマンドを実行しているでしょう。 Apacheプロセスは、ファイルを読み取ることができる必要があります(たとえば、キャッシュに書き込む必要がある動的言語を使用している場合は書き込みます)。 Ubuntuでは、このユーザーはwww-data
(www-root
ではありません)です。
アクセス許可を復元し、Apacheがファイルを所有するようにするには、次を実行します。
Sudo chown -R www-data /media/data/jm/www
Sudo find /media/data/jm/www -type f -exec chmod 600 {} \;
Sudo find /media/data/jm/www -type d -exec chmod 700 {} \;
最初のコマンドは所有権をwww-data
に変更し、2番目のコマンドはファイル許可を600(所有者の読み取り/書き込み)に、3番目のディレクトリをディレクトリに変更します。
/media/data
は、2番目のパーティションを作成したようです。ファイルシステムがLinuxファイル許可をサポートしていることを確認してください。 ext2、ext3、ext4があります。 NTFSおよびFAT32はサポートしていません。 Sudo file -s $(readlink -f /dev/disk/by-label/data)
を実行することで確認できます。