Despliegue aplicación de Laravel
Pasos necesarios para desplegar una app de Laravel al Hestia
Paso 1
Añadir el dominio necesario en Hestia.
Para el dominio añadido, asegúrese de activar una conexión HTTPS segura con redirección automática de todas las solicitudes a HTTPS, así como de instalar certificados SSL válidos (e.g., de Let’s Encrypt u otro).
Paso 2
Añadir cuenta FTP adicional para el dominio creado.
Paso 3
Comprimir (en formato “zip”) todos los archivos de su app y cargar el archivo comprimido a la carpeta “public_html” de su dominio en Hestia con ayuda de cliente FTP (e.g., FileZilla o WinSCP). Cuando se utiliza el cliente FTP, es necesario establecer el protocolo FTP, el puerto 21 y explícita encriptación TLS/SSL. Utilice las credenciales de la cuenta FTP creada para conectarse.
Paso 4
En Hestia crear una base de datos y su respectivo usuario para app de Laravel.
Paso 5
Ir al gestor de archivos en Hestia y abrir la carpeta “public_html” de su dominio. Descomprimir el archivo .zip cargado y eliminarlo.
Paso 6
En el archivo .env en la carpeta “public_html” de su dominio cambiar los parámetros siguientes:
- APP_ENV establecer “production”
- APP_DEBUG establecer “false”
- APP_URL establecer URL de su dominio (e.g.,
https://example.com
) - DB_HOST establecer al dirección de servidor de BB.DD. (e.g.,
127.0.0.1
) - DB_PORT establecer el puerto de servidor de BB.DD. (e.g.,
3306
) - DB_DATABASE establecer el nombre de base de datos creada
- DB_USERNAME establecer el nombre de usuario de base de datos creada
- DB_PASSWORD establecer la contraseña de usuario de base de datos creada
- MAIL_HOST establecer el host de servidor SMTP de su dominio (e.g.,
mail.example.com
) - MAIL_PORT establecer el puerto de SMTP de su dominio (e.g.,
587
) - MAIL_USERNAME establecer el nombre de usuario de SMTP de su correo electrónico
- MAIL_PASSWORD establecer la contraseña de usuario de SMTP de su correo electrónico
- MAIL_ENCRYPTION establecer la encriptación de la conexión con servidor SMTP (e.g.,
tls
) - MAIL_FROM_ADDRESS establecer la dirección de correo electrónico para el campo “De” en mensajes salientes
Después de guardar el archivo .env, cambie sus permisos a 640.
Paso 7
Crear una copia de seguridad de su BB.DD. de la app de Laravel.
Paso 8
En Hestia abrir phpMyAdmin con las credenciales de usuario de base de datos creada, e importar el archivo de copia de seguridad creado.
Paso 9
En Hestia editar las opciones adicionales de su dominio en la siguiente forma:
- en “Backend Template PHP-FPM” establecer la versión PHP deseada (e.g., PHP-8_3)
- el “Web Template APACHE2” dejar con valor “default”
- el “Proxy Template” dejar con valor “default”
- establecer “Custom document root” con valor “public” que corresponde a la carpeta “public” de su app
Paso 10
Ingresar al Hestia como administrador y añadir una llave SSH (llave pública) para su usuario-propietario del dominio.
Paso 11
En Hestia (ingresado como administrador) en las Opciones adicionales de su usuario-propietario del dominio establecer el acceso SSH (e.g., bash) y “PHP CLI Version” (la misma versión como de dominio creado).
Paso 12
Ingresar por SSH con ayuda del cliente SSH (e.g., Putty o Bitvise). Utilice el nombre de usuario-propietario del dominio y su llave SSH privada para conectarse. Utilice la dirección IP de su servidor como host y el número de puerto SSH como puerto (e.g., 22).
Paso 13
Una vez conectado por SSH, entre en la carpeta “public_html” de su dominio y ejecute los comandos siguientes:
composer update --no-dev
composer dump-autoload
php artisan cache:clear
php artisan optimize
npm install
npm run build
Esto completa el despliegue de la aplicación Laravel en Hestia.