Cómo Instalar Laravel PHP Framework en Ubuntu 24.04

Laravel es un framework de aplicaciones web basado en PHP que se utiliza para crear aplicaciones web empresariales. Es un framework web libre y abierto que sigue la arquitectura modelo-vista-controlador (MVC) y está basado en Symfony. Proporciona una sintaxis elegante que te permite crear aplicaciones con un código limpio y fácil de leer y entender.

Laravel es un framework web de nivel empresarial para crear aplicaciones web empresariales y robustas de pila completa. Las aplicaciones Laravel pueden entregarse rápidamente sin quebraderos de cabeza, desde el proceso de desarrollo hasta la producción.

Esta guía te enseñará a instalar el framework web Laravel en el servidor Ubuntu 24.04. Instalarás Laravel con la pila LAMP (Linux, Apache, MySQL/MariaDB y PHP) y el gestor de paquetes Composer PHP.

Requisitos previos

Antes de empezar esta guía, asegúrate de que tienes lo siguiente:

  • Un servidor Ubuntu 24.04.
  • Un usuario no root con privilegios de administrador.

Instalación de LAMP Stack y Composer

Laravel es un popular framework web PHP para el desarrollo web moderno. Así que debes asegurarte de que PHP y otras dependencias están instaladas en tu servidor Ubuntu. En esta sección, instalarás Laravel con la Pila LAMP (Linux, Apache, MySQL/MariaDB y PHP) y Composer.

Antes de instalar el paquete, ejecuta el siguiente comando para actualizar tu repositorio de Ubuntu.

sudo apt update

actualizar repo

Ahora ejecuta el siguiente comando para instalar las dependencias de Laravel, incluyendo la Pila LAMP (Linux, Apache, MySQL/MariaDB y PHP), Composer y Git.

sudo apt install apache2 mariadb-server php php-curl php-bcmath php-json php-mysql php-mbstring php-xml php-tokenizer php-zip composer git

Escribe Y para proceder con la instalación.

instalar dependencias

Una vez finalizada la instalación, comprueba el estado de los servicios de Apache y MariaDB. A continuación, comprueba las versiones de PHP y Composer.

Comprueba el estado del servicio Apache con el siguiente comando. El servicio Apache por defecto en Ubuntu debería estar activado y ejecutándose automáticamente.

sudo systemctl is-enabled apache2
sudo systemctl status apache2

Salida:

comprobar apache2

Comprueba ahora el servicio MariaDB con el siguiente comando. El servidor MariaDB debería estar habilitado y ejecutándose en tu sistema Ubuntu.

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

Resultado:

comprobar mariadb

Por último, comprueba las versiones de PHP y Composer utilizando el siguiente comando. Verás que PHP 8.3 y Composer 2.7.1 están instalados en tu sistema.

php -v
sudo -u www-data composer -v

comprueba php y composer

Opcional: Instalar Node.js y NPM (Node.js Package Manager)

Node.js y NPM son necesarios si utilizas Laravel con un motor de plantillas como Blade y JavaScript. En esta sección, instalarás tanto Node.js como NPM (Node.js Package Manager) a través del repositorio de Ubuntu.

Para instalar Node.js y NPM en tu sistema Ubuntu, ejecuta lo siguiente:

sudo apt install nodejs npm

Escribe Y para confirmar la instalación.

instala node.js npm

Cuando finalice la instalación, introduce el siguiente comando para comprobar la versión de Node.js y NPM.

node --version
npm --version

La siguiente salida muestra que Node.js 18 y NPM 9.5 están instalados.

comprueba la versión npm de node.js

Configurar PHP

Para ejecutar Laravel, debes asegurarte de que algunas extensiones PHP están habilitadas, como fileinfo, mbstring y openssl. Así que ahora habilita esas extensiones PHP modificando el archivo ‘php.ini’.

Utilizando el editor nano, edita el archivo de configuración PHP por defecto ‘/etc/php/8.3/apache2/php.ini’.

sudo nano /etc/php/8.3/apache2/php.ini

Descomenta las siguientes líneas para activar las extensiones PHP fileinfo, mbstring y openssl.

extension=fileinfo
extension=mbstring
extension=openssl

Guarda el archivo y sal del editor.

Ahora ejecuta el siguiente comando para reiniciar el servicio Apache y aplicar los cambios en PHP.

sudo systemctl restart apache2

A continuación, verifica las extensiones PHP fileinfo , mbstring y opens sl con el siguiente comando. Si esas extensiones están activadas, se mostrará el nombre de cada una de ellas.

sudo php -m | grep 'fileinfo\|mbstring\|openssl'

configurar php

Además, puedes verificar la lista de extensiones PHP habilitadas mediante PHPINFO. Crea un nuevo archivo PHPINFO con el siguiente comando.

echo "<?php phpinfo(); ?>" > /var/www/html/info.php

A continuación, visita http://192.168.5.30/info.php. Comprueba las extensiones fileinfo, mbstring y openssl para asegurarte de que están habilitadas.

phpinfo

Configurar el servidor MariaDB

Después de configurar PHP, necesitas asegurar tu servidor MariaDB y crear una nueva base de datos y un nuevo usuario para Laravel.

Ejecuta el siguiente comando ‘mariadb-secure-installation’ para asegurar tu servidor MariaDB. Ahora se te pedirá la configuración del servidor MariaDB.

sudo mariadb-secure-installation

Cuando se te pregunte, introduce Y para aplicar la nueva configuración, o escribe N para rechazarla.

  • La instalación por defecto de MariaDB viene sin contraseña, pulsa ENTER cuando se te pida la contraseña.
  • Ahora introduce Y para configurar la contraseña raíz de MariaDB. A continuación, escribe la nueva contraseña para MariaDB y repite la contraseña.
  • Introduce Y para eliminar el usuario anónimo de tu instalación de MariaDB.
  • Vuelve a introducir Y cuando se te pida para desactivar el inicio de sesión remoto para el usuario raíz de MariaDB.
  • Introduce Y para eliminar la prueba de base de datos por defecto de tu MariaDB.
  • Por último, introduce Y para recargar los privilegios de las tablas y aplicar los nuevos cambios.

Después de asegurar el servidor MariaDB, necesitas crear una nueva base de datos y un nuevo usuario para tu proyecto Laravel.

Inicia sesión en el servidor MariaDB con el siguiente comando. Introduce tu contraseña de root de MariaDB cuando te lo pida.

sudo mariadb -u root -p

Ahora ejecuta las siguientes consultas para crear una nueva base de datos y un nuevo usuario‘laravelapp‘, con la contraseña‘password‘.

CREATE DATABASE laravelapp;
CREATE USER laravelapp@localhost IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON laravelapp.* TO laravelapp@localhost;
FLUSH PRIVILEGES;

crear base de datos

A continuación, ejecuta la siguiente consulta para verificar los privilegios del usuario«laravelapp«. Esto garantizará que tu usuario pueda acceder a la base de datos Laravel‘laravelapp‘.

SHOW GRANTS FOR laravelapp@localhost;

Por último, escribe quit para salir del servidor MariaDB.

mostrar privilegios del usuario

Instalar Laravel a través de Composer

Ahora que has configurado PHP y creado la base de datos MySQL/MariaDB y el usuario, puedes instalar Laravel. En esta sección, configurarás el directorio del proyecto, instalarás Laravel a través de Composer e integrarás Laravel con la base de datos MySQL/MariaDB.

En primer lugar, ejecuta el siguiente comando para crear los directorios /var/www/.cache (para la caché de Composer), /var/www/.config (para la configuración adicional de Composer) y /var/www/laravelapp (para tu proyecto Laravel).

sudo mkdir -p /var/www/{.cache,.config,laravelapp}

Ahora cambia la propiedad de los directorios /var/www/.cache, /var/www/.config y /var/www/laravelapp al usuario‘www-data‘.

sudo chown -R www-data:www-data /var/www/{.cache,.config,laravelapp}

A continuación, ve al directorio /var/www/laravelapp e instala Laravel con el siguiente comando de Composer.

cd /var/www/laravelapp/
sudo -u www-data composer create-project laravel/laravel .

La instalación de Laravel debería comenzar como se muestra a continuación:

instala Laravel mediante composer

Ahora abre el archivo ‘.env’ utilizando el comando editor nano de abajo.

nano .env

Cambia la‘APP_URL‘ por defecto por el nombre de tu dominio local. En este ejemplo, Laravel se ejecutará en el dominio ‘laravelapp.local’.

APP_URL=http://laravelapp.local

Cambia la‘DB_CONNECTION‘ por defecto a‘mysql‘, descomenta y cambia los detalles de la base de datos con tu información.

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravelapp
DB_USERNAME=laravelapp
DB_PASSWORD=password

Guarda el archivo y sal de él.

Por último, ejecuta el siguiente comando para migrar la base de datos de tu proyecto Laravel.

sudo -u www-data php artisan migrate

Salida de la migración de la base de datos Laravel:

Migrar base de datos

Configurar un host virtual para Laravel

En esta sección, configurarás el archivo de host virtual para Laravel. Asegúrate de que tienes listo el nombre de dominio local para tu desarrollo de Laravel.

Antes de crear un host virtual, habilita el módulo ‘rewrite’ de Apache con el siguiente comando.

sudo a2enmod rewrite

Crea una nueva configuración de host virtual‘/etc/apache2/sites-available/laravelapp.conf‘ con el editor nano.

sudo nano /etc/apache2/sites-available/laravelapp.conf

Añade la siguiente configuración y cambia la opción ServerName por el nombre de tu dominio Laravel, por ejemplo‘laravelapp.local‘.

<VirtualHost *:80>
ServerAdmin [email protected]
ServerName laravelapp.local
DocumentRoot /var/www/laravelapp/public

<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/laravelapp>
AllowOverride All
</Directory>

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

</VirtualHost>

Guarda el archivo y sal del editor.

Ahora ejecuta el siguiente comando para activar el host virtual‘laravelapp.conf‘ y verifica la sintaxis de tu Apache. Si no hay errores, deberías ver la salida‘Sintaxis OK‘.

sudo a2ensite laravelapp.conf
sudo apachectl configtest

Reinicia el servicio Apache para aplicar el nuevo archivo de host virtual de Laravel. Una vez reiniciado Apache, tu instalación de Laravel estará lista.

sudo systemctl restart apache2

configurar apache vhost

Acceder al Proyecto Laravel

En este punto, estás listo para acceder a tu instalación Laravel a través del archivo ‘hosts’.

Para usuarios de Linux o MacOS, modifica el archivo ‘/etc/hosts‘ con privilegios de root. Para usuarios de Windows, abre el archivo ‘C:\Windows\System32\drivers\etc\hosts‘ como administrador.

Añade la dirección IP de tu servidor Ubuntu seguida del nombre de dominio de Laravel como se indica a continuación:

192.168.5.30 laravelapp.local

Guarda y sal del archivo.

Ahora visita http://laravelapp.local/ con tu navegador web. Si tu instalación de Laravel se ha realizado correctamente, deberías obtener la siguiente página:

Aplicación Laravel

Conclusión

¡Enhorabuena! Has completado la instalación de Laravel en Ubuntu 24.04. Ya tienes Laravel funcionando con la pila LAMP (Linux, Apache, MySQL/MariaDB y PHP) y has aprendido el comando Composer básico para crear un proyecto.

Scroll al inicio