Deploy de proyecto Laravel en hosting compartido
Image by Panumas Nikhomkhai from Pixabay

En este tutorial aprenderás paso a paso cómo hacer el despliegue o deploy de un proyecto en Laravel en un hosting compartido con panel de usuario básico, en un tutorial pasado te mostré cómo hacer deploy de un proyecto Laravel en un VPS. Sin más, manos a la obra.

Requisitos previos

  1.  Contar con acceso al panel administrativo del hosting compartido.
  2.  Editor de textos como PHPStorm o VSCode.
  3.  Proyecto en Laravel.

1. Editar archivo .env

Con tu editor de textos abre el archivo .env que se encuentra en la raíz de tu proyecto, en este archivo tienes que dejar todo listo para producción ya que se subirá al hosting tal como esta. En las primeras líneas que empiezan con APP_ cambia la información:

APP_NAME="Aquí nombre de tu APP"
APP_ENV=production
APP_DEBUG=false
APP_URL=http://nombrededominio.com

Agrega la información para la conexión a la base de datos, más adelante se configurará estos datos en el panel de control del hosting para que coincidan:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=nombre_BD
DB_USERNAME=tu_usuario
DB_PASSWORD=tu_password

Si vas a enviar emails desde tu app en Laravel tienes que agregar la información a las variables de entorno:

MAIL_MAILER=smtp
MAIL_HOST=sandbox.smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=tu_username
MAIL_PASSWORD=tu_password
MAIL_ENCRYPTION=tls
[email protected]
MAIL_FROM_NAME="Mi App en Laravel"

NOTA: Este archivo lo podrás volver editar después de hacer deploy. Si tienes más variables de entorno debes de agregarlas a este archivo.

2. Exportar base de datos

Si en tu proyecto en Laravel tienes seeders, migraciones o factories tienes que ejecutarlos para que se poble la base de datos con toda esa información para ello corre el comando:

php artisan migrate:fresh --seed

Ahora abre tu administrador de bases de datos, en mi caso estoy usando phpMyAdmin y posicionate en la base de datos que usará tu proyecto; en el menú de la parte superior busca Exportar y da clic:

Deploy de proyecto Laravel en hosting compartido

Se abrirá una nueva ventana en donde configurarás el método de exportación y el formato, una vez terminaste de configurar da clic al botón Exportar para que inicie la descarga del archivo SQL:

Se abrira una ventana de configuracion

El archivo SQL que se descargó tenlo a la mano porque más adelante lo vas a necesitar.

3. Verificar versión de PHP del proyecto

Es importante saber qué versión de PHP puede correr tu proyecto en Laravel, para verificarlo con tu editor de textos abre el archivo composer.json y busca php allí verás la versión mínima que necesita tu proyecto:

Revisa la versión mínima de PHP con la que tu proyecto corre

4. Comprimir proyecto en Laravel

Antes de comprimir tu proyecto es necesario compilar los assets y para ello ejecuta la siguiente instrucción en la terminal de comandos.:

npm run build

Ahora comprime toda tu carpeta de tu proyecto en Laravel en un archivo ZIP y para ello da clic derecho y en el menú desplegable ve a Enviar a y luego en Carpeta comprimida (en zip) y la carpeta empezará a comprimirse.

Deploy de proyecto Laravel en hosting compartido

Ten a la mano estar carpeta comprimida porque más adelante vas a hacer uso de ella.

5. Configurar hosting compartido

Accede al panel de control de tu hosting compartido, es necesario hacer algunas configuraciones antes de realizar el deploy.

5.1 Verificar versión de php

En el panel de control de tu hosting compartido busca la sección Software verás un menú que diga Seleccionar versión de PHP o algo parecido, ingresa en él y cambia a la versión que necesite tu proyecto en Laravel para ejecutarse correctamente:

cambia la version de php del hosting compartido

5.2 Crear base de datos e importar

En el panel de control de tu hosting compartido busca la sección de bases de datos y en donde diga algo de bases de datos MySQL ingresa:

Deploy de proyecto Laravel en hosting compartido

Dale un nombre a la base de datos y creala dando clic en el botón crear base de datos:

Crea la nueva base de datos

En este misma sección encontrarás los datos que debes de poner en el archivo .env para configurar las variables globales para la conexión a la base de datos:

Deploy de proyecto Laravel en hosting compartido

Regresa a la sección de Base de Datos y accede a PHPMyAdmin verás que se abre el gestor visual de MySQL, busca en el menú superior Importar y da clic:

Deploy de proyecto Laravel en hosting compartido

En la siguiente ventana selecciona el archivo que guardaste cuando exportaste la base de datos en el punto número dos:

Deploy de proyecto Laravel en hosting compartido

Una vez que lo has seleccionado da clic en el botón

Da clic en el botón continuar

Verás que el archivo se sube y se ejecuta llenando una a una las tablas de la base de datos:

Las tablas de la base de datos se irán poblando

5.3 Subir archivo comprimido

En el panel de control busca la sección Archivos o Files y luego ingresa al administrador de archivos:

Deploy de proyecto Laravel en hosting compartido

Aquí dependiendo del proveedor del servicio puede cambiar la carpeta en donde subirás el archivo comprimido. Busca la carpeta en donde debes de subir tus archivos html, normalmente se llama public_html o httdocs y busca en el menú que diga upload o si esta habilitado solo arrastra el archivo y descomprimelo.

sube el archivo ZIP

Si tu proveedor de hosting compartido no tiene habilitada este servicio, entonces te recomiendo subir el archivo por FTP. Recuerda que si necesitas modificar el archivo .env usando el File Manager o el servicio de FTP lo puedes hacer sin problema.

5.4 Redirigir a la carpeta public

Para que al ingresar a tu sitio web se muestre correctamente tu proyecto en Laravel es necesario redirigir el tráfico a la carpeta public de tu proyecto, para realizar esto lo puedes hacer de dos maneras creando un archivo .htaccess que desde la raíz redireccione a la carpeta public o desde el panel de control como lo haré a continuación.

En el panel de control busca la sección Dominios o Domains y da clic en Redirections o Redirecciones:

Deploy de proyecto Laravel en hosting compartido

Crea un redirección hacia www.tunombredominio.com/public con esto, cuando se ingrese a tu sitio web accederán automáticamente a la carpeta public y por lo tanto al archivo index.php que es el que inicia la aplicación en Laravel.

6. Probar el proyecto

En el navegador web abre tu dirección de nombre de dominio, si todo ha salido bien verás que has hecho deploy de tu proyecto Laravel en un hosting compartido correctamente. Recuerda que no es recomendable usar hosting compartido para proyectos Laravel por no contar con suficientes recursos para que funcionen por mucho tiempo, en vez éstos hostings compartidos se recomienda el uso de VPS o Servidores Dedicados.

Conclusión

En este tutorial aprendiste paso a paso cómo hacer deploy o despliegue de un proyecto en Laravel en un hosting compartido. Si este tutorial fue de ayuda te invito a compartirlo en tus redes sociales para llegar a más personas y si tienes dudas o comentarios déjalos en la caja de comentarios, estaré al pendiente de ellos. Saludos.

Referencias:
Documentación Laravel.

2 COMENTARIOS

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.