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.
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:
Und unten steht der Status des Mariadb-Dienstes.
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
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.
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:
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;
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.
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
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.
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:
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
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
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:
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.