Apache to program działający w tle. Apache jest początkowo uruchamiany przez użytkownika root
(nazywany również root-process
). To root-process
uruchamia wiele procesów potomnych, które obsługiwać żądania klientów. Ze względów bezpieczeństwa procesy potomne nie są uruchamiane przez użytkownika, root
ale jako użytkownik z minimalnymi uprawnieniami. Zwykle ten użytkownik ma na imię apache
lub www-data
.
Aby dowiedzieć się, kto to jest dla apache v1:
ps -ef | grep httpd | grep -v grep
lub dla Apache v2:
ps -ef | grep apache | grep -v grep
Wynik dla Apache 2 będzie mniej więcej taki:
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
W tym przypadku użytkownikiem / grupą jest www-data
Aby serwer mógł zapisywać katalog w katalogu, musimy ustawić właściciela lub grupę katalogu na właściciela lub grupę Apache i włączyć dla niego uprawnienia do zapisu. Zazwyczaj ustawiamy katalog, aby należał do grupy Apache ( apache
lub `www-data lub dowolny inny użytkownik używany do uruchamiania procesów potomnych) i umożliwiamy grupie uprawnienie do zapisu.
chgrp www-data /path/to/mydir
chmod g+w /path/to/mydir
( www-data
to nazwa znaleziona za pomocą ps
powyższego polecenia).
Jeżeli chodzi o:
2) Powiedziano mi również, aby umożliwić zapisywanie w katalogu app / runtime w sieci. Czy to to samo, co zapisywanie w Apache?
Tak, jest to katalog, w którym musisz ustawić zapis w grupie, której oczekuje Apache. Prawdopodobnie będzie to gdzieś wewnątrz /var/www/
lub zostanie ustawione jako wirtualny host w /etc/apache2/sites-enabled/
i / lub/etc/apache2/sites-available
mkdir dirname && chgrp www-data dirname
R
zrobi wszystkie katalogi, z których wydasz polecenie. Jest na to wiele sposobów;)ps -ef | grep [a]pache
jest wspólnym idiomem pozwalającym uniknąć fałszywejgrep
linii na wyjściu.