Hosting para Laravel

Hay varias formas en las que podemos desplegar nuestras aplicaciones Laravel, una sería, como explicamos en este artículo, en un hosting compartido.

Antes de comenzar a explicarte cómo subir tu proyecto Laravel a un hosting, quiero recomendarte el que suelo utilizar cada vez que mi proyecto requiere de un servicio de hosting.

Recomiendo el servidor sered por las siguientes razones:

  • Cuenta con la versión más actualizada de php, lo que los hace compatible con todas las versiones de Laravel.
  • Cpanel.
  • Precios muy baratos.
  • Certificado SSL incluido.
  • Hostings SSD.
  • Backups diarios.
  • Buen soporte técnico.
  • Garantía de reembolso.
  • Una gran velocidad de carga.

Y si contratas el plan anual al utilizar nuestro código nigmacode recibes un descuento, visítalo ahora en este enlace

Configuración antes de la subida

Para comenzar, debemos dirigirnos a nuestro archivo .env y modificaremos estas dos variables:

APP_ENV=production
APP_DEBUG=false

En el caso de que estemos utilizando webpack mix, debemos ejecutar en la consola, en la raíz de nuestro proyecto, en siguiente comando:

npm run production

una vez hecho esto ejecutaremos también:

composer dumpautoload

Tras esto, estamos listos para comenzar con la subida de nuestra aplicación.

Debemos “dividir” nuestro proyecto en dos partes, comprimiremos en ZIP todas las carpetas de nuestro proyecto a excepción de la carpeta public:

Una vez comprimamos todos estos archivos, entraremos en la carpeta public, seleccionaremos todos los archivos y los comprimiremos también.

Configuración de nuestro hosting

Ahora accederemos al panel de administrador de nuestro hosting, que en mi caso es cPanel, aunque el proceso sería el mismo en cualquier otro panel.

Debemos asegurarnos de cambiar la versión PHP de nuestro hosting a la que requiera nuestro proyecto de Laravel. Si no estás seguro de que versión debes utilizar para tu proyecto, visita la página oficial del framework donde te especifica cuál es la indicada para cada versión.

En nuestro cpanel iremos a la opción “Select php Version” y seleccionamos la que necesite nuestra versión

Una vez hecho esto, ya tenemos nuestro hosting listo para el deploy de nuestra aplicación.

Subir nuestro proyecto Laravel a hosting

Nos dirigimos a “Administrador de archivos” de nuestro cPanel, crearemos una carpeta para subir el archivo zip que hemos creado sin la carpeta public, le llamaremos en este ejemplo “Laravel” y dentro de esta, daremos a “cargar” donde arrastremos nuestro archivo zip.

Una vez subido nuestro ZIP, daremos clic derecho sobre el y seleccionaremos la opción “extract” para extraer nuestro archivo comprimido.

Haremos el mismo proceso con nuestro ZIP de la carpeta public, pero esta vez no crearemos ninguna carpeta, sino que iremos a la carpeta “public_html” de nuestro panel de administración, ahí subiremos nuestro ZIP y lo descomprimimos:

Configuración de nuestra aplicación en el hosting

El siguiente paso es muy importante, debemos modificar nuestro archivo index.php que acabamos de descomprimir para indicarle donde se encuentra nuestra aplicación Laravel, donde están las rutas, vistas, controladores, etc.

Daremos clic derecho a nuestro index.php, seleccionamos “edit” y modificaremos las siguientes líneas de código:

/*
|--------------------------------------------------------------------------
| Register The Auto Loader
|--------------------------------------------------------------------------
|
| Composer provides a convenient, automatically generated class loader for
| our application. We just need to utilize it! We'll simply require it
| into the script here so that we don't have to worry about manual
| loading any of our classes later on. It feels great to relax.
|
*/

require __DIR__.'/../laravel/vendor/autoload.php';
/*laravel hace referencia al nombre de la carpeta donde descomprimimos el primer zip
en el caso que hayas escrito otro nombre en la carpeta escribe ese*/

/*
|--------------------------------------------------------------------------
| Turn On The Lights
|--------------------------------------------------------------------------
|
| We need to illuminate PHP development, so let us turn on the lights.
| This bootstraps the framework and gets it ready for use, then it
| will load up this application so that we can run it and send
| the responses back to the browser and delight our users.
|
*/

$app = require_once __DIR__.'/../laravel/bootstrap/app.php';
/*laravel hace referencia al nombre de la carpeta donde descomprimimos el primer zip
en el caso que hayas escrito otro nombre en la carpeta escribe ese*/

Una vez modificadas esas rutas, nuestro archivo index.php ya está apuntando hacia la carpeta de nuestra aplicación. Como te he escrito en los comentarios del código, yo he puesto en la ruta “Laravel” porque la carpeta que cree para descomprimir nuestro primer ZIP le llame así, si tú tienes otro nombre solo debes sustituirlo.

Ahora iremos a nuestra carpeta Laravel (o la carpeta donde hayas descomprimido la aplicación), a la siguiente ruta dentro de la carpeta “app/providers” y editaremos el archivo “AppServiceProvider.php” para editar su función register, añadiendo el siguiente código:

public function register()
{
  $this->app->bind('path.public',function(){
  return'/home/nombre-carpeta-hosting/public_html';
  });
}

En donde pone “nombre-carpeta-hosting” deberás añadir el nombre de la carpeta de tu hosting, que puedes verla en la vista general de archivos, en mi caso debería sustituirlo por “laisofco” ('/home/laisofco/public_html'):

Optimización en el hosting

Otra de las ventajas de tener nuestro proyecto en un hosting, serán las tareas programadas, que se ejecutaran cuando tú decidas y mantendrá a nuestra aplicación actualizada, sin que tengas que estar preocupado en hacer tareas diarias, para eso aprende a crear tareas automatizadas con nuestro artículo 👉👉https://www.nigmacode.com/laravel/tareas-programadas-en-laravel

Conclusión

¡Seguidos todos los pasos que hemos comentado en el artículo, deberíamos tener nuestra aplicación ya arrancada en nuestro hosting!