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

añadir repo

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

instalar deps

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

comprueba php y composer

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;

crear base de datos

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.

mostrar privilegios

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í:

instalar Laravel

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

migrar base de datos

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

configuración vhost

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

configurar firewalld

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.

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.

También te podría gustar...