Tengo una nueva instalación de Apache2 en las pruebas de Debian y configuré un host virtual en un directorio como este:
<Directory "/path/to/project">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
Sin embargo, me muestra un error prohibido 403 cuando accedo y el registro de errores muestra:
[Mon Sep 23 22:07:57.249276 2013] [authz_core:debug] [pid 8599] mod_authz_core.c(802): [client 127.0.0.1:49057] AH01626: authorization result of Require all denied: denied
[Mon Sep 23 22:07:57.249349 2013] [authz_core:debug] [pid 8599] mod_authz_core.c(802): [client 127.0.0.1:49057] AH01626: authorization result of <RequireAny>: denied
[Mon Sep 23 22:07:57.249361 2013] [authz_core:error] [pid 8599] [client 127.0.0.1:49057] AH01630: client denied by server configuration: /path/to/project/some_file
¿Por qué muestra "resultado de Requerir todo denegado: denegado" si estoy usando "Requerir todo otorgado" ?
Los archivos pueden ser leídos por cualquier usuario y en caso de que intente cambiar el propietario a Apache (www-data) sin suerte. Además, el host predeterminado http://localhost
funciona normalmente y phpmyadmin http://localhost/phpmyadmin
también funciona.
Toda la ayuda que he encontrado en Internet se trata de reemplazar la directiva Order con Require. Ya lo hice. ¿Cuál podría ser el problema ahora?
apache-2.4
hairlessdev
fuente
fuente
Respuestas:
Aquí hay dos cosas para probar:
1) Ejecute
apachectl -t
para verificar que la sintaxis de su archivo sea válida.2) Ejecutar
apachectl -S
para mostrar qué archivos se están analizando.Por ejemplo, puede estar editando /usr/local/etc/apache2/2.4/httpd.conf y eso es todo. ... pero si ejecuta apachectl -S puede ver:
es decir. El host virtual está anulando su httpd.conf, y puede contener uno propio
Require all denied
o similar.fuente
Ha configurado la autorización, pero no la autenticación. Por lo tanto, si bien 'Requerir todo otorgado' dará acceso a todos los usuarios autenticados, sus usuarios en realidad no se autentican.
fuente
Require all granted
específicamente permite todos los accesos y no necesita ninguna autenticación. No tiene sentido autenticarse cuando metafóricamente abre las puertas de par en par.Como está utilizando la
AllowOverride All
directiva, también puede tener un.htaccess
archivo/path/to/project/
. Este puede contener una directiva anulada.Compruebe también si no tiene algún otro parámetro en un VHost por ejemplo.
fuente
Después de haber instalado Wampserver 32, tuve el mismo problema de ser rechazado por Apache.
He comprobado e intentado modificar el
httpd.conf
archivo de muchas maneras durante 3 días sin suerte, recorriendo los tutoriales de Apache y los foros de Internet con el famoso error:Estaba bastante seguro de que no definí ningún VirtualHost y ninguno se veía en el archivo httpd.conf.
Finalmente, configuré el servidor para el archivo de error de "depuración", que me dio el mensaje más interesante:
lo que a su vez me llevó a esta publicación.
Y ahí estaba, oculto en el
C:\wamp\bin\apache\apache2.4.18\conf\extra\httpd-vhosts.conf
archivo: un VirtualHost no deseado con un "Requerir local" explícito que, por supuesto, rechazó todas mis consultas desde fuera del servidor.Ahora, he vaciado este archivo hasta que pueda necesitar VirtualHost, y funciona bien. Al final, Wampserver me resulta bastante extraño no solo preconfigurar este archivo sin notificar al usuario, sino también establecer el valor predeterminado para que el "servidor" no pueda servir nada.
fuente