Apache tiene que ejecutarse inicialmente como root para vincularse al puerto 80. Si no lo ejecuta inicialmente como root, entonces no puede vincularse al puerto 80. Si desea vincularse a algún puerto por encima de 1024, entonces sí, puede hacerlo. De lo contrario, no te preocupes por la raíz. Ese es el proceso principal de Apache y no atiende ninguna solicitud. Generará procesos secundarios y eliminará privilegios para manejar solicitudes.
Para cambiar el usuario de Apache, configure el User
y Group
parámetros en su configuración de Apache.
@bahamat lo explica bastante bien, pero agregaré un poco más de detalle.
En el curso de la operación normal, el proceso apache propiedad de la raíz no realizará ninguna operación real que no sea escuchar en el puerto 80 y reenviar las conexiones entrantes a su (sin privilegios seguros, como el www-data
usuario) niños.
La ubicación del archivo de configuración maestro depende de las opciones de tiempo de compilación y varía según la distribución, pero /etc/apache2/apache2.conf
es una buena conjetura inicial.
Además, si está configurando un sistema de alojamiento web multiusuario, es posible que desee consultar SuExec y fcgid para que el proceso apache de cada usuario de alojamiento web individual se ejecute como dicho usuario, de modo que si un usuario es negligente con su seguridad, otro los usuarios no se verán afectados.
Al menos en Ubuntu, la configuración para esto está en /etc/apache2/envvars
. Ajústelos, luego reinicie apache y estará listo y funcionando.