Cómo instalar el framework PHP Laravel 5.6 con Nginx en Ubuntu 18.04

Laravel es un framework PHP gratuito y de código abierto que implementa el patrón de diseño MVC (Modelo-Vista-Controlador). Creado por Taylor Otwell en 2011, como un intento de proporcionar una alternativa avanzada al framework CodeIgniter (CI). En 2011, Laravel lanzó la versión 1 y la versión 2, y la última versión 5.6 viene con más y mejores características como soporte de línea de comandos (CLI) llamado ‘artisan’, soporte para diferentes sistemas de bases de datos, mejoras de Route, etc.

En este tutorial, te guiaré paso a paso sobre cómo instalar Laravel versión 5.6 con Nginx como servidor web, PHP-FPM 7.2 y MariaDB. Laravel 5.6 se ejecutará bajo la pila LEMP con Ubuntu 18.04 como versión del sistema operativo.

Qué haremos

  1. Actualizar el repositorio de Ubuntu
  2. Instalar Nginx
  3. Instalar PHP-FPM 7.2
  4. Instalar MariaDB
  5. Instalar PHP Composer
  6. Configurar el host virtual Nginx para Laravel
  7. Instalar Laravel
  8. Probar

Requisitos previos

  • Servidor Ubuntu 18.04
  • Privilegios de root

Paso 1 – Actualizar Ubuntu

Antes de empezar con la instalación, necesitamos actualizar el repositorio y luego actualizar todos los paquetes a la última versión. Para ello, primero inicia sesión en el servidor Ubuntu mediante ssh.

ssh root@ip

Ahora, actualiza el repositorio de Ubuntu y actualiza todos los paquetes de tu sistema a la última versión.

sudo apt update
sudo apt upgrade

Reinicia tu servidor y vuelve a conectarte mediante ssh.

Paso 2 – Instalar Nginx

En este paso, instalaremos Nginx 1.14 en el sistema. Está disponible en el repositorio por defecto de ubuntu, sólo tienes que instalarlo con el siguiente comando apt.

sudo apt install nginx -y

Una vez completada la instalación, inicia el servicio nginx y añádelo para que se inicie automáticamente al arrancar el sistema mediante el comando systemctl.

systemctl start nginx
systemctl enable nginx

Nginx se ejecuta en el puerto 80, comprueba las estadísticas relacionadas utilizando el comando netstat.

netstat -plntu

Habilitar e iniciar el servidor web Nginx

También puedes utilizar el comando curl.

curl -I localhost

Paso 3 – Instala PHP 7.2 y PHP-FPM

Nginx está instalado, y ahora necesitamos instalar PHP-FPM versión 7 en el sistema. Instalaremos PHP 7.2 y algunas extensiones PHP necesarias para Laravel.

Instala PHP y PHP-FPM 7.2 con todas las extensiones necesarias utilizando el siguiente comando.

sudo apt install php7.2 php7.2-curl php7.2-common php7.2-cli php7.2-mysql php7.2-mbstring php7.2-fpm php7.2-xml php7.2-zip -y

A continuación, ve al directorio de configuración de PHP y edita el archivo php.ini presente en el directorio fpm.

cd /etc/php/7.2/
vim fpm/php.ini

Descomenta la siguiente línea CGI y cambia el valor a 0.

cgi.fix_pathinfo=0

Eso es todo. Guarda y sal.

Ahora podemos iniciar PHP-FPM y habilitarlo para que se inicie automáticamente al arrancar el sistema.

systemctl start php7.2-fpm
systemctl enable php7.2-fpm

Por defecto en Ubuntu, PHP-FPM se ejecuta bajo el archivo sock. Comprueba el archivo sock de PHP-FPM con el comando netstat de la siguiente manera:

netstat -pl | grep php7.2-fpm

Instalar e iniciar PHP-FPM

Se ha instalado PHP y PHP-FPM 7.2 en los sistemas Ubuntu 18.04.

Paso 4 – Instala MariaDB

Esto es opcional, pero cuando tu proyecto Laravel está basado en MySQL, necesitas hacer esto para tu proyecto. Instalaremos MariaDB última versión 10.1 en el sistema.

Instala MariaDB desde el repositorio utilizando el siguiente comando.

sudo apt install mariadb-server mariadb-client -y

Una vez completada la instalación, ejecuta MariaDB y habilítalo para que se inicie al arrancar el sistema.

systemcl start mysql
systemctl enable mysql

MariaDB se inicia en el puerto 3306, compruébalo utilizando el comando netstat.

netstat -plntu

Iniciar y comprobar MariaDB

A continuación, configura la contraseña de root de MariaDB con el comando ‘mysql_secure_installation’ que aparece a continuación.

mysql_secure_installation

Introduce tu contraseña de root, elimina los usuarios anónimos, deshabilita el inicio de sesión de root de forma remota, etc.

Set root password? [Y/n] Y
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

La instalación y configuración de MariaDB ha finalizado.

Paso 5 – Instalar PHP Composer

El compositor es un gestor de paquetes para el lenguaje de programación PHP. Creado en 2011, está inspirado en ‘npm’ de Node.js y en ‘bundler’ de Ruby. En ubuntu 18.04, composer está disponible en el repositorio, por lo que podemos instalarlo utilizando el comando apt.

Instala PHP Composer con el siguiente comando.

sudo apt install composer -y

Una vez completada la instalación, ejecuta el comando ‘composer’ y obtendrás los resultados que se muestran en la captura de pantalla.

composer

Instalar PHP Composer

PHP Composer instalado en Ubuntu 18.04.

Paso 6 – Configurar el host virtual Nginx para Laravel

En este paso, configuraremos el host virtual nginx para Laravel. Pero antes de hacerlo, debemos decidir el directorio para nuestro proyecto Laravel. En nuestro caso, utilizaremos el directorio ‘/var/www/laravel’ para el proyecto. Sólo tienes que crearlo con mkdir.

mkdir -p /var/www/laravel

A continuación, ve al directorio de configuración de nginx y crea un nuevo archivo de host virtual ‘laravel’ en el directorio ‘sites-available’.

cd /etc/nginx/
vim sites-available/laravel

Pega allí la siguiente configuración.

server {
         listen 80;
         listen [::]:80 ipv6only=on;
 
         # Log files for Debugging
         access_log /var/log/nginx/laravel-access.log;
         error_log /var/log/nginx/laravel-error.log;
 
         # Webroot Directory for Laravel project
         root /var/www/laravel/public;
         index index.php index.html index.htm;
 
         # Your Domain Name
         server_name laravel.hakase-labs.co;
 
         location / {
                 try_files $uri $uri/ /index.php?$query_string;
         }
 
         # PHP-FPM Configuration Nginx
         location ~ \.php$ {
                 try_files $uri =404;
                 fastcgi_split_path_info ^(.+\.php)(/.+)$;
                 fastcgi_pass unix:/run/php/php7.2-fpm.sock;
                 fastcgi_index index.php;
                 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                 include fastcgi_params;
         }
 }

Eso es todo. Guarda y sal.

Ahora activa el host virtual creando un enlace simbólico del archivo ‘laravel’ al directorio ‘sites-enabled’.

Luego prueba la configuración de nginx y asegúrate de que no hay ningún error.

ln -s /etc/nginx/sites-available/laravel /etc/nginx/sites-enabled/
nginx -t

El host virtual nginx para laravel ha sido creado, ahora reinicia el servicio nginx.

systemctl restart nginx

Configurar Nginx para Laravel

Paso 7 – Instalar Laravel

Antes de empezar con la instalación de Laravel, asegúrate de que la utilidad unzip está instalada en tu sistema. Si no tienes la herramienta, instálala utilizando el siguiente comando.

sudo apt install unzip -y

Ya hemos definido un directorio para Laravel: directorio ‘/var/www/laravel’. Ve a ese directorio.

cd /var/www/laravel

Instala Laravel con el comando composer. Hay dos formas de instalar Laravel: Instalando a través del Instalador de Laravel e Instalando a través de Composer create project.

Instalaremos la última versión 5.6 de Laravel a través del proyecto composer create.

Ejecuta el siguiente comando de composer.

composer create-project laravel/laravel .

Debes esperar a la instalación de Laravel.

Instalar Laravel

La instalación de Laravel se ha completado.

Instalación de Laravel completa

Necesitamos cambiar la propiedad del directorio del proyecto Laravel al usuario ‘www-data’, y cambiar el permiso del directorio de almacenamiento a 755.

chown -R www-data:root /var/www/laravel
chmod 755 /var/www/laravel/storage

La instalación de Laravel se ha completado sin ningún error.

Paso 8 – Pruebas

En el archivo de configuración del host virtual, ya hemos definido el nombre de dominio para Laravel ‘laravel.hakase-labs.co’.

Abre tu navegador web y visita el dominio en el que instalaste Laravel, el mío aquí en el servidor de pruebas es http://laravel.hakase-labs.co/.

Y deberías ver la página de inicio de Laravel.

Laravel instalado correctamente

La instalación de Laravel con Nginx, PHP-FPM 7.2 y MariaDB en Ubuntu 18.04 se ha realizado correctamente.

Referencias

También te podría gustar...