So installierst du das Laravel PHP Framework auf Alma Linux 9

Laravel ist ein auf PHP basierendes Webanwendungs-Framework, das für die Erstellung von unternehmensweiten und robusten Full-Stack-Webanwendungen verwendet wird. Es folgt der Model-View-Controller-Architektur (MVC) und basiert auf Symfony. Laravel unterstützt mehrere Datenbanken, darunter MySQL, PostgreSQL, SQLite und SQL Server. Laravel bietet außerdem ein Gerüst für eine sichere Authentifizierung.

In diesem Lernprogramm erfährst du, wie du Laravel auf dem Alma Linux 9 Server installierst. Wir führen dich durch die Laravel-Installation mit dem LAMP-Stack (Linux, Apache/Httpd, MariaDB und PHP) und Composer.

Voraussetzungen

Bevor du fortfährst, solltest du sicherstellen, dass du Folgendes hast:

  • Einen Alma Linux 9 Server.
  • Einen Nicht-Root-Benutzer mit Administrator-Rechten.
  • Einen lokalen Domainnamen.
  • Ein SELinux mit permissivem Modus.

Installation von LAMP Stack und Composer

Laravel ist eines der beliebtesten PHP-Webframeworks für die Erstellung von Webanwendungen. Um Laravel zu installieren, musst du Abhängigkeiten installieren, darunter den LAMP-Stack (Apache/Httpd, MariaDb und PHP) und Composer. Derzeit benötigt Laravel PHP 8.3. Du musst PHP 8.3 über ein Drittanbieter-Repository installieren.

Füge zunächst die Drittanbieter-Repositorien EPEL und Remi mit dem folgenden Befehl zu deinem Alma Linux Server hinzu. Das EPEL-Repository wird für die Installation von Paketen wie Composer verwendet, während das Remi-Repository mehrere PHP-Versionen für Laravel bereitstellt.

sudo dnf install epel-release dnf-utils http://rpms.remirepo.net/enterprise/remi-release-9.rpm

Repo hinzufügen

Aktiviere nun das PHP 8.3 Repository über Remi mit dem unten stehenden Befehl.

sudo dnf reset php -y
sudo dnf module enable php:remi-8.3 -y

Als Nächstes installierst du den LAMP-Stack (Apache/Httpd, MariaDB und PHP) und die Composer-Pakete mit dem folgenden Befehl. Bestätige die Installation mit der Eingabe von y.

sudo dnf install httpd mariadb-server composer php php-curl php-bcmath php-json php-mbstring php-xml php-tokenizer php-zip

deps installieren

Wenn die Installation abgeschlossen ist, starte und aktiviere den httpd-Dienst mit dem unten stehenden Befehl.

sudo systemctl start httpd
sudo systemctl enable httpd

Starte und aktiviere dann den MariaDB-Server mit dem folgenden Befehl.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Überprüfe nun die PHP- und Composer-Versionen mit dem unten stehenden Befehl. Du solltest sehen, dass PHP 8.3 und Composer 2.7.1 installiert sind.

php -v
sudo -u apache composer -v

php und Composer überprüfen

Führe abschließend den folgenden Befehl aus, um deine PHP-Module zu überprüfen. Vergewissere dich, dass die Module fileinfo, mbstring und openssl aktiviert sind.

php -m

MariaDB konfigurieren

Nachdem du PHP konfiguriert hast, sicherst du den MariaDB-Server und erstellst eine neue Datenbank und einen neuen Benutzer für Laravel. Der MariaDB-Server bietet ein MariaDB-secure-installation-Dienstprogramm zum Sichern des MariaDB-Servers und den MariaDB-Client für die Verbindung mit dem MariaDB-Server über die Kommandozeile.

Um den MariaDB-Server zu sichern, führst du den folgenden Befehl aus. Du wirst dann nach einigen Konfigurationen des MariaDB-Servers gefragt. Gib Y oder N ein, um der Anwendung neuer MariaDB-Änderungen zuzustimmen oder sie abzulehnen.

sudo mariadb-secure-installation

Im Folgenden findest du einige der MariaDB-Serverkonfigurationen, nach denen du gefragt wirst:

  • Zur unix_socket-Authentifizierung wechseln? Gib n ein und drücke ENTER. Der Standard-MariaDB-Root-Benutzer ist bereits geschützt. Optional kannst du ihn auch aktivieren, indem du y für yes eingibst.
  • Ändere das Root-Passwort? Gib y ein, um zu bestätigen und dein neues MariaDB Root-Passwort einzurichten.
  • Anonymen Benutzer entfernen? Gib y ein, um zu bestätigen.
  • Root-Login aus der Ferne verbieten? Gib zur Bestätigung y ein. Wenn du den MariaDB Root-Benutzer verwendest, wird nur eine lokale Verbindung zugelassen.
  • Die Testdatenbank und den Zugriff auf sie entfernen? Bestätige mit y und entferne die Standarddatenbank „test“.
  • Gib abschließend erneut y ein, um alle Tabellenberechtigungen auf deinem MariaDB-Server neu zu laden und die neuen Änderungen anzuwenden.

Nachdem MariaDB gesichert ist, erstellst du über den mariadb-Client eine neue Datenbank und einen neuen Benutzer für Laravel.

Melde dich mit dem unten stehenden Befehl mariadb client beim 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 einen neuen Benutzer für Laravel zu erstellen. In diesem Beispiel erstellst du eine neue Datenbank laravelapp, einen Benutzer laravel und das Passwort p4ssw0rd. Passe die Details Datenbank und Benutzer unten mit deinen Informationen an.

CREATE DATABASE laravelapp;
CREATE USER laravel@localhost IDENTIFIED BY 'p4ssw0rd';
GRANT ALL PRIVILEGES ON laravelapp.* TO laravel@localhost;
FLUSH PRIVILEGES;

Datenbank erstellen

Als Nächstes führst du die folgende Abfrage aus, um die Berechtigungen des Benutzers laravel zu überprüfen. Stelle sicher, dass der Benutzer laravel auf die Datenbank laravelapp zugreifen kann.

SHOW PRIVILEGES FOR laravel@localhost;

Zum Schluss gibst du quit ein, um den MariaDB-Server zu verlassen.

Privilegien anzeigen

Laravel-Projekt erstellen

Nachdem du nun sowohl PHP als auch MariaDB konfiguriert hast, laden wir Laravel herunter und installieren es auf deinem System. Du erstellst und richtest das Projektverzeichnis ein und lädst dann das Laravel-Projekt über den Composer herunter und installierst es.

Erstelle neue Verzeichnisse für das Laravel-Projekt /var/www/laravelapp und zusätzliche Verzeichnisse .cache und .config zum Speichern des Composer-Caches und der Konfiguration. Ändere dann die Eigentumsrechte für diese Verzeichnisse auf den Benutzer apache.

mkdir -p /var/www/laravelapp /usr/share/httpd/.composer/{.cache,.config}
sudo chown -R apache:apache /var/www/laravelapp /usr/share/httpd/.composer

Gehe in das Verzeichnis /var/www/laravelapp und führe den unten stehenden Composer-Befehl aus, um Laravel herunterzuladen und zu installieren.

cd /var/www/laravelapp/
sudo -u apache composer create-project laravel/laravel .

Der Downloadvorgang sollte so aussehen:

Laravel installieren

Sobald Laravel heruntergeladen ist, öffne die .env-Datei mit dem folgenden nano-Editor-Befehl.

nano .env

Ändere die APP_URL mit deinem lokalen Domainnamen und ändere dann die Datenbankdetails mit deinen MariaDB-Datenbankinformationen.

APP_URL=http://dev.hwdomain.local
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravelapp
DB_USERNAME=laravel
DB_PASSWORD=password

Wenn du fertig bist, speichere die Datei und beende sie.

Führe nun den folgenden Befehl aus, um die Datenbank zu migrieren und deine Tabellen mit neuen Beispieldaten zu füllen.

sudo -u apache php artisan migrate
sudo -u apache php artisan db:seed

Datenbank migrieren

Einrichten des virtuellen Httpd-Hosts

Nach der Installation von Laravel musst du eine neue Httpd Virtual Host-Konfiguration erstellen, die Laravel verwenden wird. Stelle sicher, dass du einen lokalen Domainnamen oder eine beliebige Domain verwendest. Du kannst diese Domain später konfigurieren.

Erstelle eine neue httpd virtual host Konfiguration /etc/httpd/conf.d/laravel.conf mit dem folgenden nano Editor Befehl.

sudo nano /etc/httpd/conf.d/laravel.conf

Füge die folgende Konfiguration ein und stelle sicher, dass du die Option ServerName durch den Namen deiner Laravel-Domäne ersetzt.

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

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

ErrorLog /var/log/httpd/laravel-error.log
CustomLog /var/log/httpd/laravel-access.log combined

</VirtualHost>

Speichere die Datei und beende den Editor.

Führe nun den folgenden Befehl aus, um deine httpd-Konfiguration zu überprüfen. Wenn du die richtige httpd-Syntax hast, solltest du eine Ausgabe Syntax OK erhalten.

sudo apachectl configtest

Starten Sie abschließend den httpd-Dienst neu, um Ihre neue Konfiguration des virtuellen Hosts für Laravel zu übernehmen.

sudo systemctl restart httpd

vhost-Einrichtung

Firewalld einrichten

Bevor du auf deine Laravel-Installation zugreifen kannst, musst du sowohl den HTTP- als auch den HTTPS-Port auf deinem System öffnen, was du über Firewalld tun kannst.

Öffne sowohl den HTTP- als auch den HTTPS-Verkehr zu deinem Alma-Linux-Server mit dem unten stehenden Befehl.

sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-service=https --permanent

Lade Firewalld neu, um die Änderungen zu übernehmen.

sudo firewall-cmd --reload

Überprüfe abschließend die Firewalld-Listenregeln mit dem folgenden Befehl. Du wirst sehen, dass sowohl HTTP- als auch HTTPS-Dienste zu firewalld hinzugefügt wurden.

sudo firewall-cmd --list-all

firewalld einrichten

Zugriff auf Laravel vom lokalen Computer aus

Um einen lokalen Domainnamen für deine Laravel-Installation einzurichten, gehe wie folgt vor:

  • Für Windows-Benutzer änderst du die Datei C:\Windows\System32\drivers\etc\hosts als Administrator.
  • Für Linux- und Mac-Benutzer öffnest du die Datei /etc/hosts mit Root-Rechten.

Füge die unten stehende Konfiguration ein und achte darauf, dass du die IP-Adresse und den Domänennamen mit deinen Angaben änderst.

192.168.5.60 dev.hwdomain.local

Speichere und beende die Datei.

Öffne nun deinen Webbrowser und besuche deine Laravel-Installation http://dev.hwdomain.local/. Wenn deine Installation erfolgreich war, solltest du die folgende Laravel-Indexseite erhalten.

laravel

Fazit

Herzlichen Glückwunsch! Du hast die Installation von Laravel auf Alma Linux 9 mit dem LAMP-Stack (Linux, Apache/Httpd, MariaDB und PHP) und Composer abgeschlossen. Außerdem hast du Firewalld so konfiguriert, dass sowohl HTTP- als auch HTTPS-Ports geöffnet sind, und den lokalen Domainnamen für deine Laravel-Entwicklung über die Datei /etc/hosts oder C:\Windows\System32\drivers\etc\hosts konfiguriert.

Das könnte dich auch interessieren …