Despliegue aplicación de Laravel

Pasos necesarios para desplegar una app de Laravel al Hestia

Paso 1

Añadir el dominio necesario en Hestia.

Paso 1

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 2

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 4

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 5

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 9

Paso 10

Ingresar al Hestia como administrador y añadir una llave SSH (llave pública) para su usuario-propietario del dominio.

Paso 10a

Paso 10b

Paso 10c

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 11

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.