Apache, è un programma in esecuzione in background. Apache è stato originariamente avviato dall'utente root
(chiamato anche root-process
). Ciò root-process
avvia diversi processi figlio che gestiscono le richieste del client. Per motivi di sicurezza, i processi figlio non vengono eseguiti dall'utente root
ma come utente con privilegi minimi. Di solito questo utente è chiamato apache
o www-data
.
Per sapere quale utente è per apache v1:
ps -ef | grep httpd | grep -v grep
o per apache v2:
ps -ef | grep apache | grep -v grep
Il risultato per apache 2 sarà simile al seguente:
radice 5001 1 0 07:21? 00:00:00 / usr / sbin / apache2 -k inizio
www-data 5021 5001 0 07:21? 00:00:00 / usr / sbin / apache2 -k inizio
www-data 5022 5001 0 07:21? 00:00:00 / usr / sbin / apache2 -k inizio
www-data 5023 5001 0 07:21? 00:00:00 / usr / sbin / apache2 -k inizio
In questo caso l'utente / gruppo è www-data
Quindi, al fine di rendere scrivibile una directory dal server web, dobbiamo impostare il proprietario o il gruppo della directory sul proprietario o sul gruppo di Apache e abilitarne l'autorizzazione in scrittura. Di solito, impostiamo la directory in modo che appartenga al gruppo Apache ( apache
o `www-data o qualunque utente venga utilizzato per avviare i processi figlio) e abilitiamo il permesso di scrittura per il gruppo.
chgrp www-data /path/to/mydir
chmod g+w /path/to/mydir
( www-data
è il nome che hai trovato con il ps
comando sopra).
Per quanto riguarda:
2) Mi è stato anche detto di rendere la directory app / runtime scrivibile sul web. È lo stesso di Apache scrivibile?
Sì, questa è una directory che devi impostare scrivibile per il gruppo che Apache si aspetta. Probabilmente questo sarà da qualche parte /var/www/
o è impostato come host virtuale in /etc/apache2/sites-enabled/
e / o/etc/apache2/sites-available