
Tengo un servidor web que ejecuta Ubuntu 17.04 y estoy intentando configurarlo Apache
. Todo funcionó muy bien hasta que decidí alojar dos sitios web en una sola máquina a través de virtualHosts. Ahora apache
se niega a iniciarse incluso con un solo host habilitado. Cada vez que intento iniciar Apache
me sale este error:
apache2: Syntax error on line 80 of /etc/apache2/apache2.conf:
DefaultRuntimeDir must be a valid directory, absolute or relative to ServerRoot.
Ninguno de mis intentos de solucionar este problema ha llegado a nada, incluido:
apt purge apache2 && rm -r /etc/apache2
Todo lo que me dice la línea 80 del mensaje de error es DefaultRuntimeDir ${APACHE_RUN_DIR}
.
Y en ningún momento veo dónde ni qué APACHE_RUN_DIR
se declara como.
¿Alguien me puede ayudar?
Respuesta1
El comando
source /etc/apache2/envvars
solucioné mi problema (después de probar TODOS los demás).
Para comprobar si todo está bien o no utilice el comando
apache2 -S
Descubrí que era más rápido que usar mis registros DNS.
Respuesta2
Falta una actualización en "man apache2", al menos para la opción -V;
Hoy en día, se debería utilizar "apachectl" o "apache2ctl" en lugar de
"apache2" para al menos algunas opciones, como se indica en
Respuesta3
Apache2 utiliza /etc/apache2/envvars
para establecer variables de entorno. Puede utilizar esta información para asegurarse de que el directorio ${APACHE_RUN_DIR}
al que apunta sea válido.
Estaba experimentando el mismo problema al actualizar de 14.04 a 17.04. El problema fue: ${APACHE_RUN_DIR}
estaba configurado en /var/run/apache2
, pero faltaba la carpeta apache2 en /var/run
.
La solución para mí fue:mkdir /var/run/apache2
Respuesta4
en mi caso se trataba de la línea "Requerir todo denegado" en el archivo apache2.conf que (nuevamente) en mi caso se escribió simplemente como "Requerir denegado"