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
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.
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:
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:
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
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.
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.
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'
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.
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;
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.
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:
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:
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
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:
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.