"Prohibido: no tienes permiso para acceder / en este servidor" Error


El servidor web Apache es uno de los servidores web de código abierto más populares y utilizados gracias a su estabilidad y fiabilidad. El servidor web domina un mercado enorme, especialmente en las plataformas de alojamiento web.

Sea como fuere, es posible que obtenga un error de "Prohibido: no tiene permiso para acceder/en este servidor" en su navegador después de configurar su sitio web. Es un error bastante común y una buena parte de los usuarios lo han experimentado al probar su sitio. Entonces, ¿qué es este error?

Desmitificando el error prohibido

También conocido como el error 403 prohibido, el "Error prohibido" de Apache es un error que se muestra en una página web cuando intenta acceder a un sitio web que está restringido o prohibido. Suele aparecer en el navegador como se muestra.

Además, el error puede manifestarse de varias formas en el navegador como se indica a continuación:

  • HTTP Error 403 – Forbidden
  • Forbidden: You don’t have permission to access [directory] on this server
  • 403 Forbidden
  • Access Denied You don’t have permission to access
  • 403 forbidden request forbidden by administrative rules

Entonces, ¿qué causa tales errores?

El "403 Error prohibido" se produce debido a las siguientes razones principales:

Este error se puede desencadenar debido a permisos de archivo/carpeta incorrectos en el directorio webroot. Si los permisos de archivo predeterminados no se ajustan para otorgar a los usuarios acceso a los archivos del sitio web, entonces las posibilidades de que aparezca este error en un navegador web son altas.

Este error también se puede atribuir a una mala configuración de uno de los archivos de configuración de Apache. Podría ser un parámetro incorrecto que se ha incluido o directivas faltantes en el archivo de configuración.

Corregir el "error 403 prohibido"

Si ha encontrado este error, aquí hay algunos pasos que puede seguir para solucionarlo.

Se sabe que los permisos de archivo y la propiedad del directorio incorrectos restringen el acceso a los archivos del sitio web. Entonces, en primer lugar, asegúrese de asignar los permisos de archivo de forma recursiva al directorio webroot como se muestra. El directorio webroot siempre debe tener permisos EXECUTE y el archivo index.html debe tener permisos READ.

$ sudo chmod -R 775 /path/to/webroot/directory

Además, ajuste la propiedad del directorio como se muestra:

$ sudo chown -R user:group /path/to/webroot/directory

Donde el usuario es el usuario que ha iniciado sesión normal y el grupo es www-data o apache .

Finalmente, vuelva a cargar o reinicie el servidor web Apache para que los cambios surtan efecto.

$ sudo systemctl restart apache2

Si esto no resuelve el problema, continúe con el siguiente paso:

En el archivo de configuración principal de Apache /etc/apache2/apache2.conf , asegúrese de tener este bloque de código:

<Directory />
        Options FollowSymLinks
        AllowOverride None
        Require all denied
</Directory>

<Directory /usr/share>
        AllowOverride None
        Require all granted
</Directory>

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

Guarde y salga y luego reinicie Apache.

Si está ejecutando Apache en sistemas RHEL/CentOS, asegúrese de relajar el acceso al directorio /var/www en el /etc/httpd/conf/httpd.conf principal Archivo de configuración de Apache.

<Directory "/var/www">
    AllowOverride None
    Require all granted
</Directory>

Luego, guarde todos los cambios y vuelva a cargar Apache.

Si después de intentar todos estos pasos sigue recibiendo el error, verifique la configuración de sus archivos de host virtual. Tenemos un artículo detallado sobre cómo configurar el archivo de host virtual de Apache en CentOS 8.

Espero que los pasos proporcionados le hayan ayudado a eliminar el error 403.