イメージフォルダーとアセットフォルダーを作成する必要があり、「Apacheが書き込み可能である」ことを確認する必要があると言われました。また、app/runtimeディレクトリをWeb書き込み可能にするように言われました。これはApacheの書き込み可能と同じですか?その場合:
どうすればすぐにそれを行うことができますか、それを知ることができますか?
ls -l
を実行すると、次のようなメッセージが表示されます。
drwxr-xr-x 13 user user 4096 2011-08-26 10:23 app
drwxr-xr-x 4 user user 4096 2011-08-26 10:23 runtime
drwxr-xr-x 2 user user 4096 2011-08-26 11:11 images
drwxr-xr-x 2 user user 4096 2011-08-26 11:12 assets
Apacheは、バックグラウンドで実行されるプログラムです。 Apacheは元々ユーザーroot
(root-process
とも呼ばれます)によって起動されます。このroot-process
は、クライアント要求を処理するいくつかの子プロセスを起動します。セキュリティ上の理由から、子プロセスはユーザーroot
ではなく、最小限の特権を持つユーザーとして実行されます。通常、このユーザーの名前はApache
またはwww-data
です。
これがApache v1のユーザーであるかどうかを確認するには:
ps -ef | grep httpd | grep -v grep
またはApache v2の場合:
ps -ef | grep Apache | grep -v grep
Apache 2の結果は次のようになります。
root 5001 1 0 07:21? 00:00:00/usr/sbin/Apache2 -k start www-data 5021 5001 0 07:21? 00:00:00/usr/sbin/Apache2 -k start www-data 5022 5001 0 07:21? 00:00:00/usr/sbin/Apache2 -k start www-data 5023 5001 0 07:21? 00:00:00/usr/sbin/Apache2 -k start
この場合、ユーザー/グループはwww-data
です
そのため、ウェブサーバーがディレクトリを書き込み可能にするには、ディレクトリの所有者またはグループをApacheの所有者またはグループに設定し、書き込み許可を有効にする必要があります。通常、ディレクトリをApacheグループ(Apache
または `www-dataまたは子プロセスの起動に使用される任意のユーザー)に属するように設定し、グループの書き込み権限を有効にします。
chgrp www-data /path/to/mydir
chmod g+w /path/to/mydir
(www-data
は、上記のps
コマンドで見つけた名前です)。
に関して:
2)app/runtimeディレクトリをWeb書き込み可能にするように言われました。これはApacheの書き込み可能と同じですか?
はい、これはApacheが期待するグループに対して書き込み可能に設定する必要があるディレクトリです。おそらくこれは/var/www/
のどこかにあるか、/etc/Apache2/sites-enabled/
および/または/etc/Apache2/sites-available
の仮想ホストとして設定されています