Ubuntu Apache2 DefaultRuntimeDir debe ser un directorio válido, absoluto o relativo a ServerRoot


16

Tengo un servidor web con Ubuntu 17.04 que estoy intentando configurar Apache. Todo funcionó muy bien hasta que decidí alojar dos sitios web en una sola máquina a través de virtualHosts. Ahora se apacheniega a iniciar incluso con un solo host habilitado. Cada vez que intento iniciar Apacheme 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 esto ha llegado a nada, incluyendo:

apt purge apache2 && rm -r /etc/apache2 

Toda la línea 80 del mensaje de error me dice que es DefaultRuntimeDir ${APACHE_RUN_DIR}.

Y en ningún momento veo dónde o qué APACHE_RUN_DIRse declara como.

¿Alguien me puede ayudar?

Respuestas:


16

El comando

source /etc/apache2/envvars

Solucioné mi problema (después de probar TODOS los demás).

Para verificar si todo está bien o no, use el comando

apache2 -S

Descubrí que era más rápido que usar mis registros DNS.


1
He utilizado el source /etc/apache2/envvarspero después de eso mi directorio cambiado desde ~que homey cuando escribí cd se notaba -bash: cd: HOME not set. Cuando entré a los envvars, una de las primeras líneas es # this won't be correct after changing uidy unset HOME. ¿Algúna idea de cómo arreglar esto?
Mihail Minkov


6

Apache2 utiliza /etc/apache2/envvarspara establecer variables de entorno. Puede usar esta información para asegurarse de que el directorio ${APACHE_RUN_DIR}apunte es válido.

Estaba experimentando el mismo problema al actualizar de 14.04 a 17.04. El problema era: ${APACHE_RUN_DIR}estaba configurado en /var/run/apache2, pero faltaba la carpeta apache2 /var/run.

La solución para mí fue: mkdir /var/run/apache2


77
incluso si creó la carpeta o si la carpeta ya está presentada (como en mi situación), debe ejecutar el siguiente comando. source /etc/apache2/envvars
Peshmerge

solo necesita ejecutar el comando envvares si está iniciando Apache sin el script de inicio, si está usando init.d / system.d el archivo se obtendrá automáticamente.
Niyol

@Peshmerge GRACIAS! ¿Me puede decir cómo conservarlo después de reiniciar? parece que al reiniciar tenemos que ejecutar manualmente ese comando cada vez
T.Todua

1

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"


0

Volver a habilitar el php5.6módulo apache ayuda a solucionar este problema.

Presione Ctrl+ Alt+ Ty escriba estos:

sudo a2dismod php5.6
sudo a2enmod php5.6

Luego reinicie el servicio apache2:

sudo service apache2 restart
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.