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:

Laravel en Debian 11

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.

También te podría gustar...