Installeer Laravel Framework op Debian 11

Laravel is een gratis en open-source PHP web raamwerk dat gebaseerd is op het Symfony raamwerk. Het wordt gebruikt voor het sneller ontwikkelen van web-applicaties. Laravel maakt het gemakkelijker om enkele veel voorkomende taken uit te voeren, zoals authenticatie, routing, sessies en caching. Het heeft verschillende nuttige functies waaronder, Artisan, Object-relationele mapping, Template Engine, MVC Architectuur, Unit-Testing, en Database Migratie Systeem.

In deze handleiding laat ik je zien hoe je Laravel op Debian 11 kunt installeren.

Vereisten

  • Een server waarop Debian 11 draait.
  • Een geldige domeinnaam die wijst naar het IP van je server.
  • Een root wachtwoord is op de server ingesteld.

Installeer Apache Web Server

Eerst moet je het Apache pakket op je server installeren. Je kunt het installeren met het volgende commando:

apt-get install apache2 -y

Als het Apache pakket geïnstalleerd is, controleer dan de Apache versie met het volgende commando:

apache2ctl -v

Je zou de volgende uitvoer moeten zien:

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

Installeer PHP en andere benodigde uitbreidingen

Vervolgens moet je PHP installeren en andere uitbreidingen die nodig zijn voor de Laravel toepassing. Installeer eerst de vereiste afhankelijkheden met het volgende commando:

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

Voeg vervolgens de GPG sleutel en de PHP repository toe met het volgende commando:

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'

Werk vervolgens de repository bij en installeer PHP met andere uitbreidingen met het volgende commando:

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

Als PHP geïnstalleerd is, bewerk dan het php.ini bestand en breng enkele wijzigingen aan:

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

Verander de volgende regels:

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

Bewaar en sluit het bestand en controleer dan de PHP versie met het volgende commando:

php -v

Voorbeelduitvoer:

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

Installeer Composer

Vervolgens moet je Composer op je systeem installeren. Je kunt het installeren met het volgende commando:

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

Voorbeeld uitvoer:

All settings correct for using Composer
Downloading...

Composer (version 2.1.6) successfully installed to: /root/composer.phar
Use it: php composer.phar

Verplaats vervolgens de binary van Composer naar het systeempad met het volgende commando:

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

Controleer vervolgens de Compsoer versie met het volgende commando:

composer --version

Je zou de volgende uitvoer moeten zien:

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

Installeer Laravel

Verander vervolgens de directory in Apache webroot en download de nieuwste versie van Laravel met de Composer:

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

Je zou de volgende uitvoer moeten krijgen:

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

Stel vervolgens de juiste permissies en eigendom in op de Laravel directory met het volgende commando:

chown -R www-data:www-data /var/www/html/laravel
chmod -R 775 /var/www/html/laravel

Als je klaar bent, kun je verder gaan met de volgende stap.

Configureer Apache voor Laravel

Vervolgens moet je een Apache virtual host configuratiebestand voor Laravel maken. Je kunt het maken met het volgende commando:

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

Voeg de volgende regels toe:

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

Sla het bestand op en sluit het af, schakel dan de Apache virtuele host en herschrijfmodule in met het volgende commando:

a2enmod rewrite
a2ensite laravel.conf

Herstart tenslotte de Apache dienst om de veranderingen toe te passen:

systemctl restart apache2

Je kunt ook de status van de Apache controleren met het volgende commando:

systemctl status apache2

Je zou de volgende uitvoer moeten krijgen:

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

Toegang tot Laravel

Open nu je webbrowser en benader de Laravel web UI met de URL http://laravel.example.com. Je zou de Laravel standaard pagina moeten zien op het volgende scherm:

Laravel op Debian 11

Conclusie

Gefeliciteerd! Je hebt met succes Laravel met Apache geïnstalleerd op Debian 11. Je kunt nu beginnen met het ontwikkelen van je toepassing met het Laravel raamwerk. Voel je vrij me te vragen als je vragen hebt.