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开始
www-data 5021 5001 0 07:21?00:00:00 / usr / sbin / apache2 -k开始
www-data 5022 5001 0 07:21?00:00:00 / usr / sbin / apache2 -k开始
www-data 5023 5001 0 07:21?00:00:00 / usr / sbin / apache2 -k开始
在这种情况下,用户/组是 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目录设置为可写网络。这与apache可写相同吗?
是的,您需要将该目录设置为可写到Apache期望的组。可能在其中某处,/var/www/
或在其中/etc/apache2/sites-enabled/
和/或中将其设置为虚拟主机/etc/apache2/sites-available