Subir Laravel 5.6 a hosting compartido Cpanel

El siguente tutorial sera realizado utilizando el hosting Banahosting.com.

Lo primero que debemos saber es: Qué versión de php requiere el framework Laravel para que funcione de la mejor manera; En este caso es PHP >= 7.1.3. Se está tomanto este criterio como el primer aspecto ya que puedes tener los siguientes pasos correctamentes que si no se ha fijado la versión del php que sea la correcta no va a funcionar el sitio, y es entonces cuando llegan los dolores de cabeza.

Cómo sabermos que versión de php esta utilizando nuestro hosting. Para ello entramos en el Cpanel y nos dirigímos a un botón llamado Select Php Version, una vez dentro se mostrará un combobox con las versiones de php soportadas por el hosting, para este framework con la version 7.1 podremos trabajar sin problemas.

Un tip de este hosting para que el mismo muestre los errores de php es el siguiente. Dentro del Cpanel buscamos un botón llamado MultiPHP INI Editor luego escogemos en el combobox que aparece nuestro dominio y después la opción display _errors la cambiamos a true. De esta manera cuando el framework nos envíe un mensaje de error vamos a saber cual es el problema en la consola.

Lo siguiente será crear una carpeta en el root del hosting con el nombre que deseamos, en nuestro caso la hemos llamado laravel 

Ahora en la carpeta donde esta nuestro sistema seleccionaremos todos los ficheros y carpetas menos la carpeta llamada public y creamos un .zip con los mismos llamda (zip1). Luego de esto se realiza lo mismo con los ficheros que estan dentro de la carpeta public  en este caso seria (zip2).

Los archivos que están en zip1 hay que copiarlos en la carpeta llamada laravel que creamos en el root del hosting mientras que el zip2 será para la html_public del hosting, estas tareas las realizaremos utilizando el File Manager del hosting ya que si utilizan algun gestor ftp no necesitan compactar los archivos, solo copiar todos los archivos y carpetas de nuestro servidor en las carpetas laravel y html_public.

El siguiente paso es editar el index.php que se encuentra en el html_public y cambiar la dirección donde van a estar las carpetas de bootstrap y vendor del framework, para esto buscamos las dos lineas correspondientes a lo antes mencionado en el fichero index.php y agregamos despues de los dos ../laravel/ quedando de la siguiente manera.

require __DIR__.'/../laravel/vendor/autoload.php';
$app = require_once __DIR__.'/../laravel/bootstrap/app.php';

Luego de esto vamos a la carpeta laravel creada en el root del hosting, a la siguiente dirección: laravel/app/providers/AppServiceProvider.php y editamos dicho fichero, en la función llamada register agregamos el siguiente código, que es para decirle al framework que el nombre de la carpeta public cambió el nombre y el pueda utilizarla para sus funciones especificas.

$this->app->bind('path.public', function() {
    return base_path().'/public_html';
});

Con esta configuración la carpeta public_html quedara dentro de la carpeta laravel que es su raíz, en caso de querer cambiar la dirección para que los archivos no se guarden dentro de la raíz, se tendrá que cambiar el nombre de public_html por el nombre de la carpeta en que se deseen alojar los archivos. Por ejemplo: Si queremos subir images al servidor pero que las mismas puedan ser vistas desde una url tenemos que alojarlas en donde estan los archivos publicos del laravel, en este caso seria el dominio. Como quedaría:

$this->app->bind('path.public', function() {
  return base_path().'/../mi_dominio.com';
});

Ya realizado estos cambios se puede comprovar si el sistema esta funcionando correctamente.

Please follow and like us:
error

9 comments

  1. Este debe ser el post num 15 que veo sobre subir un proyecto laravel a un hosting, en todos es lo mismo y a mi no me funciona… en mi pc anda perfecto, de esa manera lo subo y me sale error 500

    1. Buenas Jorge, la verdad no se pq no le funciona, a cada rato se me olvida como lo hice y regreso aqui y me funciona perfecto. yo utilizo un hosting que se llama banahosting.com no se si es el mismo q usted utiliza, y no se si en los demas funciona asi, no he utilizado mas ninguno, si en algo le puedo ayudar dejeme saber..

    1. Muy buenas Juan, en el holding compartido si se tiene que agregar laravel. Laravel no se instala. Se agrega parte del proyecto en una carpeta principal en el hosting y los archivos que están en la carpeta public se agregan en el http_public del hosting.

  2. Saludos y como se acceden a las funciones de la CLI ? Estoy interesado en montar Laravel en mi sitio web con Cpanel pero tengo las dudas si podre usar todas sus ventajas como el artisan

    1. Buenas tardes Juan.. Yo no soy esperto en el tema pero te dire lo que se…
      Yo hago mi proyecto en mi pc local, una vez que lo tengo hecho con todos los metodos y demas lo subo al servidor como muestro en el tuto.
      en caso de que tenga que modificar algo en el servidor ya eso tienes que abrir directamente el fichero que quieres modificar y hacerlo ahi…
      hasta donde yo se en el CPanel no funciona el artisan. por lo menos en este servidor que yo uso… a lo mejor hay algun servidor que sea para correr laravel en la internet pero yo no lo se..
      a mi me gusta mucho laravel, tiene muchas ventajas y sobre todo me deja hacer una API facilmente, para trabajar desde la web o cell.

  3. Al trabajar con la carpeta del framework en la raiz y el public en public_html, como haces para trabajar con GIT de manera local y poder impactar en el server?
    Ya que localmente uno tiene la instalación de laravel funcionando con la estructura del framework.
    Gracias!

    1. Mira la verdad tu pregunta no la puedo contestar ya que de la única manera que pude encontrar de subir laravel a un hosting fue esta.. tengo entendido que para laravel hay 1 hosting en particular pero creo que no es gratis..siento no poder ayudarte..

Leave a Reply

Your email address will not be published. Required fields are marked *