Cómo reparar errores de Apache Mod_authz_host en Linux

Al instalar el servicio apache2 en Red Hat Enterprise Linux, Arch, Scientific Linux, Debian Server, Ubuntu Server o cualquiera de las otras distribuciones que lo admiten, es posible que obtenga un error sobre el módulo mod_authz_host que impide que el servicio se ejecute. . Es probable que tenga un problema con este error cada vez que reinicie el servicio apache2. Este error generalmente toma la forma de una advertencia de sintaxis debajo de la primera línea del archivo, pero teóricamente podría obtener un error diferente.

No importa con qué línea pueda tener problemas, la configuración con mod_authz_host tiene poco que ver con no estar instalado o incluso cargado en la RAM. De hecho, recibir este error significa que el servicio del servidor apache2 está cargando el módulo. El único problema es que hay una guía de algún lado, y el código debería resolver su problema rápidamente si se reorganiza el código. Tenga en cuenta que ocasionalmente verá instrucciones para instalar mod_authz_host en apache2, que son irrelevantes para esta discusión. La falta de error no proviene de la falta de un paquete en particular ni proviene de ningún tipo de dependencia sin completar. La forma en que los desarrolladores han elegido articular estos errores conduce a estos conceptos erróneos comunes.

Instrucciones para corregir el archivo Modules.conf restringido

Para la discusión, usaremos la enciclopedia de distribución de Linux en distrowatch.com para nuestros ejemplos. La documentación oficial usa apache2 dev.example.com, por ejemplo, y en cualquier caso, no querrá usar ninguna de esas direcciones.

Abre el archivo con editor de texto. Dado que se encuentra en un directorio protegido, necesitará acceso de root. Solíamos , pero también puede usar vi u otro editor de texto favorito. Ni siquiera tiene que usar un editor de consola, pero asegúrese de usar gksu en lugar de sudo si corresponde.

Una vez que el archivo se haya cargado, preste mucha atención a algo que se lea, por ejemplo:

Denegación de orden, concesión

Negado a todos

Permitir de distrowatch.com

Este texto solo debería existir dentro bloques. Tenga en cuenta el espacio en la primera etiqueta. Si tiene esa línea de texto flotando fuera de los bloques, etiquétela o muévala para que se lea así:

Denegación de orden, concesión

Negado a todos

Permitir de distrowatch.com

Recuerde que deberá reemplazar distrowatch.com con la URL real con la que está trabajando. Si encuentra líneas que se refieren directamente a dev.example.com, las copió directamente del código de muestra o las agregó de forma predeterminada. Solo el dominio example.com se muestra en los documentos técnicos y no tiene un propósito real. De hecho, se hace referencia a ellos en la documentación oficial en httpd.apache.org/docs/2.2/howto/access.html. Probablemente pueda eliminarlos de manera segura cuando ingrese el nuevo texto.

Si alguna vez necesita incluir un directorio en su archivo restrict.conf, puede reemplazarlo por otro Etiquetas le etiquetas, pero debe asegurarse de mantener nuevamente el espacio en la primera etiqueta. Asegúrese de guardar el documento y luego cerrarlo antes de reiniciar el servicio apache2. No debería tener más problemas a partir de ahora.

Esto es lo que significa el servidor apache cuando devuelve un error como:

El error real sería reemplazado por un número de línea en el error real, pero indica que las instrucciones no están incluidas de forma segura dentro de esas etiquetas. Es posible que desee navegar directamente a la línea dada en el error mientras depura el script para averiguar qué está mal. Si bien el error en cuestión le dirá que el registro de errores de Apache puede contener más información, probablemente solo reforzará los mismos conceptos discutidos aquí.

Los errores de sintaxis futuros se pueden corregir de la misma manera. Es posible que después de solucionarlo, el servicio apache2 elimine otro error. Esto es normal, por extraño que parezca porque solo ejecuta código en la primera línea de un problema. Si hubiera problemas más adelante, nunca los tendría. Si tiene alguna de estas preguntas, preste especial atención al número de línea cuando edite el expediente. Si está utilizando un nano para editar el archivo, siempre puede mantener presionada la tecla Ctrl y presionar la tecla C para averiguar en qué línea se encuentra actualmente el cursor. Esto facilitará mucho el proceso de depuración.

Puede encontrar que tiene varios bloques flotando de una manera que no está atada a nada. Todos estos deben estar etiquetados. Elimine los bloques adicionales cada vez que descubra que tiene varias copias de la misma URL con las mismas instrucciones exactas, ya que esos duplicados pueden causar problemas. Por lo general, solo necesita tener una copia de cualquier URL en particular, ya que no debe reenviar instrucciones adicionales sobre una al servidor apache2 ya que eventualmente pueden ir una contra la otra.