68 Despliegue a Producción en Laravel Sube tu Proyecto y Base de Datos a un Servidor Real 🚀🌐

Duración: 10 min
Módulo: Ultimos ajustes del sistema Lección 7 de 7

Descripción

🚀 Lección 68: Despliegue a Producción en Laravel: Sube tu Proyecto y Base de Datos a un Servidor Real

En este capítulo final completamos el ciclo de vida del desarrollo de software realizando el despliegue a producción (Deployment) de nuestro Sistema para Farmacia. Migramos todo el código fuente optimizado y la estructura final de la base de datos desde nuestro entorno local hacia un servidor de hosting real (CPanel), dejando el sistema 100% operativo y en limpio para los usuarios.

🎯 El Objetivo Central

Preparar el empaquetado del proyecto Laravel, limpiar los archivos residuales de caché, exportar/importar la estructura final de la base de datos multisucursal y configurar el entorno del servidor real para asegurar el funcionamiento del demo público.

🗄️ 1. Preparación y Migración de la Base de Datos (39 Tablas)

El diseño final de nuestro ecosistema concluyó con un total de 39 tablas relacionales [01:40]. Para el despliegue final:

  • Base de Datos en Limpio: Ejecutamos un comando de limpieza total en local (php artisan migrate:fresh --seed), dejando activos únicamente los registros mandatorios: la configuración del módulo Ajustes, la Casa Matriz, los roles iniciales y las credenciales del usuario Superadministrador [03:14].
  • Exportación e Importación: Vaciamos las tablas desactualizadas del servidor de producción, exportamos el archivo SQL local en limpio y lo importamos en el gestor phpMyAdmin del hosting, consolidando las 39 tablas en el servidor real [06:03].

🛠️ 2. Optimización del Código y Empaquetado

Antes de subir los archivos al gestor del CPanel, aplicamos buenas prácticas de optimización para producción utilizando la terminal [03:36]:

  1. Comandos de Consolidación: Ejecutamos limpiezas profundas de caché, vistas, rutas y optimización de carga de clases (php artisan optimize:clear y derivados).
  2. Higiene de Directorios (Bootstrap Cache): Eliminamos manualmente los archivos temporales dentro de bootstrap/cache/ (como config.php y services.php), ya que estos almacenan rutas absolutas del entorno local que causan fallas al arrancar en el hosting [04:20].
  3. Protección del Entorno (.env): Al comprimir el proyecto en formato .zip, excluimos deliberadamente el archivo .env local [04:53]. De esta forma, protegemos los accesos del servidor real (credenciales de base de datos de producción y claves SMTP) evitando que sean sobrescritos [04:47].

🌐 3. Extracción y Ajuste del Entorno en el Hosting (CPanel)

Subimos el paquete comprimido al directorio raíz del servidor mediante la interfaz web del Administrador de Archivos [06:21]:

  • Descompresión en Caliente: Extraemos el archivo .zip directamente en el hosting (proceso estandarizado para el 90% de los proveedores como Hostinger, A2Hosting, etc.) [08:16].
  • Resolución del Error de Entorno (Versión de PHP): Durante la primera prueba el sistema reportó una incompatibilidad. Lo solucionamos de inmediato desde el panel del hosting, actualizando la versión de ejecución a PHP 8.3 [09:08]. El sistema reaccionó al instante, cargando el formulario de Login de forma fluida y veloz.

¡Con esta lección damos por finalizado oficialmente nuestro Curso del Sistema para Farmacia! El demo ya se encuentra público, en producción, con la seguridad de roles adaptativa y el control de borrado seguro funcionando perfectamente. Muchas gracias a toda la comunidad por sus likes, comentarios y apoyo en Hilari Lara Stack. ¡Nos vemos en el próximo gran curso del canal! ¡Chao chao!