Cómo instalar Laravel PHP Framework en Alma Linux 9
Laravel es un framework de aplicaciones web basado en PHP que se utiliza para crear aplicaciones web empresariales y robustas de pila completa. Sigue la arquitectura modelo-vista-controlador (MVC) y se basa en Symfony. Laravel admite varias bases de datos, como MySQL, PostgreSQL, SQLite y SQL Server. Laravel también proporciona andamiaje para la autenticación segura.
Este tutorial te mostrará cómo instalar Laravel en el servidor Alma Linux 9. Te guiaremos a través de la instalación de Laravel con LAMP Stack (Linux, Apache/Httpd, MariaDB y PHP) y Composer.
Requisitos previos
Antes de seguir adelante, asegúrate de que tienes lo siguiente:
- Un servidor Alma Linux 9.
- Un usuario no root con privilegios de administrador.
- Un nombre de dominio local.
- Un SELinux con modo permisivo.
Instalación de LAMP Stack y Composer
Laravel es uno de los frameworks web PHP más populares para construir aplicaciones web. Para instalar Laravel, necesitas instalar dependencias, incluyendo la Pila LAMP (Apache/Httpd, MariaDb y PHP) y Composer. Actualmente, Laravel requiere PHP 8.3. Debes instalar PHP 8.3 a través de un repositorio de terceros.
En primer lugar, añade el repositorio de terceros EPEL y Remi a tu servidor Alma Linux utilizando el siguiente comando. El repositorio EPEL se utilizará para instalar paquetes como Composer, mientras que el repositorio Remi proporciona múltiples versiones de PHP para Laravel.
sudo dnf install epel-release dnf-utils http://rpms.remirepo.net/enterprise/remi-release-9.rpm
Ahora habilita el repositorio PHP 8.3 a través de Remi utilizando el comando de abajo.
sudo dnf reset php -y sudo dnf module enable php:remi-8.3 -y
A continuación, instala los paquetes LAMP Stack (Apache/Httpd, MariaDB y PHP) y Composer con el siguiente comando. Inpu y para confirmar con la instalación.
sudo dnf install httpd mariadb-server composer php php-curl php-bcmath php-json php-mbstring php-xml php-tokenizer php-zip
Una vez completada la instalación, inicia y habilita el servicio httpd con el siguiente comando.
sudo systemctl start httpd sudo systemctl enable httpd
A continuación, inicia y habilita el servidor MariaDB con el siguiente comando.
sudo systemctl start mariadb sudo systemctl enable mariadb
Ahora, verifica las versiones de PHP y Composer utilizando el siguiente comando. Deberías ver que PHP 8.3 y Composer 2.7.1 están instalados.
php -v sudo -u apache composer -v
Por último, ejecuta el siguiente comando para verificar tus módulos PHP. Asegúrate de que fileinfo, mbstring y openssl están activados.
php -m
Configurar MariaDB
Con PHP configurado, asegurarás el servidor MariaDB y crearás una nueva base de datos y un nuevo usuario para Laravel. El servidor MariaDB proporciona una utilidad MariaDB-secure-installation para asegurar el servidor MariaDB y el cliente MariaDB para conectarse al servidor MariaDB a través de la línea de comandos.
Para asegurar el servidor MariaDB, ejecuta el siguiente comando y se te preguntará por algunas de las configuraciones del servidor MariaDB. Introduce Y o N para aceptar o rechazar la aplicación de los nuevos cambios de MariaDB.
sudo mariadb-secure-installation
A continuación se indican algunas de las configuraciones del servidor MariaDB que se te pedirán:
- ¿Cambiar a autenticación unix_socket? Introduce n y pulsa ENTER. El usuario raíz por defecto de MariaDB ya está protegido. opcionalmente, también puedes habilitarlo escribiendo y para sí.
- ¿Cambiar la contraseña de root? Introduce y para confirmar y establecer tu nueva contraseña de root de MariaDB.
- ¿Eliminar usuario anónimo? Introduce y para confirmar.
- ¿Deshabilitar el inicio de sesión de root de forma remota? Introduce y para confirmar. Sólo se permitirá la conexión local si utilizas el usuario raíz de MariaDB.
- ¿Eliminar la base de datos de prueba y el acceso a ella?. Introduce y para confirmar y eliminar la base de datos por defecto «test».
- Por último, introduce y de nuevo para recargar todos los privilegios de las tablas en tu servidor MariaDB y aplicar los nuevos cambios.
Una vez asegurada MariaDB, crearás una nueva base de datos y un nuevo usuario para Laravel a través del cliente mariadb.
Inicia sesión en el servidor MariaDB con el siguiente comando de cliente mariadb. 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 para Laravel. En este ejemplo, crearás una nueva base de datos laravelapp, un usuario laravel, con la contraseña p4ssw0rd. Ajusta los detalles base de datos y usuario de abajo con tu información.
CREATE DATABASE laravelapp; CREATE USER laravel@localhost IDENTIFIED BY 'p4ssw0rd'; GRANT ALL PRIVILEGES ON laravelapp.* TO laravel@localhost; FLUSH PRIVILEGES;
A continuación, ejecuta la consulta de abajo para verificar los privilegios del usuario laravel. Asegúrate de que el usuario laravel puede acceder a la base de datos laravelapp.
SHOW PRIVILEGES FOR laravel@localhost;
Por último, escribe quit para salir del servidor MariaDB.
Creación del proyecto Laravel
Así que ahora que has configurado tanto PHP como MariaDB, vamos a descargar e instalar Laravel en tu sistema. Crearás y configurarás el directorio del proyecto, luego descargarás e instalarás el proyecto Laravel a través de Composer.
Crea nuevos directorios para el proyecto Laravel /var/www/laravelapp y directorios adicionales .cache y .config para almacenar la caché y la configuración de Composer. Luego, cambia la propiedad de esos directorios al usuario apache.
mkdir -p /var/www/laravelapp /usr/share/httpd/.composer/{.cache,.config} sudo chown -R apache:apache /var/www/laravelapp /usr/share/httpd/.composer
Ve al directorio /var/www/laravelapp y ejecuta el siguiente comando de Composer para descargar e instalar Laravel.
cd /var/www/laravelapp/ sudo -u apache composer create-project laravel/laravel .
El proceso de descarga debería ser así:
Una vez descargado Laravel, abre el archivo .env utilizando el siguiente comando del editor nano.
nano .env
Cambia la APP_URL por el nombre de tu dominio local y, a continuación, cambia los detalles de la base de datos por la información de tu base de datos MariaDB.
APP_URL=http://dev.hwdomain.local DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravelapp DB_USERNAME=laravel DB_PASSWORD=password
Cuando hayas terminado, guarda el archivo y sal.
Ahora ejecuta el siguiente comando para migrar la base de datos y rellenar tus tablas con los nuevos datos de muestra.
sudo -u apache php artisan migrate sudo -u apache php artisan db:seed
Configurar el host virtual Httpd
Después de instalar Laravel, crearás una nueva configuración de host virtual Httpd que utilizará Laravel. Para ello, asegúrate de tener un nombre de dominio local o cualquier dominio/aleatorio que desees. Podrás configurar este dominio más adelante.
Crea una nueva configuración de host virtual httpd /etc/httpd/conf.d/laravel.conf utilizando el siguiente comando del editor nano.
sudo nano /etc/httpd/conf.d/laravel.conf
Introduce la siguiente configuración y asegúrate de cambiar la opción ServerName por el nombre de tu dominio Laravel.
<VirtualHost *:80> ServerAdmin [email protected] ServerName dev.hwdomain.local DocumentRoot /var/www/laravelapp/public <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/laravelapp> AllowOverride All </Directory> ErrorLog /var/log/httpd/laravel-error.log CustomLog /var/log/httpd/laravel-access.log combined </VirtualHost>
Guarda el archivo y sal del editor.
Ahora ejecuta el siguiente comando para verificar tu configuración httpd. Si tienes la sintaxis httpd correcta, deberías obtener una salida Sintaxis OK.
sudo apachectl configtest
Por último, reinicia el servicio httpd para aplicar tu nueva configuración de host virtual para Laravel.
sudo systemctl restart httpd
Configurar Firewalld
Antes de acceder a tu instalación de Laravel, debes abrir ambos puertos HTTP y HTTPS en tu sistema, lo que puede hacerse a través de Firewalld.
Abre el tráfico HTTP y HTTPS a tu servidor Alma Linux con el siguiente comando.
sudo firewall-cmd --add-service=http --permanent sudo firewall-cmd --add-service=https --permanent
Ahora recarga firewalld para aplicar los cambios.
sudo firewall-cmd --reload
Por último, verifica las reglas de la lista firewalld utilizando el siguiente comando. Verás que ambos servicios HTTP y HTTPS se han añadido a firewalld.
sudo firewall-cmd --list-all
Acceder a Laravel desde un ordenador local
Para configurar un nombre de dominio local para tu instalación de Laravel, utiliza lo siguiente:
- Para usuarios de Windows, modifica el archivo C:\Windows\System32\drivers\etc\hosts como administrador.
- Para usuarios de Linux y Mac, abre el archivo /etc/hosts con privilegios de root.
Introduce la configuración que aparece a continuación y asegúrate de cambiar la dirección IP y el nombre de dominio con tus datos.
192.168.5.60 dev.hwdomain.local
Guarda y sal del archivo.
Ahora abre tu navegador web y visita tu instalación de Laravel http://dev.hwdomain.local/. Si tu instalación se ha realizado correctamente, deberías obtener la siguiente página de índice de Laravel.
Conclusión
¡Enhorabuena! Has completado la instalación de Laravel en Alma Linux 9 con la pila LAMP (Linux, Apache/Httpd, MariaDB y PHP) y Composer. También has configurado firewalld para abrir los puertos HTTP y HTTPS, y también has configurado el nombre de dominio local para tu desarrollo de Laravel a través del archivo /etc/hosts o el archivo C:\Windows\System32\drivers\etc\hosts.