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の結果は次のようになります。
ルート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
そのため、Webサーバーがディレクトリを書き込み可能にするには、ディレクトリの所有者またはグループを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 writableと同じですか?
はい、これはApacheが期待するグループに書き込み可能に設定する必要があるディレクトリです。おそらくこれはどこでだろう/var/www/
か、それが仮想ホストとして設定され/etc/apache2/sites-enabled/
、および/または/etc/apache2/sites-available