Apache, est un programme fonctionnant en arrière-plan. Apache est initialement démarré par l'utilisateur root
(également appelé root-process
). Cela root-process
lance plusieurs processus enfants qui gèrent les demandes des clients. Pour des raisons de sécurité, les processus enfants ne sont pas exécutés par l'utilisateur root
mais en tant qu'utilisateur avec des privilèges minimaux. Habituellement, cet utilisateur est nommé apache
ou www-data
.
Pour savoir de quel utilisateur il s'agit pour apache v1:
ps -ef | grep httpd | grep -v grep
ou pour apache v2:
ps -ef | grep apache | grep -v grep
Le résultat pour apache 2 sera quelque chose comme ceci:
racine 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
Dans ce cas, l'utilisateur / groupe est www-data
Ainsi, afin de rendre un répertoire accessible en écriture par le serveur Web, nous devons définir le propriétaire ou le groupe du répertoire sur le propriétaire ou le groupe d'Apache et activer l'autorisation d'écriture pour celui-ci. Habituellement, nous définissons le répertoire pour appartenir au groupe Apache ( apache
ou `www-data ou tout autre utilisateur utilisé pour lancer les processus enfants) et activons l'autorisation d'écriture pour le groupe.
chgrp www-data /path/to/mydir
chmod g+w /path/to/mydir
( www-data
est le nom que vous avez trouvé avec la ps
commande ci-dessus).
En ce qui concerne:
2) On m'a également dit de rendre le répertoire app / runtime accessible en écriture sur le Web. Est-ce la même chose qu'apache accessible en écriture?
Oui, c'est un répertoire que vous devez définir en écriture pour le groupe qu'Apache attend. Ce sera probablement quelque part dans /var/www/
ou il est défini comme un hôte virtuel dans /etc/apache2/sites-enabled/
et / ou/etc/apache2/sites-available