Laravel unter Debian 12 installieren

Laravel ist ein auf PHP basierendes Webanwendungs-Framework für die Erstellung von Unternehmens-Webanwendungen. Es ist ein freies und offenes Web-Framework, das der Model-View-Controller-Architektur (MVC) folgt und auf Symfony basiert. Es bietet eine elegante Syntax, die es dir ermöglicht, Anwendungen mit sauberem Code zu erstellen, der leicht zu lesen und zu verstehen ist.

Laravel ist ein unternehmenstaugliches Web-Framework für die Erstellung von unternehmenstauglichen und robusten Full-Stack-Webanwendungen. Laravel-Anwendungen können von der Entwicklung bis zur Produktion schnell und ohne Kopfschmerzen bereitgestellt werden.

Wenn du das Laravel-Webframework mit einem anderen Framework wie React oder Vue kombinierst, kannst du ein schönes und interaktives Frontend erstellen. Außerdem unterstützt Laravel mehrere Datenbanken, darunter MySQL, PostgreSQL, SQLite und SQL Server. Laravel bietet auch ein Gerüst für eine sichere Authentifizierung.

In dieser Anleitung zeigen wir dir, wie du Laravel Schritt für Schritt unter Debian 12 installierst, damit du mit dem Laravel-Projekt loslegen kannst. Wir zeigen dir, wie du Laravel mit dem Apache2-Webserver, MariaDB und PHP 8.2 installierst.

Voraussetzungen

Im Folgenden findest du die Voraussetzungen, die du brauchst, um dieser Anleitung zu folgen:

  • Einen Debian 12 Server.
  • Ein Nicht-Root-Benutzer mit Administratorrechten.

Installation des LAMP-Stapels

Als erstes musst du den LAMP-Stack (Apache2, MariaDB und PHP) auf deinem Debian-Server installieren. Dann überprüfst du auch die beiden Dienste Apache2 und mariaDB, um sicherzustellen, dass der Dienst läuft.

Bevor du die Pakete installierst, führe den Befehl apt update aus, um die Debian-Repositories zu aktualisieren und aufzufrischen.

sudo apt update

Sobald das Repository aktualisiert ist, installierst du die LAMP-Stack-Pakete (Apache2, PHP und MariaDB), indem du den folgenden apt install-Befehl ausführst. Mit dem folgenden Befehl werden auch einige der PHP-Erweiterungen installiert, die Laravel benötigt.

sudo apt install apache2 php php-curl php-bcmath php-json php-mysql php-mbstring php-xml php-tokenizer php-zip mariadb-server

Bestätige mit y und fahre mit der Installation fort.

Installation von Lampenpaketen

Wenn der LAMP-Stack installiert ist, führe den folgenden systemctl-Befehl aus, um die Dienste apache2 und mariadb zu überprüfen. Wenn der Dienst läuft, solltest du die Ausgabe active (läuft) erhalten.

sudo systemctl status apache2
sudo systemctl status mariadb

Für den apache2-Dienst solltest du etwa die folgende Ausgabe erhalten:

apache2 prüfen

Und unten steht der Status des Mariadb-Dienstes.

mariadb prüfen

Als Nächstes führst du den folgenden php-Befehl aus, um die PHP-Version und die aktivierten Module von PHP zu überprüfen. Du solltest sehen, dass PHP 8.2 installiert und einige Module aktiviert sind, z. B. curl, date, dom und exif.

php -v
php -m

php-Version und Modul prüfen

Starte deinen Webbrowser und rufe die IP-Adresse deines Debian-Servers auf (z.B.: http://192.168.10.15/). Wenn die Installation erfolgreich war, solltest du die index.html Seite des Apache Webservers erhalten.

Standard-Index

PHP konfigurieren

Um Laravel zu installieren, musst du einige PHP-Erweiterungen aktivieren, z. B. fileinfo, mbstring und openssl. Du kannst diese Erweiterungen über die Datei php.ini aktivieren.

Öffne mit dem folgenden nano-Editor die PHP-Konfigurationsdatei /etc/php/8.2/apache2/php.ini.

sudo nano /etc/php/8.2/apache2/php.ini

Hebe die Kommentare in den folgenden Zeilen auf, um die Erweiterungen fileinfo, mbstring und openssl zu aktivieren.

extension=fileinfo
extension=mbstring
extension=openssl

Wenn du fertig bist, speichere die Datei und beende den Editor.

Führe anschließend den folgenden systemctl-Befehl aus, um den apache2-Dienst neu zu starten und die Änderungen zu übernehmen.

sudo systemctl restart apache2

Stelle dann sicher, dass die PHP-Erweiterungen fileinfo, mbstring und openssl aktiviert sind, indem du den folgenden php-Befehl ausführst.

sudo php -m

Erstelle nun eine neue phpinfo-Datei /var/www/html/info.php mit dem unten stehenden Befehl. Wenn deine Installation von PHP und dem Apache2 Webserver erfolgreich war, werden dir hier detaillierte Informationen über deine PHP-Installation angezeigt.

echo "<?php phpinfo(); ?>" > /var/www/html/info.php

Öffne deinen bevorzugten Webbrowser und rufe die IP-Adresse des Servers gefolgt von der Pfaddatei info.php auf (d.h.: http://192.168.10.15/info.php). Wenn du erfolgreich warst, solltest du eine Ausgabe wie diese sehen:

phpinfo

MariaDB Server konfigurieren

Nachdem du PHP konfiguriert hast, musst du deinen MariaDB-Server konfigurieren. Dazu gehört, dass du den MariaDB-Server mit dem Dienstprogramm mariadb-secure-installation absicherst und dann eine neue Datenbank und einen neuen Benutzer für dein Laravel-Projekt anlegst.

Führe zunächst den Befehl mariadb-secure-installation aus, um deine MariaDB-Serverinstallation zu sichern. Während des Prozesses wirst du nach einigen MariaDB-Konfigurationen gefragt. Gib Y ein, um die Konfiguration zu bestätigen, oder n für No.

sudo mariadb-secure-installation

Im Folgenden findest du einige der MariaDB-Einstellungen, nach denen du während des Prozesses gefragt wirst:

  • Drücke ENTER, wenn du nach dem MariaDB Root-Passwort gefragt wirst.
  • Gib n ein, wenn du nach der Authentifizierungsmethode unix_socket gefragt wirst.
  • Gib Y ein, um ein neues Passwort für den MariaDB-Root-Benutzer einzurichten. Gib dann das neue Passwort ein und wiederhole den Vorgang.
  • Gib Y ein, um den anonymen Standardbenutzer von MariaDB zu entfernen.
  • Gib dann erneut Y ein, um die Fernanmeldung für den MariaDB Root-Benutzer zu deaktivieren.
  • Gib Y ein, um den standardmäßigen Datenbanktest aus MariaDB zu entfernen.
  • Gib zum Schluss noch einmal Y ein, um die Tabellenberechtigungen neu zu laden und die Änderungen zu übernehmen.

Nachdem du den MariaDB-Server konfiguriert hast, musst du eine neue Datenbank und einen neuen Benutzer für dein Laravel-Projekt erstellen.

Melde dich mit dem unten stehenden Befehl mariadb am MariaDB-Server an. Gib dein MariaDB-Passwort ein, wenn du dazu aufgefordert wirst.

sudo mariadb -u root -p

Führe nun die folgenden Abfragen aus, um eine neue Datenbank testapp, den Benutzer testapp und das Passwort password zu erstellen. Achte darauf, dass du das Passwort in der folgenden Abfrage änderst.

CREATE DATABASE testapp;
CREATE USER testapp@localhost IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON testapp.* TO testapp@localhost;
FLUSH PRIVILEGES;

Datenbank und Benutzer anlegen

Als Nächstes führst du die folgende Abfrage aus, um sicherzustellen, dass der Benutzer testapp auf die Datenbank testapp zugreifen kann.

SHOW GRANTS FOR testapp@localhost;

Die folgende Ausgabe bestätigt, dass der Benutzer testapp auf die Datenbank testapp zugreifen kann.

Benutzerberechtigungen prüfen

Zum Schluss gibst du quit ein, um den MariaDB-Server zu verlassen und diesen Schritt abzuschließen.

Composer installieren

Laravel kann auf verschiedene Arten installiert werden. Am einfachsten ist es, es über Composer, den PHP-Paketmanager, zu installieren. Jetzt installierst du den Composer auf deinem Debian-Server.

Um den PHP-Paketmanager Composer zu installieren, führe den Befehl apt install aus. Gib y ein, wenn du aufgefordert wirst, mit der Installation fortzufahren.

sudo apt install composer

Installieren von Composer

Nachdem die Installation abgeschlossen ist, führe den folgenden Befehl aus, um die Binärdatei des Composers zu finden und die Composer-Version zu überprüfen.

which composer
sudo -u www-data composer --version

Die Composer-Binärdatei befindet sich unter /usr/bin/composer und der Composer 2.5.5 ist installiert.

Komponist prüfen

Das erste Laravel-Projekt erstellen

Wenn du alles vorbereitet hast, kannst du das erste Laravel-Projekt installieren und erstellen. Du wirst das erste Laravel-Projekt mit MariaDB als Datenbank erstellen.

Zuerst erstellst du ein neues Stammverzeichnis /var/www/testapp für dein Projekt und änderst mit dem folgenden Befehl den Eigentümer auf den Benutzer www-data. Außerdem erstellst du die Verzeichnisse /var/www/.cache und /var/www/.config, die vom Composer verwendet werden.

sudo mkdir -p /var/www/{.cache,.config,testapp}
sudo chown -R www-data:www-data /var/www/{.cache,.config,testapp}

Wechsle nun in das Verzeichnis /var/www/testapp/ und führe den unten stehenden Composer-Befehl aus, um das erste Laravel-Projekt zu erstellen. Dein erstes Laravel-Projekt wird im Verzeichnis /var/www/testapp/ gespeichert.

cd /var/www/testapp/
sudo -u www-data composer create-project laravel/laravel .

Während der Installation solltest du eine ähnliche Ausgabe wie die folgende erhalten:

laravel installieren

Nachdem du das Laravel-Projekt erstellt hast, richtest du als Nächstes die Datenbank für dein Projekt über die Konfigurationsdatei .env ein. Die .env-Datei wird als Basiskonfiguration für dein Laravel-Projekt verwendet.

Öffne die .env-Datei mit dem folgenden Befehl des nano-Editors.

nano .env

Ändere den Parameter APP_URL durch den lokalen Domainnamen deines Laravel-Projekts. Auf diese Weise kannst du auf dein Projekt über einen lokalen Domainnamen zugreifen. In diesem Fall ist der Domainname testapp.local.

APP_URL=http://testapp.local

Ändere nun die Datenbankkonfiguration DB_CONNECTION in mysql und ändere die Details von DB_DATABASE, DB_USERNAME und DB_PASSWORD mit deinen MariaDB-Datenbank- und Benutzerdaten.

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=testapp
DB_USERNAME=testapp
DB_PASSWORD=password

Wenn du fertig bist, speichere die Datei und beende den Editor.

Führe nun den folgenden Befehl aus, um die Datenbank zu migrieren. Dadurch werden Tabellen für das Laravel-Projekt erstellt.

sudo -u www-data php artisan migrate

Datenbank migrieren

Apache Virtual Host konfigurieren

Im folgenden Schritt erstellst du eine neue Apache2 Virtual Host-Konfiguration für dein Laravel-Projekt. Danach musst du den virtuellen Host aktivieren und die Apache2-Konfigurationen überprüfen und den Apache2-Webserver neu starten, damit er wirksam wird.

Bevor du eine virtuelle Apache2-Host-Konfiguration für Laravel erstellst, musst du das Rewrite-Modul im Apache2 mit dem folgenden Befehl aktivieren.

sudo a2enmod rewrite

Verwende den folgenden Befehl des nano-Editors, um die Apache2-Konfiguration für virtuelle Hosts zu erstellen /etc/apache2/sites-available/laravel.conf.

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

Füge die folgende Konfiguration ein und ändere den Parameter ServerName mit deinem Domainnamen.

<VirtualHost *:80>
ServerAdmin admin@testapp.local
ServerName testapp.local
DocumentRoot /var/www/testapp/public

<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/testapp>
AllowOverride All
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Wenn du fertig bist, speichere die Datei und beende den Editor.

Als Nächstes führst du den folgenden Befehl aus, um die Konfiguration des virtuellen Hosts laravel.conf zu aktivieren und die Apache2-Konfigurationen zu überprüfen. Wenn du die richtigen Einstellungen vorgenommen hast, solltest du die Meldung Syntax OK erhalten.

sudo a2ensite laravel.conf
sudo apachectl configtest

Starten Sie schließlich den Apache2-Dienst neu, indem Sie den folgenden Befehl ausführen und die vorgenommenen Änderungen übernehmen.

sudo systemctl restart apache2

virtuellen Host einrichten

Zugriff auf Laravel

Wenn du mit einem Linux-Client arbeitest, ändere die Datei /etc/hosts mit dem unten stehenden nano-Editor-Befehl.

sudo nano /etc/hosts

Wenn du auf einem Windows-Rechner arbeitest, ändere die Datei C:\Windows\System32\drivers\etc\hosts.

Füge den Domainnamen deines Laravel-Projekts und die IP-Adresse deines Debian-Servers wie folgt ein:

192.168.10.15   testapp.local

Speichere die Datei und beende den Editor.

Starte schließlich deinen Webbrowser und rufe den lokalen Domainnamen deines Laravel-Projekts auf (z.B. http://testapp.local). Wenn du erfolgreich warst, solltest du eine ähnliche Seite von Laravel erhalten wie diese:

laravel installieren

Fazit

Abschließend hast du Laravel mit dem LAMP-Stack (Apache2, MariaDB und PHP) auf dem Debian 12 Server installiert. Außerdem hast du Composer, den PHP-Paketmanager, installiert und ihn als Medieninstallation für Laravel verwendet. Jetzt kannst du deine Anwendung mit dem Laravel Web Framework und MariaDB als Datenbank für deine Anwendungen entwickeln.

Das könnte dich auch interessieren …