Estoy buscando un comando que verifique la validez de los archivos de configuración en el servidor apache en las distribuciones Debian y RHEL. Necesito hacer esto antes de reiniciar, para que no haya tiempo de inactividad.
apache-2.2
configuration
Sigtran
fuente
fuente
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
Otra forma es
httpd -t
. Por lo tanto, está disponible en la versión de Windows de Apache. Consulte http://httpd.apache.org/docs/2.4/programs/httpd.htmlfuente
apachectl configtest
obtengoSyntax OK
, pero cuando ejecutoapache2 -t
obtengoAH00526: Syntax error on line 74 of /etc/apache2/apache2.conf
(entre otros errores)apachectl configtest
Es la respuesta correcta. Lamentablemente, tengo una instalación de Windows donde falta Apachectl. Aquí llamarhttpd
también ayuda.fuente
La prueba de configuración de Apache (
apachectl configtest
o sus equivalentes) solo prueba el archivo de configuración (y los archivos que incluye recursivamente) para una sintaxis válida. Sin embargo, la pregunta original pedía evitar el tiempo de inactividad. Incluso cuandoapachectl configtest
no devuelve un error, un reinicio real puede fallar, causando tiempo de inactividad.Las causas comunes de tales fallas incluyen certificados SSL faltantes o inaccesibles, directorios faltantes para archivos de registro o un directorio raíz del sitio web faltante. A menudo, tales errores son causados al eliminar el directorio de un vhost sin eliminar el archivo de configuración de vhost Apache. Se recomienda encarecidamente utilizar una herramienta como títere o ansible para evitar tales inconsistencias.
Al ver que esta pregunta es el éxito número uno al buscar en Google "Apache config lint", pensé en mencionar este pequeño detalle ...
fuente