usr the squirrelmail perhaps not misspelled included error authz_core ah01630 server apache2 apache2.4

server - the - Apache2: ''AH01630: cliente denegado por la configuración del servidor''



opencart client denied by server configuration (18)

Recibo este error al intentar acceder a localhost a través de un navegador.

AH01630: client denied by server configuration

Revisé los permisos de la carpeta de mi sitio usando:

sudo chmod 777 -R *

Aquí está mi archivo de configuración:

<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /home/user-name/www/myproject <Directory /> Options FollowSymLinks AllowOverride all Allow from all </Directory> <Location /> Allow from all Order Deny,Allow </Location> <Directory /home/user-name/www/myproject/> Options Indexes FollowSymLinks MultiViews AllowOverride all Order allow,deny Allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride all Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined Alias /doc/ "/usr/share/doc/" <Directory "/usr/share/doc/"> Options Indexes MultiViews FollowSymLinks AllowOverride all Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 </Directory>


¿Alguien ha pensado en que el servidor wamp predeterminado no incluya el archivo httpd-vhosts.conf ? Mi enfoque es eliminar la nota de abajo.

conf # Virtual hosts Include conf/extra/httpd-vhosts.conf

en el archivo httpd.conf Eso es todo.


Además de las directivas Order y Allow faltan mencionadas en otras respuestas, tenga en cuenta que una expresión regular no coincidente de una directiva DirectoryMatch también puede causar este error.

Si la ruta solicitada es /home/user-foo1bar/www/myproject/ el siguiente buscador no coincidirá

<DirectoryMatch "/home/user-[a-z]+/www/myproject/"> ... </DirectoryMatch>

por lo tanto, incluso una configuración de acceso válida podría causar este error.


Al usar Ubuntu compruebe si el módulo CGI está habilitado. Si no:

sudo a2enmod cgi


El problema está en VirtualHost pero probablemente no está

Requerir todo otorgado

Confirme que su configuración es correcta, aquí está la muestra correcta


El problema puede ser que la directiva no está en <Directorio>

https://httpd.apache.org/docs/2.4/mod/mod_authz_host.html#requiredirectives

Se puede hacer referencia a la directiva dentro de una sección <Directorio>, <Archivos> o <Ubicación>, así como archivos .htaccess para controlar el acceso a partes particulares del servidor. El acceso se puede controlar según el nombre de host del cliente o la dirección IP.


Esto me estaba volviendo loco. Finalmente descubrí cuál era el problema: estaba usando rutas directas para el registro de errores y estaban equivocadas.

¿Por qué Apache da un mensaje de error vago (y incorrecto)? En su lugar, use un mensaje de error correcto y útil como: Ruta para la directiva ErrorLog "/wrong/path/and/filename.log" no es válido.

De todos modos, para solucionarlo, asegúrese de que las directivas de registro de errores tengan un aspecto similar al siguiente:

ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined


Esto me volvió completamente loco durante un día y medio, pero encontré una solución si todas las demás soluciones se han intentado sin éxito.

Esto es para macOS.

  • Ir a la actividad Monitor (búsqueda destacada para: actividad)
  • En el monitor de actividad, busque httpd, que es el servicio Apache.
  • Seleccione el que pertenece a la raíz y haga clic en X en la parte superior izquierda para cerrarla.

En ese momento, inmediatamente dejé de recibir 403 errores y todo comenzó a funcionar como se esperaba. Lo extraño es que ni siquiera tuve que reiniciar Apache, simplemente funcionó, supongo que se reinició solo cuando fui a mi localhost, honestamente no lo sé, pero creo que el problema es que Apache no se reinicia cuando se usa Apachectl restart, o parar o empezar Espero que esto ayude a alguien.


Hice los mismos cambios que ravisorg sugirió a OSX 10.10 Yosemite que actualizan Apache a la versión 2.4. A continuación se muestran los cambios que se agregaron a http.conf.

<Directory /> AllowOverride none Require all denied </Directory> <Directory /Volumes/Data/Data/USER/Sites/> AllowOverride none Require all granted </Directory>


Me resolví después de pasar un par de horas.

Instalé Apache / 2.4.7 (Ubuntu) a través de coookbook en vagrant vm.

El archivo /etc/apache2/apache2.conf no tiene el elemento <VirtualHost *:80> de forma predeterminada.

Hice dos cambios para hacerlo.

  1. añadido <VirtualHost *:80>
  2. adicional
    Índices de Opciones FollowSymLinks
    AllowOverride all
    Permitir de todos

entonces finalmente acabo de arrancar vm ..


Para Wamp 3 (Apache 2.4), además de poner el servidor en línea como se describe en las otras respuestas, en el archivo de Hosts virtuales conf/extra/httpd-vhosts.conf
puede que necesite reemplazar

Require local

con

Require all granted



Esto es aplicable si en httpd.conf tienes

Include conf/extra/httpd-vhosts.conf


Para todos los directorios, escriba Require all granted lugar de Allow from all

Actualizar

Si lo anterior no funciona, elimine también esta línea a continuación:

Orden permitir, negar


Si está utilizando Apache 2.4

Tienes que marcar las reglas de permiso y denegación.

Echa un vistazo a http://httpd.apache.org/docs/2.4/upgrading.html#access

En 2.2, el control de acceso basado en el nombre de host del cliente, la dirección IP y otras características de las solicitudes de los clientes se realizó mediante las directivas Order, Allow, Deny y Satisfy.

En 2.4, dicho control de acceso se realiza de la misma manera que otras comprobaciones de autorización, utilizando el nuevo módulo mod_authz_host.

La nueva directiva es Require :

2.2 configuracion:

Order allow,deny Allow from all

2.4 configuración:

Require all granted

Además, no olvide reiniciar el servidor apache después de estos cambios ( # service httpd restart )


Si sigue el registro de errores y vuelve a cargar la página, debería ver más información sobre el problema exacto.

Toma las variables de entorno para que $ {APACHE_LOG_DIR} realmente funcione ...

source /etc/apache2/envvars

Entonces sigue y mira ...

tail -f ${APACHE_LOG_DIR}/error.log


Si tiene un host https, entonces no olvide realizar Require all granted cambios Require all granted para la configuración ssl también.

Además, a veces es útil verificar los permisos como usuario de apache:

# ps -eFH | grep http # get the username used by httpd ... apache 18837 2692 0 119996 9328 9 10:33 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND # su -s/bin/bash apache # switch to that user bash-4.2$ whoami apache bash-4.2$ cd /home bash-4.2$ ls bash-4.2$ cd mysite.com bash-4.2$ ls bash-4.2$ cat file-which-does-not-work.txt


Tengo otro que puede ser útil para alguien. Estaba recibiendo el mismo mensaje de error después de actualizar desde PHP 5.6 => 7.0. Habíamos cambiado la configuración de carga de PHP y nos olvidamos de cambiar una vez copiados. Aunque no estaba cargando imágenes en ese momento, Silverstripe (nuestro CMS) se negaba a guardar y lanzaba ese error. Aumentó el tamaño de carga de la imagen y funcionó de inmediato.


Una causa oscura (que acabo de tratar con ella), aunque posible, es una regla interna de mod_rewrite, en el archivo de configuración principal (no .htaccess) que escribe en una ruta que existe en la raíz del sistema de archivos del servidor. Digamos que tienes un directorio /media en tu sitio, y reescribes algo como esto:

RewriteRule /some_image.png /media/some_other_location.png

Si tiene un directorio /media en la raíz de su servidor, la reescritura se intentará con eso (lo que resultará en un error de acceso denegado) en lugar de uno en el directorio de su sitio, ya que la raíz del sistema de archivos se verifica primero con mod_rewrite, para la existencia del primer directorio en la ruta, antes del directorio de su sitio.


Verifique que la ruta de DocumentRoot sea correcta. Eso puede causar este error.


en mi caso,

Estoy usando macOS Mojave (Apache / 2.4.34). Hubo un problema en la configuración del host virtual en el archivo /etc/apache2/extra/httpd-vhosts.conf. después de agregar la etiqueta de directorio requerida mi problema desapareció.

Requerir todo otorgado

Espero que la estructura de configuración de host virtual completo te salve.

<VirtualHost *:80> DocumentRoot "/Users/vagabond/Sites/MainProjectFolderName/public/" ServerName project.loc <Directory /Users/vagabond/Sites/MainProjectFolderName/public/> Require all granted </Directory> ErrorLog "/Users/vagabond/Sites/logs/MainProjectFolderName.loc-error_log" CustomLog "/Users/vagabond/Sites/logs/MainProjectFolderName.loc-access_log" common </VirtualHost>

todo lo que tienes que hacer reemplaza MainProjectFolderName con tu ProjectFolderName exacto.