Lo peor que le puede suceder a uno, la mayor frustración es cuando uno tiene el proyecto listo y funcionando en sun màquina local pero no hay forma de que este pueda estar publicado para mostrarlo al mundo!

Voy a explicarte paso a paso cual ha sido mi experiencia al querer publicar mi proyecto en Laravel 5.1 a un hosting compartido.

Lo primero que hay que saber…

  1. Partimos de un ordenador con sistema operativo Windows 7
  2. Utilizamos XAMPP para nuestro servidor local
  3. Configuramos nuestro proyecto en un Virtual Host de modo que podemos acceder a ella a través de dilemy.app
  4. El proyecto esta funcionando localmente, es decir (podemos crear usuarios, loguearnos…) todo funciona perfectamente y ya queremos que nuestro proyecto sea accesible para cualquier usuario a traves de su dominio www.dilemy.com

Como queremos publicarlo en un hosting compartido, sólo disponemos de lo siguiente…

  1. Acceso a nuestro hosting por FTP
  2. Acceso a nuestra base de datos MySQL por phpMyAdmin

Bien, lo primero que haremos es acceder a nuestro proyecto que tenemos localmente, es decir dentro de nuestro directorio de proyectos de XAMPP, veamos la dirección:

C:/xampp/htdocs/dilemy

Dentro del directorio dilemy tenemos a todo el proyecto Laravel 5.1, la estructura del framework sin mas, como sigue en la imagen:

structura-laravel

A continuación accedemos a nuestro hosting mediante FTP con el programa FileZilla, nos conectamos y debemos fijarnos a que altura estamos, en mi caso puedo estar hasta la raiz del hosting con una dirección como la que sigue:

var/wens/dilemy.com/html

Cuando me conecto a mi cuenta de FTP puedo notar que donde deberia tener el contenido raiz de mi web es dentro de /html es decir si hubieramos de meter solo un archivo index.html lo meteriamos dentro de /html quedando así una ruta como la que sigue:

var/webs/dilemy.com/html/index.html

Bien ahora lo que debemos hacer es simplemente copiar el directorio de nuestro proyecto que tenemos en nuestro servidor local. Voy a insistir en este punto, lo que debes copiar no es el contenido de tu directorio, sinó el directorio de tu proyecto, en mi caso copiaré el directorio «dilemy» que tengo en la siguiente ruta:

C:/xampp/htdocs/dilemy

Lo pegaremos (o arrastramos) dentro del directorio /html de nuestro hosting compartido, al final cuando termine de subirse todo nos quedará una ruta como la que sigue:

var/webs/dilemy.com/html/dilemy

Genial, ahora ya tenemos todo el proyecto en nuestro hosting compartido, pero aun nos falta un poco más. Vamos a subir primero nuestra base de datos por phpMyAdmin, este punto no tiene ningún secreto simplemente creamos una base de datos importamos el archivo de la base de datos y listo.

Ahora lo que haremos es configurar nuestro archivo .env para que sea acorde a nuestra configuracion de nuestro hosting compartido, simplemente abrimos el fichero modificamos los datos de nuestra base de datos y nuestra url, en mi caso solo tube que modificar los siguientes campos:

  1. APP_URL
  2. DB_HOST=127.0.0.1
  3. DB_DATABASE=mybdd
  4. DB_USERNAME=myuser
  5. DB_PASSWORD=mypassword

Una vez tengamos nuestro archivo modificado, lo subimos y seguimos. Lo que sigue trata sencillamente de modificar nuestro archivo de configuración para nuestro Virtual Host, en nuestro caso tubimos acceso a ello y pudimos hacerlo sin problema, en caso que no puedas o no tengas acceso pidelo a tu proveedor de hosting para que lo haga por ti.

Necesitamos que nuestro dominio apunte directamente al directorio /public de Laravel 5.1, sin ello no nos va a funcionar, así que nuestro archivo debe lucir como lo siguiente:

<VirtualHost 194.140.166.118:80>
	DocumentRoot /var/webs/dilemy.com/html/dilemy/public
	ServerName www.dilemy.com
	ServerAlias dilemy.com
</VirtualHost>

Fijaros que la IP deberá ser la vuestra y el path tambien deberiais substituïr por el vuestro. Una vez hecho esto se acabó, no hay mas, solo debereis ir al navegador y acceder a vuestro sitio.

Sólo hay un aspecto a tener en cuenta y es que Laravel 5.1 como alguna de sus otras versiones guarda las configuraciones en cache dentro de la siguiente ruta:

bootstrap/cache

Simplemente el contenido de ese directorio eliminadlo para forzar a que se generen de nuevo con la nueva configuración, recuerda que has subido un proyecto de tu servidor local con la configuración del servidor local.

Por último te dejo otro tip a tener en cuenta, por si aún seguir el articulo te sale algun error,  muchos desarrolladores pecamos en ignorar los logs y queremos resolver las cosas por intuición. El caso es que debes revisar los errores que se registran en los logs de tu maquina, ahí es donde encontrareis realmente la solución al problema.

Suerte! =)

Acerca del Autor

Met El Idrissi

Desarrollador web WordPress freelance y emprendedor tecnológico en aplicaciones web SaaS

Ver Artículos