Cómo instalar Laravel en Debian 12

Laravel es un framework de aplicaciones web basado en PHP 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 y sin quebraderos de cabeza, desde el proceso de desarrollo hasta la producción.

Emparejar el framework web Laravel con otro framework como React o Vue te permite crear un frontend bonito e interactivo. Además, es compatible con múltiples bases de datos, como MySQL, PostgreSQL, SQLite y SQL Server. Laravel también proporciona un andamiaje para la autenticación segura.

En esta guía, te mostraremos cómo instalar Laravel paso a paso en Debian 12, para que puedas empezar con el proyecto Laravel. Te mostraremos cómo instalar Laravel con el servidor web Apache2, MariaDB y PHP 8.2.

Requisitos previos

A continuación se indican los requisitos que necesitas para seguir esta guía:

  • Un servidor Debian 12.
  • Un usuario no root con privilegios de administrador.

Instalación de la pila LAMP

El primer paso que tienes que hacer es instalar la Pila LAMP (Apache2, MariaDB y PHP) en tu servidor Debian. A continuación, también deberás verificar los servicios de Apache2 y mariaDB para asegurarte de que el servicio se está ejecutando.

Antes de instalar los paquetes, ejecuta el comando apt update para actualizar y refrescar los repositorios de Debian.

sudo apt update

Una vez actualizado el repositorio, instala los paquetes LAMP Stack (Apache2, PHP y MariaDB) ejecutando el siguiente comando apt install. El siguiente comando también instala algunas de las extensiones PHP que necesita Laravel.

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

Introduce y para confirmar y proceder con la instalación.

instalación de paquetes de lámparas

Con la Pila LAMP instalada, ejecuta el siguiente comando systemctl para verificar los servicios apache2 y mariadb. Si el servicio se está ejecutando, deberías obtener la salida activo (en ejecución).

sudo systemctl status apache2
sudo systemctl status mariadb

Para el servicio apache2, deberías obtener sobre puesto así:

comprobando apache2

Y a continuación el estado del servicio mariadb.

comprobando mariadb

A continuación, ejecuta el siguiente comando php para verificar la versión de PHP y los módulos habilitados en PHP. Deberías ver PHP 8. 2 instalado con algunos módulos habilitados, como curl, date, dom y exif.

php -v
php -m

comprueba la versión de php y el módulo

Por último, inicia tu navegador web y visita la dirección IP de tu servidor Debian (es decir: http: //192.168.10.15/). Si la instalación se ha realizado correctamente, deberías obtener la página index.html del servidor web Apache.

índice por defecto

Configurar PHP

Para instalar Laravel, hay algunas extensiones PHP que debes habilitar, como fileinfo, mbstring y openssl. Puedes habilitar esas extensiones a través del archivo php.ini.

Utiliza el siguiente editor nano para abrir el archivo de configuración PHP /etc/php/8.2/apache2/php.ini.

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

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

extension=fileinfo
extension=mbstring
extension=openssl

Cuando hayas terminado, guarda el archivo y sal del editor.

A continuación, ejecuta el siguiente comando systemctl para reiniciar el servicio apache2 y aplicar los cambios.

sudo systemctl restart apache2

A continuación, asegúrate de que las extensiones PHP fileinfo, mbstring y opens sl están activadas ejecutando el siguiente comando php.

sudo php -m

Ahora crea un nuevo archivo phpinfo /var/www/html/info.php utilizando el siguiente comando. Si tu instalación de PHP y del servidor web Apache2 es correcta, esto te mostrará información detallada sobre tu instalación de PHP.

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

Abre tu navegador web preferido y visita la dirección IP del servidor seguida de la ruta del archivo info.php (es decir: http://192.168.10.15/info.php). Si se ha realizado correctamente, deberías ver una salida como ésta:

phpinfo

Configurar el servidor MariaDB

Después de configurar PHP, vas a configurar tu servidor MariaDB, lo que incluye asegurar el servidor MariaDB mediante la utilidad mariadb-secure-installation, y luego crear una nueva base de datos y un nuevo usuario para tu proyecto Laravel.

En primer lugar, ejecuta el siguiente comando mariadb-secure-installation para asegurar la instalación de tu servidor MariaDB. Durante el proceso, se te pedirán algunas configuraciones de MariaDB, introduce Y para confirmar la configuración o n para No.

sudo mariadb-secure-installation

A continuación se muestran algunas de las configuraciones de MariaDB que se te preguntarán durante el proceso:

  • Pulsa ENTER cuando te pregunten por la contraseña raíz de MariaDB.
  • Introduce n cuando te pregunten por el método de autenticación unix_socket.
  • Introduce Y para establecer una nueva contraseña para el usuario raíz de MariaDB. A continuación, introduce la nueva contraseña y repite la operación.
  • Introduce Y para eliminar el usuario anónimo por defecto de MariaDB.
  • A continuación, vuelve a introducir Y 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 MariaDB.
  • Por último, vuelve a introducir Y para recargar los privilegios de la tabla y aplicar los cambios.

Después de configurar 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 mediante el comando mariadb que aparece a continuación. Introduce tu contraseña de MariaDB cuando te lo pida.

sudo mariadb -u root -p

Ahora ejecuta las siguientes consultas para crear una nueva base de datos testapp, el usuario testapp y la contraseña password. Asegúrate de cambiar la contraseña en la siguiente consulta.

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

crear base de datos y usuario

A continuación, ejecuta la siguiente consulta para asegurarte de que el usuario testapp puede acceder a la base de datos testapp.

SHOW GRANTS FOR testapp@localhost;

La siguiente salida confirma que el usuario testapp puede acceder a la base de datos testapp.

comprobar privilegios de usuario

Por último, escribe quit para salir del servidor MariaDB y completar este paso.

Instalación de Composer

Laravel se puede instalar de muchas formas, y la más sencilla es instalarlo a través de Composer, el gestor de paquetes de PHP. Ahora, instalarás Composer en tu servidor Debian.

Para instalar el gestor de paquetes PHP Composer, ejecuta el siguiente comando apt install. Escribe y cuando se te solicite para proceder con la instalación.

sudo apt install composer

instalación de composer

Una vez finalizada la instalación, ejecuta el siguiente comando para localizar el archivo binario de composer y verificar la versión de composer.

which composer
sudo -u www-data composer --version

El archivo binario de composer se encuentra en /usr/bin/composer y está instalada la versión 2.5.5 de composer.

verificar compositor

Crear el primer proyecto Laravel

Con todo en su sitio, estás listo para instalar y crear el primer proyecto Laravel. Crearás el primer proyecto Laravel con MariaDB como base de datos.

En primer lugar, crea un nuevo directorio raíz /var/www/testapp para tu proyecto y cambia la propiedad al usuario www-data mediante el siguiente comando. También crearás los directorios /var/www/.cache y /var/www/.config que serán utilizados por Composer.

sudo mkdir -p /var/www/{.cache,.config,testapp}
sudo chown -R www-data:www-data /var/www/{.cache,.config,testapp}

Ahora dirígete al directorio /var/www/testapp/ y ejecuta el siguiente comando de Composer para crear el primer proyecto Laravel. Tu primer proyecto Laravel se almacenará en el directorio /var/www/testapp/.

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

Durante la instalación, deberías obtener una salida similar a esta:

instalar laravel

Con el proyecto Laravel creado, a continuación configurarás la base de datos para tu proyecto mediante el archivo de configuración .env. El archivo . env se utiliza como configuración base para tu proyecto Laravel.

Utiliza el siguiente comando del editor nano para abrir el archivo . env.

nano .env

Cambia el parámetro APP_URL por el nombre de dominio local de tu proyecto Laravel. De esta forma, podrás acceder a tu proyecto a través de un nombre de dominio local. En este caso, el nombre de dominio es testapp.local.

APP_URL=http://testapp.local

Ahora cambia la configuración de la base de datos DB_CONNECTION a mysql y cambia los detalles de DB_DATABASE, DB_USERNAME y DB_PASSWORD con tus detalles de base de datos y usuario MariaDB.

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

Cuando hayas terminado, guarda el archivo y sal del editor.

Ahora ejecuta el siguiente comando para migrar la base de datos. Esto creará tablas para el proyecto Laravel.

sudo -u www-data php artisan migrate

migrar base de datos

Configuración del host virtual Apache

En el siguiente paso, crearás una nueva configuración de host virtual Apache2 para tu proyecto Laravel. Después, deberás activar el host virtual y verificar la configuración de Apache2, y reiniciar el servidor web Apache2 para que surta efecto.

Antes de crear la configuración del host virtual Apache2 para Laravel, debes activar el módulo de reescritura en Apache2 mediante el siguiente comando.

sudo a2enmod rewrite

Utiliza el siguiente comando del editor nano para crear la configuración del host virtual Apache2 /etc/apache2/sites-available/laravel.conf.

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

Introduce la siguiente configuración y cambia el parámetro NombreServidor por tu nombre de dominio.

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

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

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

</VirtualHost>

Cuando hayas terminado, guarda el archivo y sal del editor.

A continuación, ejecuta el siguiente comando para activar la configuración del host virtual laravel.conf y verificar las configuraciones de Apache2. Si la configuración es correcta, deberías recibir el mensaje Sintaxis OK.

sudo a2ensite laravel.conf
sudo apachectl configtest

Por último, reinicia el servicio apache2 ejecutando el siguiente comando y aplicando los cambios que has realizado.

sudo systemctl restart apache2

configurar host virtual

Acceder a Laravel

Si estás en un cliente Linux, modifica el archivo /etc/hosts mediante el comando del editor nano que aparece a continuación.

sudo nano /etc/hosts

Si estás en una máquina Windows, modifica el archivo C:\Windows\System32\drivers\etc\hosts.

Inserta así el nombre de dominio de tu proyecto Laravel y la dirección IP de tu servidor Debian:

192.168.10.15   testapp.local

Guarda el archivo y sal del editor.

Por último, inicia tu navegador web y visita el nombre de dominio local de tu proyecto Laravel (es decir: http: //testapp.local). Si tienes éxito, deberías obtener una página similar de Laravel como ésta:

instalar laravel

Conclusión

En conclusión, has instalado Laravel con LAMP Stack (Apache2, MariaDB y PHP) en el servidor Debian 12. También has instalado Composer, el gestor de paquetes PHP, y lo has utilizado como medio de instalación para Laravel. Con esto en mente, ya puedes desarrollar tu aplicación utilizando el framework web Laravel y MariaDB como base de datos para tus aplicaciones.

También te podría gustar...