Apache, es un programa que se ejecuta en segundo plano. Apache es iniciado originalmente por el usuario root
(también llamado root-process
). Esto root-process
inicia varios procesos secundarios que manejan las solicitudes del cliente. Por razones de seguridad, los procesos secundarios no son ejecutados por el usuario root
sino como un usuario con privilegios mínimos. Por lo general, este usuario se llama apache
o www-data
.
Para saber qué usuario es para apache v1:
ps -ef | grep httpd | grep -v grep
o para apache v2:
ps -ef | grep apache | grep -v grep
El resultado para apache 2 será algo como esto:
raíz 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
En este caso, el usuario / grupo es www-data
Entonces, para que el servidor web pueda escribir un directorio, debemos establecer el propietario o grupo del directorio en el propietario o grupo de Apache y habilitar el permiso de escritura para él. Por lo general, configuramos el directorio para que pertenezca al grupo Apache ( apache
o `www-data o cualquier usuario que se use para iniciar los procesos secundarios) y habilitamos el permiso de escritura para el grupo.
chgrp www-data /path/to/mydir
chmod g+w /path/to/mydir
( www-data
es el nombre que encontraste con el ps
comando anterior).
Respecto a:
2) También me han dicho que haga que el directorio app / runtime sea de escritura web. ¿Es esto lo mismo que apache escribible?
Sí, este es un directorio que debe configurar para que se pueda escribir en el grupo que Apache espera. Probablemente esto sea en algún lugar /var/www/
o esté configurado como un host virtual en /etc/apache2/sites-enabled/
y / o/etc/apache2/sites-available