Cómo instalar el marco PHP Laravel en Alma Linux 9
En esta página
- Requisitos previos
- Instalación de LAMP Stack y Composer
- Configurando MariaDB
- Creando proyecto Laravel
- Configurar el servidor virtual Httpd
- Configurando el firewall
- Accediendo a Laravel desde la computadora local
- Conclusión
Laravel es un marco 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 está basado en Symfony. Laravel admite múltiples bases de datos, incluidas MySQL, PostgreSQL, SQLite y SQL Server. Laravel también proporciona andamios para una autenticación segura.
Este tutorial le mostrará cómo instalar Laravel en el servidor Alma Linux 9. Lo 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 continuar, asegúrese de tener 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 crear aplicaciones web. Para instalar Laravel, necesita instalar dependencias, incluido LAMP Stack (Apache/Httpd, MariaDb y PHP) y Composer. Actualmente, Laravel requiere PHP 8.3. Debe instalar PHP 8.3 a través de un repositorio de terceros.
Primero, agregue el repositorio de terceros EPEL y Remi a su servidor Alma Linux usando 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 habilite el repositorio PHP 8.3 a través de Remi usando el siguiente comando.
sudo dnf reset php -y
sudo dnf module enable php:remi-8.3 -y
A continuación, instale los paquetes LAMP Stack (Apache/Httpd, MariaDB y PHP) y Composer con el siguiente comando. Ingrese 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 que se complete la instalación, inicie y habilite el servicio httpd con el siguiente comando.
sudo systemctl start httpd
sudo systemctl enable httpd
Luego inicie y habilite el servidor MariaDB con el siguiente comando.
sudo systemctl start mariadb
sudo systemctl enable mariadb
Ahora, verifique las versiones de PHP y Composer usando 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, ejecute el siguiente comando para verificar sus módulos PHP. Asegúrese de que fileinfo, mbstring y openssl estén habilitados.
php -m
Configurando MariaDB
Con PHP configurado, protegerá el servidor MariaDB y creará una nueva base de datos y usuario para Laravel. El servidor MariaDB proporciona una utilidad de instalación segura de MariaDB para proteger el servidor MariaDB y el cliente MariaDB para conectarse al servidor MariaDB a través de la línea de comando.
Para proteger el servidor MariaDB, ejecute el siguiente comando y se le solicitarán algunas de las configuraciones del servidor MariaDB. Ingrese S o N para estar de acuerdo o en desacuerdo con la aplicación de nuevos cambios en MariaDB.
sudo mariadb-secure-installation
A continuación se muestran algunas de las configuraciones del servidor MariaDB que se le solicitarán:
- ¿Cambiar a autenticación unix_socket? Introduzca n y presione ENTER. El usuario root predeterminado de MariaDB ya está protegido. Opcionalmente, también puede habilitarlo escribiendo y para decir sí.
- ¿Cambiar la contraseña de root?. Ingrese y para confirmar y configurar su nueva contraseña raíz de MariaDB.
- ¿Quitar usuario anónimo?. Introduzca y para confirmar.
- ¿No permitir el inicio de sesión root de forma remota? Introduzca y para confirmar. Solo se permitirá la conexión local si está utilizando el usuario root de MariaDB.
- ¿Eliminar la base de datos de prueba y acceder a ella? Ingrese y para confirmar y eliminar la 'prueba' de la base de datos predeterminada.
- Por último, ingrese y nuevamente para recargar todos los privilegios de las tablas en su servidor MariaDB y aplicar nuevos cambios.
Una vez que MariaDB esté protegida, creará una nueva base de datos y un usuario para Laravel a través del cliente mariadb.
Inicie sesión en el servidor MariaDB con el siguiente comando del cliente mariadb. Ingrese su contraseña raíz de MariaDB cuando se le solicite.
sudo mariadb -u root -p
Ahora ejecute las siguientes consultas para crear una nueva base de datos y usuario para Laravel. En este ejemplo, creará una nueva base de datos laravelapp, un usuario laravel, con la contraseña p4ssw0rd. Ajuste la base de datos de detalles y el usuario a continuación con su 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, ejecute la siguiente consulta para verificar los privilegios del usuario laravel. Asegúrese de que el usuario laravel pueda acceder a la base de datos laravelapp.
SHOW PRIVILEGES FOR laravel@localhost;
Por último, escriba quit para salir del servidor MariaDB.
Creando proyecto Laravel
Ahora que ha configurado PHP y MariaDB, descarguemos e instalemos Laravel en su sistema. Creará y configurará el directorio del proyecto, luego descargará e instalará el proyecto Laravel a través de Composer.
Cree nuevos directorios para el proyecto Laravel /var/www/laravelapp y directorios adicionales .cache y .config para almacenar el caché y la configuración de Composer. Luego, cambie 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
Vaya al directorio /var/www/laravelapp y ejecute el siguiente comando de compositor 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, abra el archivo .env usando el siguiente comando del nano editor.
nano .env
Cambie APP_URL con su nombre de dominio local, luego cambie los detalles de la base de datos con la información de su 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 termine, guarde el archivo y salga.
Ahora ejecute el siguiente comando para migrar la base de datos y completar sus tablas con nuevos datos de muestra.
sudo -u apache php artisan migrate
sudo -u apache php artisan db:seed
Configurar el servidor virtual Httpd
Después de instalar Laravel, creará una nueva configuración de host virtual Httpd que utilizará Laravel. Para esto, asegúrese de tener un nombre de dominio local o cualquier dominio aleatorio que desee. Puede configurar este dominio más tarde.
Cree una nueva configuración de host virtual httpd /etc/httpd/conf.d/laravel.conf usando el siguiente comando del nano editor.
sudo nano /etc/httpd/conf.d/laravel.conf
Inserte la siguiente configuración y asegúrese de cambiar la opción ServerName con su nombre de dominio Laravel.
<VirtualHost *:80>
ServerAdmin [email
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>
Guarde el archivo y salga del editor.
Ahora ejecute el siguiente comando para verificar su configuración httpd. Si tiene la sintaxis httpd correcta, debería obtener una sintaxis de salida correcta.
sudo apachectl configtest
Por último, reinicie el servicio httpd para aplicar su nueva configuración de host virtual para Laravel.
sudo systemctl restart httpd
Configurando el firewall
Antes de acceder a su instalación de Laravel, debe abrir los puertos HTTP y HTTPS en su sistema, lo que se puede hacer a través de Firewalld.
Abra el tráfico HTTP y HTTPS a su 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, verifique las reglas de la lista firewalld usando el siguiente comando. Verá los servicios HTTP y HTTPS agregados a firewalld.
sudo firewall-cmd --list-all
Accediendo a Laravel desde la computadora local
Para configurar un nombre de dominio local para su instalación de Laravel, utilice lo siguiente:
- Para usuarios de Windows, modifique el archivo C:\Windows\System32\drivers\etc\hosts como administrador.
- Para usuarios de Linux y Mac, abra el archivo /etc/hosts con privilegios de root.
Inserte la configuración a continuación y asegúrese de cambiar la dirección IP y el nombre de dominio con su información.
192.168.5.60 dev.hwdomain.local
Guarde y salga del archivo.
Ahora abra su navegador web y visite su instalación de Laravel http://dev.hwdomain.local/. Si su instalación es exitosa, debería obtener la siguiente página de índice de Laravel.
Conclusión
¡Felicidades! Ha completado la instalación de Laravel en Alma Linux 9 con LAMP Stack (Linux, Apache/Httpd, MariaDB y PHP) y Composer. También configuró firewalld para abrir los puertos HTTP y HTTPS, luego también configuró el nombre de dominio local para su desarrollo de Laravel a través del archivo /etc/hosts o el archivo C:\Windows\System32\drivers\etc\hosts.