Tutorial instalación de Laravel 5.4 en x10hosting

Siguiendo este sencillo tutorial podréis instalar vuestros proyectos Laravel 5.4 en x10hosting.com, el mejor y más fiable hosting gratuito.

Los pasos son los siguientes:

1) Dar de alta la cuenta en x10hosting.com, eligiendo un dominio y asociando una cuenta de email.

2) Una vez creada y verificada la cuenta por email, hay que cambiar la vista al cPanel x3 porque es donde aparecen todas las funcionalidades que vamos a necesitar.

3) En cPanel cambiar la versión de PHP a 7.

4) En el módulo de Softaculous instalar el Framework Laravel, mejor si es en la carpeta raíz y no “laravel” como propone por defecto.

5) Comprobar que no haya nombres de archivos, carpetas o extensiones con mayúsculas porque pueden dar problemas una vez subidos al servidor.

6) Utilizar los comandos php artisan cache:clearphp artisan config:clear para limpiar la caché de artisan antes de subirlo para evitar que quede alguna caché almacenada en el proyecto.

7) Comprimir con ZIP (no con RAR porque no todos los servidores permiten descomprimirlo) los archivos de nuestro proyecto Laravel y subir el archivo a la raíz del servidor (habitualmente es la carpeta “public_html”) con el Gestor de Archivos del cPanel.

8) Descomprimir el ZIP desde el mismo Gestor de Archivos del cPanel para que queden todos los archivos en la raíz “public_html”, sobrescribiendo todos los archivos existentes. Al abrir el programa saldrá una ventana en la que deberemos marcar el SELECT que nos permita «ver los archivos ocultos (.archivos)» que posteriormente tendremos que modificar.

9) Ir al Gestor de Archivos del cPanel, entrar en la carpeta “public” y subir al nivel raíz el archivo «.htaccess».

10) Abrir el archivo «.htaccess» con el Editor de Código del cPanel. Para que funcione correctamente debería ser similar a este:

<IfModule mod_rewrite.c>

<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>

RewriteEngine On
RewriteBase /

RewriteCond %{THE_REQUEST} /public/([^\s?]*) [NC]
RewriteRule ^ %1 [L,NE,R=302]

RewriteRule ^((?!public/).*)$ public/$1 [L,NC]

# Handle Front Controller…
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ /public/index.php [L]

</IfModule>

11) Modificar el archivo «index.php» que está en la raiz “public_html” dejando este código (cambiando la URL por la de vuestro dominio) para que nos redirija a la carpeta «public» de nuestro proyecto Laravel:

<?php
header(«Location: http://DOMINIO.x10host.com/public/»);
?>

12) Ir a MySQL databases y crear una base de datos nueva y un usuario con todos los privilegios para esa base de datos. No usar nombres demasiado largos porque pueden dar problemas por la longitud de caracteres.

13) Asociar el usuario a la base de datos creada con el botón “Add a User to a Database”.

14) Anotar el nombre de la base de datos y el usuario para configurar el archivo «.env» de la raíz del proyecto Laravel.

15) Deberemos haber exportado la base de datos del proyecto desde el phpMyAdmin de nuestro localhost.

16) Importar esa base de datos del localhost desde el phpMyAdmin del cPanel del servidor a la nueva base de datos.

17) Modificar el archivo «.env» de la raíz del proyecto Laravel con el Editor de Código del cPanel (cambiar los campos en negrita):

APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:JBzr4wtkOXB6ysVFgv/gjRNjqANGpiZjWT8Z7qnhIW8=
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=http://DOMINIO.x10host.com (poned el vuestro)

DB_CONNECTION=mysql
DB_HOST=localhost (a veces dejando 127.0.0.1 no conecta bien)
DB_PORT=3306
DB_DATABASE=nombre_basededatos
DB_USERNAME=nombreusuario_basededatos
DB_PASSWORD=contraseña_usuario_basededatos

BROADCAST_DRIVER=log
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=

18) Visitar el sitio y verificar que todo funciona correctamente.

Seguro que algunas puntos del tutorial son mejorables pero está comprobado que siguiendo estos pasos funciona correctamente. Espero que este tutorial os haya ayudado. Podéis enviarme vuestros comentarios vía twitter escribiendo a @davidpeligero.