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 доступным для веб-записи. Это так же, как Apache для записи?
Да, это каталог, который вам нужно установить для записи для группы, которую ожидает Apache. Вероятно, это будет где-то в /var/www/
или он установлен в качестве виртуального хоста в /etc/apache2/sites-enabled/
и / или/etc/apache2/sites-available