Guías y tutoriales

Cientos de tutoriales y guías paso a paso cuidadosamente escritas por nuestro equipo de soporte.

Instalación de Laravel en Cloud con Debian 10

Contratar Cloud One con Debian Buster 10

En primer lugar, debes disponer de un servidor Cloud, por ejemplo un Cloud One A1. La contratación del Cloud se puede realizar desde nuestra web o en caso de ser ya cliente de SW Hosting, desde tu cuenta SWPanel

Conexión SSH

En el momento de dar de alta el servidor, tanto desde la web como desde el SWPanel, se te enviará un correo electrónico a tu cuenta de correo con las credenciales de acceso SSH (IP y puerto) a tu servidor Cloud para el usuario administrador (Root). Con estas credenciales podrás acceder a tu servidor e iniciar el proceso de instalación de Laravel.

Crear un usuario

En SW Hosting, recomendamos crear un usuario con permisos elevados y no utilizar el usuario Root para estos fines. Para crear un usuario lo puedes hacer utilizando los siguientes comandos.

apt install sudo
adduser swtest
usermod -aG sudo swtest
su - swtest

enter image description here

Ahora tenemos un usuario de sistema con privilegios de sudo y ya no deberíamos utilizar Root directamente

Paquetes mínimos necesarios

Empezamos añadiendo los repositorios de PHP 7.4:

sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg

echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list

enter image description here

Una vez añadido el repositorio, procederemos a actualizar el listado de paquetes y el Cloud.

sudo apt update
sudo apt upgrade

enter image description here

Una vez actualizado, instalamos los siguientes paquetes esenciales:

sudo apt install lsb-release apt-transport-https ca-certificates git zip unzip

enter image description here

LAMP: Instalar Apache, MariaDB y PHP 7.4

Para empezar, instalamos el servicio de Apache:

sudo apt install apache2

enter image description here

Para verificar el correcto funcionamiento del servicio lo puedes hacer con el siguiente comando:

sudo service apache2 status

enter image description here

También puedes realizar la comprobación con el navegador, utilizando la IP de tu Cloud.

enter image description here

Una vez comprobado el correcto funcionamiento, instalamos el servicio PHP 7.4 y los módulos de mbstring y xml:

sudo apt install php7.4 php7.4-fpm php7.4-mbstring php7.4-xml libapache2-mod-php7.4

enter image description here

Podemos verificar el correcto funcionamiento del PHP creando un pequeño script PHP en /var/www/html, para ello haremos lo siguiente:

cd /var/www/html
sudo nano info.php

El contenido del fichero debe ser el siguiente:

<?php  

// Muestra toda la información, por defecto INFO_ALL  
phpinfo();  

// Muestra solamente la información de los módulos.  
// phpinfo(8) hace exactamente lo mismo.  
phpinfo(INFO_MODULES);  

?>

Fichero oficial: https://www.php.net/manual/es/function.phpinfo.php

Una vez guardado el fichero, lo ejecutamos desde el navegador con la siguiente URL: http://ipdelservidor/info.php

enter image description here

También puedes comprobar que funciona correctamente con el siguiente comando:

service php7.4-fpm status

enter image description here

Una vez instalado el PHP 7.4 y sus módulos, vamos a proceder a instalar la base de datos MariaDB como servicio (Server) y su módulo de PHP:

sudo apt install mariadb-server php7.4-mysql

enter image description here

Para realizar la comprobación del servicio lo puedes hacer con los siguientes comandos:

service mariadb status

enter image description here

mariadb -p

enter image description here

Crear Virtualhost en Apache

Nosotros utilizaremos como ejemplo manuales.sw. Para empezar, vamos a crear el archivo de configuración. Para ello, primero deberemos acceder a la ruta y una vez estés en el directorio, crear el archivo de configuración manuales.conf.

cd /etc/apache2/sites-available
sudo nano manuales.conf

En el fichero de configuración, definimos la siguiente configuración:

<VirtualHost *:80>
    ServerName manuales.sw
    DocumentRoot "/var/www/manuales/public"
</VirtualHost>

Una vez creado el fichero de configuración, activamos el sitio con los siguientes comandos:

sudo a2ensite manuales
sudo systemctl reload apache2

La creación de configuraciones de VirtualHost en tu servidor Apache no hace que mágicamente se creen entradas DNS para esos nombres de host. Debes tener los nombres de DNS resolviendo a tu dirección IP o nadie más será capaz de ver tu sitio web.

Si tu dominio en su zona DNS no está apuntando al Cloud, para realizar las pruebas, puedes editar el archivo de hosts.

*Recuerda que esta configuración solo está disponible en el ordenador donde se ha modificado el archivo de hosts, los demás no, a no ser que se configure el fichero.

Modificar nuestro fichero de hosts

Puedes seguir el siguiente manual para editar el fichero de hosts:

Manual de hosts

En el fichero de hosts, añadiremos una línea:

IP-del-Cloud manuales.sw

Composer

Composer es un sistema de gestión de paquetes para programar en PHP, el cual provee los formatos estándar necesarios para manejar dependencias y librerías de éste.

Para empezar, instalaremos Composer:

sudo php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

sudo php -r "if (hash_file('sha384', 'composer-setup.php') === 'e5325b19b381bfd88ce90a5ddb7823406b2a38cff6bb704b0acc289a09c8128d4a8ce2bbafcd1fcbdc38666422fe2806') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

sudo php composer-setup.php

sudo php -r "unlink('composer-setup.php');"

sudo mv composer.phar /usr/bin/composer

enter image description here *Puedes consultar más información en la Web oficial de Composer.

Para verificar el correcto funcionamiento del Composer, ejecutaremos el siguiente comando:

composer

enter image description here

Laravel

Una vez instalados los requisitos para ejecutar Laravel, procedemos al despliegue del Framework. Para ello, ejecutamos los siguientes comandos:

Primero, accedemos al siguiente directorio:

cd /var/www

Una vez dentro, ejecutamos el despliegue utilizando el Composer. Con Composer puedes desplegar diferentes Frameworks que puedes encontrar en la web oficial, en el apartado de "Browse Packages". Nosotros vamos a utilizar el paquete de laravel/laravel y lo vamos a definir con el nombre de manuales. Al ejecutar la comanda, éste va a descargar diferentes dependencias y va a crear la carpeta manuales en el directorio actual (en nuestro caso /var/www), donde encontraremos todo el proyecto.

composer create-project --prefer-dist laravel/laravel manuales

enter image description here

Privilegios en carpetas

Una vez creado el proyecto, entraremos en la carpeta manuales y, seguidamente, concederemos los permisos necesarios para su ejecución:

cd manuales
sudo chown www-data:www-data storage/ -R
sudo chown www-data:www-data bootstrap/cache/ -R

enter image description here

Para más información sobre la instalación de laravel, puedes consultar en la Web oficial de Laravel

enter image description here

Puedes continuar configurando los parámetros de Laravel: Conexión a la base de datos, caché, sesiones, etc.