Instalar Laravel Framework en Debian 11
Laravel es un framework web PHP gratuito y de código abierto basado en el framework Symfony. Se utiliza para el desarrollo más rápido de aplicaciones web. Laravel facilita la realización de algunas tareas comunes como la autenticación, el enrutamiento, las sesiones y el almacenamiento en caché. Tiene varias características útiles, como Artisan, mapeo objeto-relacional, motor de plantillas, arquitectura MVC, pruebas unitarias y sistema de migración de bases de datos.
En este tutorial, te mostraré cómo instalar Laravel en Debian 11.
Requisitos previos
- Un servidor con Debian 11.
- Un nombre de dominio válido apuntado con la IP de tu servidor.
- Una contraseña de root configurada en el servidor.
Instalar el servidor web Apache
En primer lugar, tendrás que instalar el paquete Apache en tu servidor. Puedes instalarlo con el siguiente comando:
apt-get install apache2 -y
Una vez instalado el paquete Apache, verifica la versión de Apache mediante el siguiente comando:
apache2ctl -v
Deberías ver la siguiente salida:
Server version: Apache/2.4.48 (Debian) Server built: 2021-08-12T11:51:47
Instalar PHP y otras extensiones necesarias
A continuación, tendrás que instalar PHP y otras extensiones necesarias para la aplicación Laravel. En primer lugar, instala las dependencias necesarias utilizando el siguiente comando:
apt-get install apt-transport-https gnupg2 ca-certificates -y
A continuación, añade la clave GPG y el repositorio de PHP con el siguiente comando:
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
A continuación, actualiza el repositorio e instala PHP con otras extensiones utilizando el siguiente comando:
apt-get update -y
apt-get install libapache2-mod-php php php-common php-xml php-gd php8.0-opcache php-mbstring php-tokenizer php-json php-bcmath php-zip unzip curl -y
Una vez instalado PHP, edita el archivo php.ini y realiza algunos cambios:
nano /etc/php/8.0/apache2/php.ini
Cambia las siguientes líneas:
cgi.fix_pathinfo=0 date.timezone = Asia/Kolkata
Guarda y cierra el archivo y luego verifica la versión de PHP con el siguiente comando:
php -v
Ejemplo de salida:
PHP 8.0.10 (cli) (built: Aug 26 2021 16:06:19) ( NTS ) Copyright (c) The PHP Group Zend Engine v4.0.10, Copyright (c) Zend Technologies with Zend OPcache v8.0.10, Copyright (c), by Zend Technologies
Instalar Composer
A continuación, tendrás que instalar Composer en tu sistema. Puedes instalarlo utilizando el siguiente comando:
curl -sS https://getcomposer.org/installer | php
Salida de ejemplo:
All settings correct for using Composer Downloading... Composer (version 2.1.6) successfully installed to: /root/composer.phar Use it: php composer.phar
A continuación, mueve el binario de Composer a la ruta del sistema utilizando el siguiente comando:
mv composer.phar /usr/local/bin/composer
A continuación, verifica la versión de Compsoer con el siguiente comando:
composer --version
Deberías ver la siguiente salida:
Composer version 2.1.6 2021-08-19 17:11:08
Instalar Laravel
A continuación, cambia el directorio a Apache webroot y descarga la última versión de Laravel utilizando el Composer:
cd /var/www/html
composer create-project --prefer-dist laravel/laravel laravel
Deberías obtener la siguiente salida:
> @php artisan package:discover --ansi Discovered Package: facade/ignition Discovered Package: fruitcake/laravel-cors Discovered Package: laravel/sail Discovered Package: laravel/sanctum Discovered Package: laravel/tinker Discovered Package: nesbot/carbon Discovered Package: nunomaduro/collision Package manifest generated successfully. 76 packages you are using are looking for funding. Use the `composer fund` command to find out more! > @php artisan vendor:publish --tag=laravel-assets --ansi No publishable resources for tag [laravel-assets]. Publishing complete. > @php artisan key:generate --ansi Application key set successfully.
A continuación, establece los permisos y la propiedad adecuados para el directorio de Laravel con el siguiente comando:
chown -R www-data:www-data /var/www/html/laravel
chmod -R 775 /var/www/html/laravel
Una vez que hayas terminado, puedes pasar al siguiente paso.
Configurar Apache para Laravel
A continuación, tendrás que crear un archivo de configuración del host virtual de Apache para Laravel. Puedes crearlo con el siguiente comando:
nano /etc/apache2/sites-available/laravel.conf
Añade las siguientes líneas:
<VirtualHost *:80> ServerName laravel.example.com ServerAdmin [email protected] DocumentRoot /var/www/html/laravel/public <Directory /var/www/html/laravel> Options Indexes MultiViews AllowOverride None Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Guarda y cierra el archivo y luego habilita el módulo de reescritura y el host virtual de Apache con el siguiente comando:
a2enmod rewrite
a2ensite laravel.conf
Por último, reinicia el servicio de Apache para aplicar los cambios:
systemctl restart apache2
También puedes comprobar el estado del Apache con el siguiente comando:
systemctl status apache2
Deberías obtener la siguiente salida:
? apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2021-08-27 06:00:25 UTC; 7s ago Docs: https://httpd.apache.org/docs/2.4/ Process: 14020 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS) Main PID: 14025 (apache2) Tasks: 6 (limit: 2341) Memory: 13.2M CPU: 97ms CGroup: /system.slice/apache2.service ??14025 /usr/sbin/apache2 -k start ??14026 /usr/sbin/apache2 -k start ??14027 /usr/sbin/apache2 -k start ??14028 /usr/sbin/apache2 -k start ??14029 /usr/sbin/apache2 -k start ??14030 /usr/sbin/apache2 -k start Aug 27 06:00:25 debian11 systemd[1]: Starting The Apache HTTP Server...
Accede a Laravel
Ahora, abre tu navegador web y accede a la interfaz web de Laravel utilizando la URL http://laravel.example.com. Deberías ver la página por defecto de Laravel en la siguiente pantalla:
Conclusión
Enhorabuena! has instalado con éxito Laravel con Apache en Debian 11. Ahora puedes empezar a desarrollar tu aplicación utilizando el framework Laravel. No dudes en preguntarme si tienes alguna duda.