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.
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.
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.
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.
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.
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.
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.
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’.
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.
– 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’.
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.
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.
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.
A continuación se muestra el resultado que obtendrás.
Como resultado, la instalación y configuración de Laravel con el servidor web Apache se ha completado con éxito.