Wie installiere ich das Laravel PHP Framework auf Ubuntu 24.04
Laravel ist ein auf PHP basierendes Webanwendungs-Framework, das für die Entwicklung von Unternehmens-Webanwendungen verwendet wird. 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, mit der du Anwendungen mit sauberem Code erstellen kannst, 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 lassen sich schnell und ohne Kopfzerbrechen erstellen, von der Entwicklung bis zur Produktion.
In dieser Anleitung erfährst du, wie du das Laravel-Webframework auf dem Ubuntu 24.04 Server installierst. Du wirst Laravel mit dem LAMP Stack (Linux, Apache, MySQL/MariaDB und PHP) und dem Composer PHP Paketmanager installieren.
Voraussetzungen
Bevor du mit dieser Anleitung beginnst, solltest du sicherstellen, dass du Folgendes hast:
- Einen Ubuntu 24.04 Server.
- Einen Nicht-Root-Benutzer mit Administrator-Rechten
Installation von LAMP Stack und Composer
Laravel ist ein beliebtes PHP-Webframework für die moderne Webentwicklung. Du musst also sicherstellen, dass PHP und andere Abhängigkeiten auf deinem Ubuntu-Server installiert sind. In diesem Abschnitt installierst du Laravel mit dem LAMP-Stack (Linux, Apache, MySQL/MariaDB und PHP) und Composer.
Bevor du das Paket installierst, führe den folgenden Befehl aus, um dein Ubuntu-Repository zu aktualisieren.
sudo apt update
Führe nun den folgenden Befehl aus, um die Abhängigkeiten von Laravel zu installieren, einschließlich des LAMP-Stacks (Linux, Apache, MySQL/MariaDB und PHP), Composer und Git.
sudo apt install apache2 mariadb-server php php-curl php-bcmath php-json php-mysql php-mbstring php-xml php-tokenizer php-zip composer git
Gib Y ein, um mit der Installation fortzufahren.
Sobald die Installation abgeschlossen ist, überprüfe den Status der Dienste Apache und MariaDB. Überprüfe dann die Versionen von PHP und Composer.
Überprüfe den Status des Apache-Dienstes mit dem folgenden Befehl. Der Standard-Apache-Dienst unter Ubuntu sollte aktiviert sein und automatisch laufen.
sudo systemctl is-enabled apache2 sudo systemctl status apache2
Ausgabe:
Überprüfe nun den MariaDB-Dienst mit dem folgenden Befehl. Der MariaDB-Server sollte auf deinem Ubuntu-System aktiviert sein und laufen.
sudo systemctl is-enabled mariadb sudo systemctl status mariadb
Ausgabe:
Überprüfe abschließend die PHP- und Composer-Versionen mit dem unten stehenden Befehl. Du wirst sehen, dass PHP 8.3 und Composer 2.7.1 auf deinem System installiert sind.
php -v sudo -u www-data composer -v
Optional: Installation von Node.js und NPM (Node.js Package Manager)
Node.js und NPM werden benötigt, wenn du Laravel mit einer Templating Engine wie Blade und JavaScript verwendest. In diesem Abschnitt wirst du sowohl Node.js als auch NPM (Node.js Package Manager) über das Ubuntu-Repository installieren.
Um Node.js und NPM auf deinem Ubuntu-System zu installieren, führe den folgenden Befehl aus:
sudo apt install nodejs npm
Gib Y ein, um die Installation zu bestätigen.
Wenn die Installation abgeschlossen ist, gib den folgenden Befehl ein, um die Version von Node.js und NPM zu überprüfen.
node --version npm --version
Die folgende Ausgabe zeigt, dass Node.js 18 und NPM 9.5 installiert sind.
PHP konfigurieren
Um Laravel auszuführen, musst du sicherstellen, dass einige PHP-Erweiterungen aktiviert sind, z. B. fileinfo, mbstring und openssl. Daher aktivierst du diese PHP-Erweiterungen, indem du die Datei „php.ini“ änderst.
Bearbeite mit dem nano-Editor die Standard-PHP-Konfigurationsdatei „/etc/php/8.3/apache2/php.ini“.
sudo nano /etc/php/8.3/apache2/php.ini
Entferne die Kommentare in den folgenden Zeilen, um die PHP-Erweiterungen fileinfo, mbstring und openssl zu aktivieren.
extension=fileinfo extension=mbstring extension=openssl
Speichere die Datei und beende den Editor.
Führe nun den folgenden Befehl aus, um den Apache-Dienst neu zu starten und die Änderungen in PHP zu übernehmen.
sudo systemctl restart apache2
Als Nächstes überprüfst du die PHP-Erweiterungen fileinfo, mbstring und openssl mit dem folgenden Befehl. Wenn diese Erweiterungen aktiviert sind, wird der Name der jeweiligen Erweiterung angezeigt.
sudo php -m | grep 'fileinfo\|mbstring\|openssl'
Außerdem kannst du die Liste der aktivierten PHP-Erweiterungen über PHPINFO überprüfen. Erstelle eine neue PHPINFO-Datei mit dem folgenden Befehl.
echo "<?php phpinfo(); ?>" > /var/www/html/info.php
Rufe dann http://192.168.5.30/info.php auf. Überprüfe die Erweiterungen fileinfo, mbstring und openssl, um sicherzustellen, dass sie aktiviert sind.
MariaDB-Server konfigurieren
Nachdem du PHP konfiguriert hast, musst du deinen MariaDB-Server sichern und eine neue Datenbank und einen neuen Benutzer für Laravel erstellen.
Führe den Befehl „mariadb-secure-installation“ aus, um deinen MariaDB-Server zu sichern. Nun wirst du aufgefordert, die Konfigurationen für den MariaDB-Server einzugeben.
sudo mariadb-secure-installation
Wenn du dazu aufgefordert wirst, gibst du Y ein, um die neue Konfiguration zu übernehmen, oder N, um sie abzulehnen.
- Die Standard-MariaDB-Installation enthält kein Passwort. Drücke ENTER, wenn du nach dem Passwort gefragt wirst.
- Gib nun Y ein, um das MariaDB Root-Passwort einzurichten. Gib dann das neue Passwort für MariaDB ein und wiederhole das Passwort.
- Gib Y ein, um den anonymen Benutzer aus deiner MariaDB-Installation zu entfernen.
- Gib erneut Y ein, wenn du aufgefordert wirst, die Fernanmeldung für den MariaDB-Root-Benutzer zu deaktivieren.
- Gib Y ein, um den Standard-Datenbanktest aus deiner MariaDB zu entfernen.
- Gib schließlich Y ein, um die Tabellenberechtigungen neu zu laden und die neuen Änderungen anzuwenden.
Nachdem du den MariaDB-Server gesichert hast, musst du eine neue Datenbank und einen neuen Benutzer für dein Laravel-Projekt erstellen.
Melde dich mit dem unten stehenden Befehl am MariaDB-Server an. Gib dein MariaDB-Root-Passwort ein, wenn du dazu aufgefordert wirst.
sudo mariadb -u root -p
Führe nun die folgenden Abfragen aus, um eine neue Datenbank und den Benutzer„laravelapp“ mit dem Passwort„password“ anzulegen.
CREATE DATABASE laravelapp; CREATE USER laravelapp@localhost IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON laravelapp.* TO laravelapp@localhost; FLUSH PRIVILEGES;
Als Nächstes führst du die folgende Abfrage aus, um die Berechtigungen für den Benutzer„laravelapp“ zu überprüfen. Damit stellst du sicher, dass dein Benutzer auf die Laravel-Datenbank„laravelapp“ zugreifen kann.
SHOW GRANTS FOR laravelapp@localhost;
Zum Schluss gibst du quit ein, um den MariaDB-Server zu verlassen.
Installation von Laravel über den Composer
Nachdem du nun PHP konfiguriert und die MySQL/MariaDB-Datenbank sowie den Benutzer angelegt hast, kannst du Laravel installieren. In diesem Abschnitt wirst du das Projektverzeichnis einrichten, Laravel über den Composer installieren und Laravel in die MySQL/MariaDB-Datenbank integrieren.
Führe zunächst den folgenden Befehl aus, um die Verzeichnisse /var/www/.cache (für den Composer-Cache), /var/www/.config (für zusätzliche Composer-Konfigurationen) und /var/www/laravelapp (für dein Laravel-Projekt) zu erstellen.
sudo mkdir -p /var/www/{.cache,.config,laravelapp}
Ändere nun die Eigentümerschaft der Verzeichnisse /var/www/.cache, /var/www/.config und /var/www/laravelapp auf den Benutzer„www-data„.
sudo chown -R www-data:www-data /var/www/{.cache,.config,laravelapp}
Als Nächstes gehst du in das Verzeichnis /var/www/laravelapp und installierst Laravel mit dem unten stehenden Composer-Befehl.
cd /var/www/laravelapp/ sudo -u www-data composer create-project laravel/laravel .
Die Laravel-Installation sollte wie folgt beginnen:
Öffne nun die Datei ‚.env‘ mit dem unten stehenden Befehl nano editor.
nano .env
Ändere die Standard-„APP_URL“ mit deinem lokalen Domainnamen. In diesem Beispiel wird Laravel auf der Domain „laravelapp.local“ ausgeführt.
APP_URL=http://laravelapp.local
Ändere die Vorgabe„DB_CONNECTION“ in„mysql„, entkommentiere und ändere die Datenbankdetails mit deinen Angaben.
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravelapp DB_USERNAME=laravelapp DB_PASSWORD=password
Speichere und beende die Datei.
Führe abschließend den folgenden Befehl aus, um die Datenbank für dein Laravel-Projekt zu migrieren.
sudo -u www-data php artisan migrate
Ausgabe der Laravel-Datenbankmigration:
Einrichten eines virtuellen Hosts für Laravel
In diesem Abschnitt richtest du die virtuelle Hostdatei für Laravel ein. Stelle sicher, dass du den lokalen Domainnamen für deine Laravel-Entwicklung bereit hast.
Bevor du einen virtuellen Host einrichtest, aktiviere das Apache-Modul„rewrite“ mit dem folgenden Befehl.
sudo a2enmod rewrite
Erstelle eine neue Konfiguration für den virtuellen Host„/etc/apache2/sites-available/laravelapp.conf“ mit dem nano-Editor.
sudo nano /etc/apache2/sites-available/laravelapp.conf
Füge die folgende Konfiguration hinzu und ändere die Option ServerName mit dem Namen deiner Laravel-Domäne, z. B.„laravelapp.local„.
<VirtualHost *:80>
ServerAdmin admin@laravelapp.local
ServerName laravelapp.local
DocumentRoot /var/www/laravelapp/public
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/laravelapp>
AllowOverride All
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Speichere die Datei und beende den Editor.
Führe nun den folgenden Befehl aus, um den virtuellen Host„laravelapp.conf“ zu aktivieren und überprüfe deine Apache-Syntax. Wenn kein Fehler auftritt, solltest du die Ausgabe„Syntax OK“ sehen.
sudo a2ensite laravelapp.conf sudo apachectl configtest
Starte den Apache-Dienst neu, um die neue virtuelle Laravel-Host-Datei zu übernehmen. Nachdem Apache neu gestartet wurde, ist deine Laravel-Installation fertig.
sudo systemctl restart apache2
Zugriff auf das Laravel-Projekt
Jetzt kannst du auf deine Laravel-Installation über die Datei „hosts“ zugreifen.
Für Linux- oder MacOS-Benutzer änderst du die Datei„/etc/hosts“ mit Root-Rechten. Für Windows-Benutzer öffnest du die Datei„C:\Windows\System32\drivers\etc\hosts“ als Administrator.
Füge die IP-Adresse deines Ubuntu-Servers gefolgt von dem Laravel-Domänennamen wie folgt ein:
192.168.5.30 laravelapp.local
Speichere und beende die Datei.
Rufe nun http://laravelapp.local/ mit deinem Webbrowser auf. Wenn deine Laravel-Installation erfolgreich war, solltest du die folgende Seite erhalten:
Fazit
Herzlichen Glückwunsch! Du hast die Laravel-Installation auf Ubuntu 24.04 abgeschlossen. Du hast Laravel mit dem LAMP-Stack (Linux, Apache, MySQL/MariaDB und PHP) zum Laufen gebracht und den grundlegenden Composer-Befehl zum Erstellen eines Projekts gelernt.