POLITICA DE COOKIES

Q2BSTUDIO.COM utiliza cookies técnicas, analíticas, de sesión y de publicidad con la finalidad de prestar un mejor servicio. No obstante, necesitamos su consentimiento explícito para poder utilizarlas. Así mismo puede cambiar la configuración de las cookies u obtener más información aquí .

Arreglé el error 403 en Laravel

Cómo resolver el error 403 Forbidden en Laravel en Ubuntu 24: permisos de carpetas padres y Apache

Publicado el 10/09/2025

Recientemente configuré un entorno de desarrollo en Ubuntu 24 y al descargar un proyecto Laravel desde GitHub me encontré con un error 403 forbidden al abrir la URL en el navegador. Después de revisar la configuración de Apache, habilitar mod_rewrite y comprobar el .htaccess, el problema persistía. Todo apuntaba a un problema de permisos.

Lo habitual es pensar en permisos de archivos y carpetas dentro del proyecto, por ejemplo asignar propietario y grupo, y dar permisos adecuados a storage y bootstrap/cache. Comandos útiles incluyen por ejemplo sudo chown -R usuario:www-data ruta_del_proyecto y sudo find . -type f -exec chmod 664 {} \\; sudo find . -type d -exec chmod 775 {} \\; sudo chmod -R ug+rwx storage bootstrap/cache. Sin embargo, incluso con esos ajustes el 403 continuó.

La solución definitiva fue menos obvia: Apache necesita poder atravesar las carpetas padres del directorio público. Si el usuario www-data no tiene permisos de ejecución en alguna de las carpetas superiores, el servidor no puede acceder a public aunque los permisos dentro del proyecto sean correctos. En mi caso cambiar el grupo de las carpetas padre resolvió el problema. Comandos que solucionan esto son por ejemplo sudo chgrp www-data /home/usuario sudo chgrp www-data /home/usuario/proyectos sudo chgrp www-data /home/usuario/proyectos/misitio y ajustar permisos según convenga. Alternativamente se puede añadir el usuario www-data al grupo del propietario real o usar ACL con setfacl para otorgar permisos más precisos sin cambiar grupos globales.

Consejos prácticos y buenas prácticas: evita chmod 777 generalizados; da permisos mínimos necesarios; asegúrate de que las carpetas padres tengan permiso de ejecución para el grupo o el usuario que usa Apache; comprueba los logs de Apache en caso de duda; y recuerda habilitar mod_rewrite si tu aplicación lo requiere con cd /etc/apache2/mods-available a2enmod rewrite sudo service apache2 restart.

Si prefieres una solución gestionada o necesitas ayuda para desplegar aplicaciones a medida con buenas prácticas de seguridad y cloud, en Q2BSTUDIO somos especialistas en desarrollo de software a medida, aplicaciones a medida y en integrar soluciones de inteligencia artificial y ciberseguridad. Podemos ayudarte a configurar infraestructuras en la nube y optimizar permisos, despliegues y automatización. Consulta nuestros servicios de desarrollo de aplicaciones a medida en desarrollo de aplicaciones a medida o descubre cómo aplicamos inteligencia artificial para empresas en soluciones de inteligencia artificial. También ofrecemos servicios de ciberseguridad, pentesting, servicios cloud aws y azure, inteligencia de negocio y Power BI, agentes IA y automatización de procesos para proyectos de cualquier tamaño.

Espero que este relato te ahorre tiempo si te encuentras con un 403 en Laravel. Revisar permisos de las carpetas padres suele ser la clave que muchos pasan por alto.

Fin del artículo, inicio de la diversión
Construyendo software juntos

Dando vida a tus ideas desde 2008

Diseñamos aplicaciones móviles y de escritorio innovadoras que cumplen con tus requisitos específicos y mejoran la eficiencia operativa.
Más info
Cuéntanos tu visión
Sea cual sea el alcance, podemos convertir tu idea en realidad. Envíanosla y charlemos sobre tu proyecto o una colaboración futura.
Contáctanos
artículos destacados
Live Chat
Enviado correctamente.

Gracias por confiar en Q2BStudio