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
- Contar con acceso al panel administrativo del hosting compartido.
- Editor de textos como PHPStorm o VSCode.
- 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:
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:
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:
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.
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:
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:
Dale un nombre a la base de datos y creala dando clic en el botón crear 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:
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:
En la siguiente ventana selecciona el archivo que guardaste cuando exportaste la base de datos en el punto número dos:
Una vez que lo has seleccionado da clic en el botón
Verás que el archivo se sube y se ejecuta llenando una a una las tablas de la base de datos:
5.3 Subir archivo comprimido
En el panel de control busca la sección Archivos o Files y luego ingresa al administrador de archivos:
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.
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:
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.
Excelente, muchas gracias por compartir!
Hola Py, gracias por visitar y comentar, me alegra saber que fue de ayuda, saludos!