Laravel en Producción, cosas a tener en cuenta

arrow_back Blog

Cuando publicamos nuestro primer proyecto Laravel en producción las dudas que nos asaltan no son pocas, más aún si estamos empezando en el mundo del desarrollo web y nos hemos saltado algunos pasos :P.

Por suerte para nosotros, los desarrolladores Laravel, poner un proyecto en producción es muy simple, sólo debemos tener en cuenta algunas consideraciones que paso a detallarte.

No utilices hosting compartido con poco control

Todavía existen sistemas de hosting compartido en los que es posible publicar un proyecto Laravel en producción, pero para poder hacerlo, entre otras cosas, es necesario mover archivos del proyecto ya que por ejemplo no nos permiten modificar el DOCUMENT_ROOT, que por defecto se encuentra en el directorio public de cualquier proyecto Laravel.

Si en algún momento te encuentras con este caso, busca otra solución, con el tiempo lo agradecerás.

Mantén tu servidor actualizado con los últimos parches de seguridad

Un tema nada trivial, la seguridad de un proyecto Laravel no sólo pasa por el código que nosotros podamos escribir, es de suma importancia tener un servidor bien configurado y actualizado para que nadie destroce nuestro trabajo. Sin ir demasiado lejos, en noviembre de 2021 fue detectada una vulnerabilidad en sistemas Linux que permitía a cualquier usuario hacerse pasar por usuario root.

Instala sólo las dependencias necesarias

Cuando vayas a instalar las dependencias de tu proyecto Laravel en producción utilizando Composer, instala sólo lo que tu proyecto necesitará para producción, las dependencias de desarrollo no nos interesan.

Para ello, podemos ejecutar el siguiente comando en nuestro script de deploy.

Ajusta tus variables de entorno

Para que tu proyecto no muestre información de posibles errores y se ejecute de forma correcta en un entorno de producción debes ajustar por lo menos las dos siguientes variables de entorno en tu archivo .env con los siguientes valores.

Utiliza Sentry para capturar posibles errores

Sentry es una poderosa herramienta de gestión de errores que nos hace trabajar de forma proactiva. La lógica es muy sencilla, una vez hemos configurado Sentry en nuestro proyecto, cada vez que un error ocurra en nuestro entorno de producción, seremos notificados por correo electrónico y veremos la traza completa para poder solucionar el error de inmediato.

Protégete de ataques DDOS con Cloudflare

Un ataque DDOS o de denegación de servicio es lo que sufrieron hace unos días algunos de los más famosos Youtubers a nivel mundial residentes en Andorra cuando su servicio de internet fue atacado. Son ataques que no pretenden robar información, simplemente quieren denegar el servicio a sus clientes para que no puedan utilizarlo, ¿motivos? Principalmente eventos/promociones importantes para generar importantes pérdidas económicas.

La mejor forma y además gratuita de protegerse de ataques DDOS es utilizar Cloudflare, lo que vamos a conseguir al utilizar Cloudflare en nuestros proyectos web indistintamente del lenguaje/framework final es poner un muro delante de nuestro servidor para evitar ser atacados. En este caso el primer golpe siempre lo recibe Cloudflare y, en caso de ser detectado como un posible ataque, ellos mismos lo reducirán de forma automática.

Utiliza archivos de claves para acceder a tus servidores vía SSH o SFTP

Muchas veces cuando empezamos no sabemos bien cómo crear archivos de claves para acceder a nuestros servidores y en su lugar utilizamos contraseñas, sin duda es una mala práctica por muchos motivos. Mi recomendación aquí es que utilices archivos de claves protegido con contraseña, de esta forma será mucho más complejo que alguien pueda acceder a tu servidor sin tu permiso.

Configura correctamente los puertos de tu servidor

Otro tema crucial son los puertos que deseamos tener abiertos en nuestro servidor. Por ejemplo, yo necesito de vez en cuando acceder vía SSH a mi servidor para llevar a cabo ciertas acciones, pero sólo yo, no mi vecino, y mucho menos un tipo de Rusia. Mi recomendación aquí es que sólo tengas abiertos los puertos necesarios a quien realmente los necesite.

Por ejemplo, los puertos 80 y 443 deberían estar abiertos para todo el mundo si tu sitio es público, ya que atienden peticiones HTTP y HTTPS, pero no así el puerto 22, ya que son para conexiones SSH que nadie más que tú o personas de tu confianza deberían poder tener acceso.

Realizar copias de seguridad periódicamente

He repetido esto demasiadas veces en Cursosdesarrolloweb, pero sin duda es clave para poder recuperarnos en caso de tener algún problema, sea de seguridad o por fallo humano. Genera copias de seguridad tanto como creas que puedas necesitar, tanto de tus archivos como de tu base de datos.


Si deseas publicar proyectos Laravel en producción como un profesional, no te pierdas los siguientes cursos, todavía quedan muchas cosas en el tintero que te harán destacar por encima del resto.

Cursosdesarrolloweb Cursosdesarrolloweb

Cursosdesarrolloweb es una plataforma educativa con cursos y tutoriales en texto y vídeo.

Términos y condiciones Política de privacidad Formulario de contacto

Copyright 2024 © Todos los derechos reservados.

Contacto