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

Repo aktualisieren

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.

Installieren von Abhängigkeiten

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:

apache2 prüfen

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

mariadb prüfen

Ü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

php und Composer überprüfen

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.

node.js installieren npm

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.

npm-Version von node.js prüfen

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'

Setup php

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.

phpinfo

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;

Datenbank erstellen

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.

Privilegien für Benutzer anzeigen

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:

Laravel über Composer installieren

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

Datenbank migrieren

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

apache vhost einrichten

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:

Laravel-Anwendung

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.

Das könnte dich auch interessieren …