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.
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 MAIL_FROM_ADDRESS=support@myhost.com 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.
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.
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:
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.
Accede al panel de control de tu hosting compartido, es necesario hacer algunas configuraciones antes de realizar el deploy.
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:
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:
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.
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.
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.
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.
El lanzamiento de Laravel 11 está muy próximo ya que está programado para el tercer…
En este tutorial aprenderás una solución para cuando WordPress no envía correos y esto puede…
En este tutorial aprenderás cómo configurar distintos Virtual Host en Ubuntu Desktop y de esta…
En este tutorial aprenderás cómo instalar stack LAMP en Linux Mint fácilmente y de esta…
En este tutorial aprenderás paso a paso cómo crear una USB multiboot con distintos OS…
El desarrollo de temas y plugins para WordPress es un nicho muy específico en el…
Ver comentarios
Excelente, muchas gracias por compartir!
Hola Py, gracias por visitar y comentar, me alegra saber que fue de ayuda, saludos!