Laravel Framework auf Debian 11 installieren

Laravel ist ein freies und quelloffenes PHP-Webframework, das auf dem Symfony-Framework basiert. Es wird für die schnellere Entwicklung von Webanwendungen eingesetzt. Laravel macht es einfacher, einige gängige Aufgaben wie Authentifizierung, Routing, Sessions und Caching durchzuführen. Es hat mehrere nützliche Features, darunter Artisan, objekt-relationales Mapping, Template Engine, MVC Architektur, Unit-Testing und Datenbank-Migrationssystem.

In diesem Tutorial zeige ich dir, wie du Laravel auf Debian 11 installierst.

Voraussetzungen

  • Ein Server, auf dem Debian 11 läuft.
  • Ein gültiger Domainname, der auf die IP deines Servers zeigt.
  • Ein Root-Passwort ist auf dem Server konfiguriert.

Apache Webserver installieren

Zuerst musst du das Apache Paket auf deinem Server installieren. Du kannst es mit dem folgenden Befehl installieren:

apt-get install apache2 -y

Sobald das Apache-Paket installiert ist, überprüfe die Apache-Version mit dem folgenden Befehl:

apache2ctl -v

Du solltest die folgende Ausgabe sehen:

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

PHP und andere benötigte Erweiterungen installieren

Als nächstes musst du PHP und andere Erweiterungen installieren, die für die Laravel Anwendung benötigt werden. Als erstes installierst du die benötigten Abhängigkeiten mit dem folgenden Befehl:

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

Als nächstes fügst du den GPG-Schlüssel und das PHP-Repository mit dem folgenden Befehl hinzu:

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'

Als nächstes aktualisierst du das Repository und installierst PHP mit anderen Erweiterungen mit dem folgenden Befehl:

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

Sobald PHP installiert ist, bearbeite die Datei php.ini und nimm einige Änderungen vor:

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

Ändere die folgenden Zeilen:

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

Speichere und schließe die Datei und überprüfe dann die PHP-Version mit folgendem Befehl:

php -v

Beispielhafte Ausgabe:

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

Install Composer

Als nächstes musst du den Composer auf deinem System installieren. Du kannst ihn mit dem folgenden Befehl installieren:

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

Sample output:

All settings correct for using Composer
Downloading...

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

Als nächstes verschiebst du das Composer-Binary mit dem folgenden Befehl in den Systempfad:

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

Als nächstes überprüfst du die Compsoer Version mit dem folgenden Befehl:

composer --version

Du solltest die folgende Ausgabe sehen:

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

Laravel installieren

Als nächstes wechsle das Verzeichnis in das Apache Webroot und lade die neueste Version von Laravel mit dem Composer herunter:

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

Du solltest die folgende Ausgabe erhalten:

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

Setze als Nächstes die richtigen Berechtigungen und Eigentümer für das Laravel-Verzeichnis mit dem folgenden Befehl:

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

Sobald du damit fertig bist, kannst du mit dem nächsten Schritt fortfahren.

Apache für Laravel konfigurieren

Als nächstes musst du eine Apache Virtual Host Konfigurationsdatei für Laravel erstellen. Du kannst sie mit dem folgenden Befehl erstellen:

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

Füge die folgenden Zeilen ein:

<VirtualHost *:80>
    ServerName laravel.example.com

    ServerAdmin admin@example.com
    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>

Speichere und schließe die Datei, dann aktiviere den Apache Virtual Host und das Rewrite Modul mit dem folgenden Befehl:

a2enmod rewrite
a2ensite laravel.conf

Zum Schluss starte den Apache-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart apache2

Du kannst den Status des Apache auch mit dem folgenden Befehl überprüfen:

systemctl status apache2

Du solltest die folgende Ausgabe erhalten:

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

Access Laravel

Öffne nun deinen Webbrowser und rufe die Laravel Web UI über die URL http://laravel.example.com auf. Du solltest die Laravel Standardseite auf dem folgenden Bildschirm sehen:

Laravel auf Debian 11

Fazit

Herzlichen Glückwunsch! Du hast Laravel erfolgreich mit Apache auf Debian 11 installiert. Du kannst nun mit der Entwicklung deiner Anwendung unter Verwendung des Laravel-Frameworks beginnen. Fühl dich frei, mich zu fragen, wenn du Fragen hast.

Das könnte dich auch interessieren …