Ha pasado un tiempo desde que utilicé el servidor web Apache httpd. Estoy encendiendo un servidor local para un proyecto y cuando intento solicitar localhost / index.html, obtengo un error 500 y veo esto en el registro de errores:
[Tue Jan 21 09:23:58 2014] [crit] [client ::1] configuration error: couldn't perform authentication. AuthType not set!: /index.html
[Tue Jan 21 09:23:58 2014] [error] an unknown filter was not added: DEFLATE
[Tue Jan 21 09:23:58 2014] [crit] [client ::1] configuration error: couldn't perform authentication. AuthType not set!: /favicon.ico
Parece que posiblemente haya 2 errores aquí en la configuración de apache, uno relacionado con "AuthType not set!" y posiblemente otro relacionado con "no se agregó filtro: DEFLATE". No sé qué significa esto ni por dónde empezar a investigar.
Una búsqueda básica en Google reveló este enlace que indica que el culpable puede ser "Exigir todo concedido". Esta línea en mi httpd.conf puede estar involucrada.
<Directory "/var/www">
AllowOverride None
# Allow open access:
Require all granted
</Directory>
Esta configuración de apache es principalmente lo que se usa en producción para este proyecto, así que sé que funciona, pero no actualmente en mi estación de trabajo. ¿Qué significa esto y qué debo intentar a continuación? Intenté comentar "Requerir todo concedido" y reiniciar Apache, pero fue en vano.
Siguiendo esta pregunta SO , también cargué mod_authz_host
LoadModule authz_host_module modules/mod_authz_host.so
y agregó "Permitir de todos", reinició el servidor. pero el problema persiste. El problema de desinflar parece no estar relacionado y se resolvió fácilmente agregando
LoadModule deflate_module modules/mod_deflate.so
La pregunta sigue siendo, ¿cómo soluciono este error 500?
[Tue Jan 21 09:44:20 2014] [crit] [client ::1]
configuration error: couldn't perform authentication.
AuthType not set!: /index.html
El problema aquí se puede formular de otra manera: ¿cómo hago una configuración que funcione tanto en apache 2.2 como en 2.4?
Require all granted
está solo en 2.4, peroAllow all ...
deja de funcionar en 2.4, y queremos poder implementar una configuración que funcione en ambos.La única solución que encontré, que no estoy seguro de que sea la adecuada, es usar:
Esto debería resolver tu problema, o al menos lo hizo por mí. Ahora, el problema probablemente será mucho más difícil de resolver si tiene reglas de acceso más complejas ...
Vea también esta pregunta bastante similar . La wiki de Debian también tiene instrucciones útiles para soportar tanto 2.2 como 2.4 .
fuente
Alternativamente, esta solución funciona tanto con Apache2 versión <2.4 como con> = 2.4. Asegúrese de que el módulo "versión" esté habilitado:
Y luego usa este código en su lugar:
fuente
Simplemente elimine / comente la siguiente línea de su archivo httpd.conf (etc / httpd / conf)
Requerir todo concedido
Esto es necesario hasta la versión 2.2 de Apache y no es necesario a partir de ahí.
fuente
Creo que tienes una versión 2.4.x de Apache.
¿Estás seguro de que cargas estos 2 módulos? - mod_authn_core - mod_authz_core
PD: Mi recomendación para la autorización y los derechos es (por defecto):
fuente
httpd -l
?Puede intentarlo
sudo a2enmod rewrite
si lo usa en su configuración.fuente