Cómo corregir errores de Apache mod_authz_host en Linux



Pruebe Nuestro Instrumento Para Eliminar Los Problemas

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 la ejecución del servicio. . Es probable que este error sea un problema cada vez que reinicie el servicio apache2. Este error suele presentarse en forma de una advertencia de sintaxis sobre la primera línea del archivo, pero teóricamente podría obtener un error diferente.



Independientemente de la línea con la que pueda tener problemas, la solución tiene poco que ver con que mod_authz_host no esté instalado o ni siquiera cargado en la RAM. De hecho, si recibe este error, significa que el servicio del servidor apache2 está cargando correctamente el módulo. El problema simplemente tiene que ver con el hecho de que una directiva está fuera de lugar en algún lugar, y reorganizar el código debería solucionar el problema con bastante rapidez. Tenga en cuenta que ocasionalmente verá instrucciones para instalar mod_authz_host en apache2, lo cual es irrelevante para esta discusión. Sus errores no provienen de la falta de un paquete específico ni de ningún tipo de dependencia no satisfecha. La forma en que los desarrolladores eligieron expresar estos errores conduce a estos conceptos erróneos comunes.



Corrección de las directivas del módulo restrict.conf

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



Abre el archivo con un editor de texto. Dado que se encuentra en un directorio protegido, deberá tener acceso de root. Nosotros usamos , pero también puede usar vi u otro editor de texto que prefiera. Ni siquiera tiene que usar necesariamente un editor de consola, pero asegúrese de usar gksu en lugar de sudo si es apropiado para hacerlo.

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



Orden denegar, permitir

Negar todo

Permitir de distrowatch.com

Este texto solo debe existir dentro de bloques. Tenga en cuenta el espacio en la primera etiqueta. Si tiene esa línea de texto flotando fuera de los bloques, agregue etiquetas a su alrededor o muévala para que se lea como tal:

Orden denegar, permitir

Negar todo

Permitir de distrowatch.com

Recuerde que deberá reemplazar distrowatch.com con la URL real con la que está trabajando. Si encuentra líneas que hacen referencia a dev.example.com directamente, entonces las ha copiado directamente del código de ejemplo o se han agregado de forma predeterminada. El dominio example.com existe simplemente para ilustración en documentos técnicos y no tiene ningún propósito real. La documentación oficial en httpd.apache.org/docs/2.2/howto/access.html sí los hace referencia. Probablemente pueda eliminarlos de manera segura cuando agregue el nuevo texto en formato.

Si alguna vez necesita incluir un directorio en su archivo restrict.conf, entonces puede reemplazar etiquetas con etiquetas, pero debe asegurarse de mantener el espacio en la primera etiqueta una vez más. 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 similar a:

El error real tendría un número de línea en lugar del octothorpe, pero indica que las directivas no están incluidas de manera segura dentro de dichas etiquetas. Es posible que desee navegar directamente a la línea que aparece en el error al depurar el script para comprobar qué está mal. Si bien el error en cuestión le dirá que el registro de errores de Apache puede tener más información, probablemente simplemente reforzará los mismos conceptos discutidos aquí.

Los errores de sintaxis futuros se pueden corregir de manera similar. Es posible que descubra que después de solucionarlo, el servicio apache2 arroja otro error. Esto es normal, por extraño que parezca porque solo ejecuta código hasta la primera línea con la que encuentra un problema. Si hubiera problemas más adelante, nunca los habría afectado. Si tiene alguno de estos problemas, preste mucha atención al número de línea al editar el archivo. Si está utilizando nano para editar el archivo, siempre puede mantener presionada la tecla Ctrl y presionar la tecla C para encontrar en qué línea se encuentra actualmente el cursor. Esto hará que el proceso de depuración sea mucho más sencillo.

Puede encontrar que tiene varios bloques flotando de tal manera que no están unidos a nada. Cada uno de estos debe tener etiquetas. Elimine los bloques adicionales cada vez que descubra que tiene varias copias de la misma URL con las mismas directivas exactas, ya que estos duplicados pueden causar problemas. Por lo general, solo necesita tener una única copia de cualquier URL específica, ya que no debe pasar directivas adicionales sobre una al servidor apache2, ya que, en última instancia, podrían contrarrestarse entre sí.

3 minutos de lectura