Inicio Blog Cursos Foro

Subir proyecto laravel a hosting


author_post
José Luis Guisado

Hosting para laravel

Antes de comenzar a explicarte cómo subir tu proyecto laravel a un hosting, queremos recomendarte el que utilizamos nosotros en la mayoría de nuestros proyectos:

Recomendamos para España el servidor: sered por las siguientes razones:

  • Cuenta con la versión php 7.2, lo que los hace compatible con todas las versiones de Laravel.
  • Cpanel.
  • Puedes elegir el plazo que mejor te convega para pagar ( Mensual, trimestral, semi-anual, anual, bi-anual y tri-anual).
  • Precios muy baratos.
  • Certificado SSL incluido.
  • Hostings SSD.
  • Backups diarios.
  • Buen soporte técnico.
  • Garantia de reembolso.
  • Una gran velocidad de carga.

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

Y para Sudamerica Neothek visitalo en este enlance 

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 que estemos utilizando webpack mix, debemos ejecutar en la consola, en la raiz 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:

laravel aplicacion hosting

Una vez comprimamos todos estos archivos, entraremos en la carpeta public, selecionaremos todos lo 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, las últimas versiones de laravel necesitan la 7.1.3 o superior. Si no estás seguro de que versión debes utilizar para tu proyecto, visita la pagina oficial del framework instalación laravel y seleciona la versión de tu aplicación.

En nuestro cpanel iremos a la opción "Select php Version" y en mi caso, al estar utilizando laravel 5.7 seleccionaré la 7.2.

version php laravel

 

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

Subir nuestro proyecto laravel a hosting

Nos dirijimos 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 ésta, daremos a "cargar" donde arrastremos nuestro archivo zip.

aplicacion laravel

Una vez subido nuestro zip, daremos click derecho sobre el y selecionaremos 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 descompriremos:

public laravel hosting

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 click derecho a nuestro index.php, seleccionamos "edit" y modificaremos las siguientes lineas de codigo:

/*
|--------------------------------------------------------------------------
| 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 esta apuntando hacia la carpeta de nuestra aplicación. Como te he escrito en los comentarios del codigo, yo he puesto en la ruta "laravel" porque la carpeta que cree para descomprimir nuestro primer zip le llame así, si tu 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 codigo:

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

En donde pone "nombre-carpeta-hosting" deberas 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'):

ruta hosting laravel

Una vez hecho esto, nuestro proyecto ya estará listo:

subir laravel a hosting

Cualquier duda, ¡no dudes en contactar con nosotros! nos vemos pronto.

 

¡No te pierdas nuevas entradas! Sí­guenos en nuestras redes sociales

¿Tienes alguna duda sobre el artículo? ¡Pregunta!