Instalar Laravel Framework en Debian 11

Laravel en Debian 11

Laravel es un marco web PHP gratuito y de código abierto basado en el marco 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 que incluyen, Artisan, mapeo relacional de objetos, motor de plantilla, arquitectura MVC, prueba unitaria y sistema de migración de base de datos.

En este tutorial, le mostraré cómo instalar Laravel en Debian 11.

requisitos previos

  • Un servidor que ejecuta Debian 11.
  • Un nombre de dominio válido apuntado con la IP de su servidor.
  • Una contraseña de root está configurada en el servidor.

Instalar el servidor web Apache

Primero, deberá instalar el paquete Apache en su servidor. Puedes instalarlo usando el siguiente comando:

apt-get install apache2 -y

Una vez que el paquete de Apache esté instalado, verifique la versión de Apache usando el siguiente comando:

apache2ctl -v

Debería ver el siguiente resultado:

Server version: Apache/2.4.48 (Debian)
Server built:   2021-08-12T11:51:47

Instale PHP y otras extensiones requeridas

A continuación, deberá instalar PHP y otras extensiones necesarias para la aplicación Laravel. Primero, instale las dependencias requeridas usando el siguiente comando:

apt-get install apt-transport-https gnupg2 ca-certificates -y

A continuación, agregue la clave GPG y el repositorio 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'

Luego, actualice el repositorio e instale PHP con otras extensiones usando 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 que PHP esté instalado, edite el archivo php.ini y realice algunos cambios:

nano /etc/php/8.0/apache2/php.ini

Cambia las siguientes líneas:

cgi.fix_pathinfo=0 
date.timezone = Asia/Kolkata

Guarde y cierre el archivo, luego verifique la versión de PHP usando el siguiente comando:

php -v

Salida de muestra:

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 compositor

A continuación, deberá instalar Composer en su sistema. Puedes instalarlo usando el siguiente comando:

curl -sS https://getcomposer.org/installer | php

Salida de muestra:

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, mueva el binario de Composer a la ruta del sistema con el siguiente comando:

mv composer.phar /usr/local/bin/composer

A continuación, verifique la versión de Compsoer con el siguiente comando:

composer --version

Debería ver el siguiente resultado:

Composer version 2.1.6 2021-08-19 17:11:08

Instalar Laravel

Luego, cambie el directorio a Apache webroot y descargue la última versión de Laravel usando Composer:

cd /var/www/html
composer create-project --prefer-dist laravel/laravel laravel

Deberías obtener el siguiente resultado:

> @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, establezca 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 haya terminado, puede continuar con el siguiente paso.

Configurar Apache para Laravel

A continuación, deberá crear un archivo de configuración de host virtual de Apache para Laravel. Puedes crearlo con el siguiente comando:

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

Agregue 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>

Guarde y cierre el archivo, luego habilite el host virtual de Apache y el módulo de reescritura con el siguiente comando:

a2enmod rewrite
a2ensite laravel.conf

Finalmente, reinicie el servicio de Apache para aplicar los cambios:

systemctl restart apache2

También puede verificar el estado de Apache con el siguiente comando:

systemctl status apache2

Deberías obtener el siguiente resultado:

? 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...

Acceso a Laravel

Ahora, abra su navegador web y acceda a la interfaz de usuario web de Laravel usando la URL http://laravel.ejemplo.com. Debería ver la página predeterminada de Laravel en la siguiente pantalla:

Laravel en Debian 11

Conclusión

¡Felicidades! Ha instalado correctamente Laravel con Apache en Debian 11. Ahora puede comenzar a desarrollar su aplicación utilizando el marco de trabajo de Laravel. No dude en preguntarme si tiene alguna pregunta.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *