Cómo instalar el framework web PHP Laravel en Ubuntu 20.04

Laravel es un framework PHP de código abierto ampliamente utilizado para el desarrollo de aplicaciones web. En Laravel se implementa el patrón arquitectónico MVC (Modelo-Vista-Controlador). El proyecto Laravel fue iniciado por Taylor Otwell en 2011 como una alternativa sofisticada al framework CodeIgniter (CI).

Las versiones 1 y 2 de Laravel se publicaron en 2011. A la versión actual 8.x se le ha añadido un esquema de versiones, una política de soporte, etiquetas y mejoras en los componentes de Blade, operaciones de cadena fluidas, mejoras en el enlace del modelo de rutas y otras mejoras.

En el servidor Ubuntu 20.04, este artículo te enseñará a instalar la nueva versión 8.x de Laravel utilizando el servidor web Apache. Te enseñaremos cómo instalar el framework web Laravel en Linux con dos métodos distintos.

Requisitos previos

  • Sistema Ubuntu 20.04
  • 2 GB o más de RAM
  • Privilegios de root
  • Comprender el uso básico del sistema Debian/Ubuntu

¿Qué vamos a hacer?

  • Instalar el servidor web Apache
  • Instalar y configurar PHP 7.4
  • Instalar el gestor de paquetes PHP Composer
  • Instalar Laravel Web Framework
  • Configurar el host virtual de Apache para el proyecto Laravel
  • Prueba de

Paso 1 – Instalar el servidor web Apache

En primer lugar, instalaremos el servidor web Apache en el sistema Ubuntu 20.04 y configuraremos el cortafuegos UFW que sólo permite las conexiones entrantes para algunos servicios, incluyendo el SSH, HTTP y HTTPS.

Actualiza todos los repositorios disponibles en tu sistema e instala el servidor web Apache mediante el comando apt que aparece a continuación.

sudo apt update
sudo apt install apache2

Una vez completada la instalación, inicia el servicio Apache y añádelo al arranque del sistema.

systemctl start apache2
systemctl enable apache2

Ahora comprueba el estado del servicio Apache utilizando el siguiente comando.

systemctl status apache2

A continuación se muestra el resultado que obtendrás.

Instalar el servidor web Apache

El resultado es que el servicio Apache está en funcionamiento.

A continuación, añade los servicios SSH, HTTP y HTTPS al cortafuegos UFW utilizando el siguiente comando.

for svc in ssh http https
do
ufw allow $svc
done

Ahora habilita los servicios del cortafuegos UFW.

sudo ufw enable

Escribe«y» para continuar, y el cortafuegos UFW habrá sido habilitado.

Configurar el cortafuegos UFW

A continuación, abre tu navegador web y escribe la dirección IP de tu servidor en la barra de direcciones.

http://10.5.5.25/

Y obtendrás la página index.html de Apache por defecto.

Apache Default index.html

Como resultado, la instalación del servidor web Apache y la configuración del cortafuegos UFW se han completado.

Paso 2 – Instalar y configurar PHP 7.4

En este paso, instalaremos y configuraremos PHP 7.4 para nuestra instalación de Laravel. Para instalar Laravel 8.x, al menos debes tener el PHP >= 7.2.5 en tu sistema. Y por defecto, el repositorio oficial de Ubuntu 20.04 proporciona paquetes PHP 7.4.

Instala los paquetes PHP 7.4 utilizando el comando apt que aparece a continuación.

sudo apt install libapache2-mod-php php php-common php-xml php-gd php-opcache php-mbstring php-tokenizer php-json php-bcmath php-zip unzip

Una vez completada la instalación, ve al directorio ‘/etc/php/7.4/’ y edita la configuración ‘php.ini’ para el servidor web Apache2.

cd /etc/php/7.4/
vim apache2/php.ini

Descomenta la opción ‘cgi.fix_pathinfo’ y cambia el valor a ‘0’.

cgi.fix_pathinfo=0 

Guarda y cierra.

A continuación, reinicia el servicio Apache para aplicar la nueva configuración de ‘php.ini’.

systemctl restart apache2

Como resultado, la configuración básica de PHP 7.4 se ha completado con éxito.

Configurar PHP 7.4 en un sistema Ubuntu

Paso 3 – Instalar el gestor de paquetes PHP Composer

Composer es un gestor de dependencias para PHP. Es un gestor de paquetes a nivel de aplicación para PHP que te permite descargar dependencias y bibliotecas PHP adicionales a tu proyecto PHP.

En este tutorial, utilizaremos el Composer para instalar Laravel, y lo instalaremos descargando el archivo binario del Composer desde el sitio web oficial del Composer.

Descarga el archivo binario del Composer y mueve el archivo al directorio ‘/usr/local/bin’.

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

Después, comprueba la versión de Composer con el siguiente comando.

composer --version

A continuación se muestra el resultado que obtendrás.

Instalar Composer en Ubuntu 20.04

Como se puede ver, el gestor de paquetes PHP Composer ha sido instalado en el sistema Ubuntu.

Paso 4 – Instalar Laravel 8.x en Ubuntu 20.04

Para este paso, te mostraremos dos formas diferentes de instalar el framework web Laravel. Instalaremos Laravel a través del Instalador de Laravel y lo instalaremos a través del Compositor.

– Instalar Laravel a través del Instalador Laravel

Este tipo de instalación es el más adecuado para los desarrolladores de Laravel. Porque cuando usas el Instalador de Laravel, puedes instalar Laravel en cualquier lugar con un usuario no root.

Esta sección instalará el framework web Laravel con el usuario no root llamado ‘hakase’.

Puedes añadir el usuario y configurar su contraseña con el siguiente comando.

useradd -m -s /bin/bash hakase
passwd hakase

Después, inicia sesión con el usuario ‘hakase’.

su - hakase

A continuación, instala el paquete Laravel Installer utilizando el comando composer que aparece a continuación.

composer global require laravel/installer

Una vez completada la instalación, obtendrás el siguiente resultado.

Instalar el instalador de Laravel

Como se puede ver, todos los paquetes se han instalado en el directorio ‘~/.config/composer’.

A continuación, tenemos que añadir el directorio ‘bin’ al entorno PATH a través de la configuración ~/.bashrc.

Edita la configuración ~/.bashrc utilizando el editor vim.

vim ~/.bashrc

Pega la siguiente configuración al final de la línea.

export PATH="$HOME/.config/composer/vendor/bin:$PATH"

Guarda y cierra.

Ahora carga la nueva versión de la configuración ~/.bashrc y comprueba la variable de entorno $PATH.

source ~/.bashrc
echo $PATH

A continuación se muestra el resultado que obtendrás.

Añadir ruta binaria para el instalador de Laravel

El directorio ‘bin’ de los paquetes de Composer se ha añadido a la variable de entorno $PATH. Y como resultado, puedes utilizar el comando ‘laravel’ para iniciar y crear un nuevo proyecto.

Como resultado, ahora puedes utilizar el comando ‘laravel’ para crear un nuevo proyecto.

Para crear un nuevo proyecto Laravel llamado ‘blog’, ejecuta el siguiente comando laravel.

laravel new blog

Ahora obtendrás el directorio del proyecto Laravel ‘blog’.

Crear un nuevo proyecto Laravel con el instalador de Laravel

Para que el servidor web Apache pueda acceder al directorio de tu proyecto Laravel, cambia el propietario del grupo del directorio del proyecto al grupo ‘www-data’ y haz que el directorio ‘storage’ sea escribible.

sudo chgrp -R www-data /home/hakase/blog
sudo chmod -R 775 /home/hakase/blog/storage

Como resultado, Laravel está instalado mediante el instalador de Laravel, y estás listo para configurar el host virtual de Apache para tu proyecto Laravel.

Configurar el proyecto Laravel

– Instalar Laravel a través de Composer create-project

Otra forma de instalar el framework web Laravel es utilizando la gestión de paquetes PHP de Composer.

Ve al directorio ‘/var/www/’ y crea un nuevo proyecto Laravel llamado ‘blog’ utilizando el comando ‘composer’ que aparece a continuación.

cd /var/www/
composer create-project --prefer-dist laravel/laravel blog

Ahora obtendrás el nuevo directorio del proyecto llamado ‘blog’.

Crear un proyecto Laravel con Composer

A continuación, cambia la propiedad del directorio del proyecto ‘blog’ al usuario ‘www-data’ y haz que el directorio ‘storage’ sea escribible.

sudo chown -R www-data:www-data /var/www/blog
sudo chmod -R 775 /var/www/blog/storage

Como resultado, habrás instalado el framework web Laravel mediante el comando Composer.

Configurar el proyecto Laravel

Paso 5 – Configurar Apache para el proyecto Laravel

En este paso, configuraremos el host virtual de Apache para el proyecto Laravel.

Ahora ve al directorio ‘/etc/apache/sites-available’ y crea una nueva configuración de host virtual ‘laravel.conf’ usando el editor vim.

cd /etc/apache2/sites-available/
vim laravel.conf

Cambia el nombre de dominio y el directorio webroot por los tuyos y pega la configuración en él.

<VirtualHost *:80>
    ServerName hakase-labs.io

    ServerAdmin [email protected]
    DocumentRoot /home/hakase/blog/public

    <Directory /home/hakase/blog>
    Options Indexes MultiViews
    AllowOverride None
    Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Guarda y cierra.

A continuación, activa el módulo de reescritura de Apache y la configuración del host virtual de Laravel utilizando el siguiente comando.

sudo a2enmod rewrite
sudo a2ensite laravel.conf

Después, prueba la configuración de Apache, asegúrate de que no hay ningún error y reinicia el servicio de Apache.

apachectl configtest
systemctl restart apache2

Como resultado, la configuración del host virtual de Apache para Laravel se ha completado.

Configurar un host virtual de Apache para Laravel

Paso 6 – Prueba

Abre tu navegador web y escribe la dirección IP o el nombre de dominio de tu servidor en la barra de direcciones.

http://hakase-labs.io/

A continuación se muestra el resultado que obtendrás.

Página por defecto de Laravel

Como resultado, la instalación y configuración de Laravel con el servidor web Apache se ha completado con éxito.

Referencia

También te podría gustar...