Wie man Joomla mit Apache und Let’s Encrypt SSL auf AlmaLinux 9 installiert

Joomla ist ein flexibles und quelloffenes Content-Management-System für die Erstellung von Websites und Online-Publikationen. Es basiert auf PHP und kann für viele verschiedene Szenarien eingesetzt werden, z. B. für Foren, Fotogalerien, E-Commerce und andere webbasierte Anwendungen.

Folge unserer Anleitung, um Joomla CMS auf dem AlmaLinux 9 Server mit dem LAMP Stack (Apache/Httpd, MariaDB und PHP) zu installieren.

Voraussetzungen

Bevor du beginnst, solltest du sicherstellen, dass du diese Voraussetzungen in deiner Umgebung hast:

  • Einen AlmaLinux 9 Server.
  • Einen Nicht-Root-Benutzer mit Administrator-Rechten.
  • Ein SELinux mit dem Status permissive.
  • Ein Domainname, der auf die IP-Adresse des Servers zeigt.

Installiere die LAMP-Stack-Abhängigkeiten

Joomla ist ein in PHP geschriebenes Content Management System mit einer MySQL/MariaDB-Datenbank. Bevor du also Joomla installierst, musst du die entsprechenden Abhängigkeiten installieren. In diesem Beispiel wirst du Joomla mit dem LAMP Stack (Apache/Httpd, MySQL/MariaDB und PHP) auf deinem AlmaLinux 9 Server installieren.

Um loszulegen, führe den folgenden Befehl aus, um das EPEL- und Remi-Repository zu deinem AlmaLinux-Server hinzuzufügen. Das EPEL-Repository wird für die Installation einiger zusätzlicher Abhängigkeiten benötigt und das Remi-Repository für PHP-Pakete.

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

Setup-Repo

Führe nun den folgenden Befehl aus, um das PHP-Repository-Modul zurückzusetzen und das Remi PHP-Modul zu aktivieren. Gib zur Bestätigung y ein und fahre fort.

sudo dnf module reset php
sudo dnf module enable php:remi-8.2

php remi aktivieren

Nachdem das Repository hinzugefügt wurde, installierst du LAMP Stack und weitere Abhängigkeiten, indem du den folgenden Befehl ausführst.

sudo dnf install httpd mariadb-server php php-curl php-common php-json php-intl php-xml php-gd php-mysql php-imagick php-mbstring php-zip wget unzip nano

Wenn du dazu aufgefordert wirst, gib y ein, um mit der Installation fortzufahren. Gib außerdem y ein, um den GPG-Schlüssel zu akzeptieren, wenn du danach gefragt wirst.

Lampe einbauen

gpg-Schlüssel hinzufügen

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

sudo systemctl start httpd
sudo systemctl enable httpd

Überprüfe dann den httpd, um sicherzustellen, dass der Dienst läuft.

sudo systemctl status httpd

Unten kannst du sehen, dass der httpd-Dienst läuft.

verify apache aktivieren

Um den Mariadb-Dienst zu starten und zu aktivieren, führst du den folgenden Befehl aus.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Überprüfe dann den mariadb-Dienst mit dem unten stehenden Befehl. Du wirst sehen, dass mariadb läuft.

sudo systemctl status mariadb

verify mariadb aktivieren

Führe den folgenden Befehl aus, um die PHP-Version und die Liste der aktivierten Erweiterungen zu überprüfen.

php -v
php -m

Du wirst sehen, dass PHP 8.2 wie folgt installiert ist:

php verifizieren

Einrichten von PHP

Nachdem du den LAMP Stack auf deinem AlmaLinux Server installiert hast, musst du im nächsten Schritt deine PHP Installation für Joomla konfigurieren. Du wirst die Standard-PHP-Konfiguration php.ini modifizieren und einige Änderungen daran vornehmen.

Führe den folgenden nano-Befehl aus, um die Standard-PHP-Konfiguration /etc/php.ini zu öffnen.

sudo nano /etc/php.ini

Ändere die Standardkonfiguration wie folgt und achte darauf, dass du die Option memory_limit an deinen aktuell verfügbaren Speicher/RAM anpasst.

memory_limit=512M
upload_max_filesize=64M
post_max_size=64M
max_execution_time=60
output_buffering = Off

Speichere die Datei und beende den Editor, wenn du fertig bist.

Starte nun den httpd-Dienst neu, um deine Änderung mit dem folgenden Befehl zu übernehmen.

sudo systemctl restart httpd

MariaDB Server einrichten

Nachdem du PHP konfiguriert hast, richtest du den MariaDB-Server ein, indem du die Installation mit dem Dienstprogramm mariadb-secure-installation absicherst und dann eine neue Datenbank und einen neuen Benutzer für Joomla anlegst.

Führe den Befehl mariadb-secure-installation aus, um deine MariaDB Serverinstallation zu sichern.

sudo mariadb-secure-installation

Wenn du gefragt wirst, ob du die neue Konfiguration übernehmen willst, gibst du y ein, um sie zu bestätigen, oder n, um sie abzulehnen. Im Folgenden findest du einige der MariaDB-Serverkonfigurationen, nach denen du gefragt wirst:

  • Die Standard-MariaDB-Installation wird ohne Passwort geliefert.
  • 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 der MariaDB-Server konfiguriert ist, musst du eine neue Datenbank und einen neuen Benutzer für Joomla erstellen.

Führe den folgenden Befehl mariadb aus, um dich bei MariaDB anzumelden. Gib dein MariaDB Root-Passwort ein, wenn du zum Einloggen aufgefordert wirst.

sudo mariadb -u root -p

Führe nun die folgenden MariaDB-Abfragen aus, um eine neue Datenbank joomladb und einen neuen Benutzer joomla mit dem Passwort p4ssword anzulegen und erteile dem Benutzer joomla die Rechte für die Datenbank joomladb.

CREATE DATABASE joomladb;
CREATE USER joomla@localhost IDENTIFIED BY 'p4ssword';
GRANT ALL PRIVILEGES ON joomladb.* TO joomla@localhost;
FLUSH PRIVILEGES;

Datenbank und Benutzer anlegen

Als Nächstes überprüfst du die Liste der Berechtigungen für den Benutzer joomla mit der folgenden MariaDB-Abfrage. Du wirst sehen, dass der Benutzer joomla Zugriffsrechte für die Datenbank joomladb hat.

SHOW GRANTS FOR joomla@localhost;

Benutzerprivilegien überprüfen

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

Einrichten der Firewalld

Standardmäßig läuft die Firewalld auf dem AlmaLinux-Server. Daher musst du jetzt sowohl HTTP- als auch HTTPS-Ports für die Firewalld öffnen.

Führe den Befehl firewall-cmd aus, um sowohl HTTP- als auch HTTPS-Dienste auf firewalld zu öffnen. Lade die Firewalld neu, um die Änderung zu übernehmen.

sudo firewall-cmd --add-service={http,https} --permanent
sudo firewall-cmd --reload

Überprüfe nun die aktivierten Regeln auf der Firewalld, indem du den unten stehenden Befehl ausführst.

sudo firewall-cmd --list-all

Du wirst sehen, dass sowohl HTTP- als auch HTTPS-Dienste zu firewalld hinzugefügt wurden.

firewalld einrichten

Herunterladen von Joomla

Nachdem du den LAMP-Stack installiert und konfiguriert hast, musst du als Nächstes den Joomla-Quellcode herunterladen, das Dokument-Root-Verzeichnis für Joomla einrichten und dann die richtigen Eigentumsverhältnisse für den Joomla-Quellcode festlegen.

Verschiebe dein Arbeitsverzeichnis /var/www und lade den Joomla-Quellcode mit dem unten stehenden wget-Befehl herunter. Achte darauf, dass du auf der Joomla-Downloadseite den Link für die neueste Version findest.

cd /var/www/
wget https://downloads.joomla.org/cms/joomla5/5-0-2/Joomla_5-0-2-Stable-Full_Package.zip

Nach dem Herunterladen führst du den Befehl unzip aus, um den Joomla-Quellcode in das Joomla-Verzeichnis zu entpacken. Dein Dokumentenstamm für Joomla befindet sich dann im Verzeichnis /var/www/joomla.

unzip Joomla_5-0-2-Stable-Full_Package.zip -d joomla

Zum Schluss führst du den folgenden chmod-Befehl aus, um die Eigentümerschaft des Verzeichnisses /var/www/joomla auf den Benutzer und die Gruppe apache zu ändern. Damit wird sichergestellt, dass der Webserver httpd auf den Joomla-Quellcode zugreifen kann.

sudo chown -R apache:apache /var/www/joomla

Httpd Virtual Host einrichten

Nachdem du den Joomla-Quellcode heruntergeladen hast, wirst du im nächsten Schritt eine neue httpd Virtual Host-Datei für Joomla erstellen. Bevor du also weitermachst, solltest du sicherstellen, dass du deinen Domainnamen für deine Joomla-Installation vorbereitet hast.

Erstelle eine neue virtuelle Host-Konfiguration /etc/httpd/conf.d/joomla.conf mit dem folgenden Befehl des nano Editors.

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

Füge die unten stehende Konfiguration ein und achte darauf, dass du den Domänennamen durch deine Joomla-Domäne ersetzt. Achte auch darauf, den Pfad für die Zugriffs- und Fehlerprotokolle für dein Joomla zu ändern.

<VirtualHost *:80>
ServerAdmin webmaster@hwdomain.io

ServerName hwdomain.io
DocumentRoot /var/www/joomla

<Directory /var/www/joomla/>
Options FollowSymlinks
AllowOverride All
Require all granted
</Directory>

ErrorLog /var/log/httpd/hwdomain.io_error.log
CustomLog /var/log/httpd/hwdomain.io_access.log combined

</VirtualHost>

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

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

sudo apachectl configtest

Starten Sie abschließend den httpd-Dienst neu, um die Konfiguration des virtuellen Hosts mit dem unten stehenden Befehl zu übernehmen.

sudo systemctl restart httpd

vhost-Einrichtung

Sicher mit Certbot und Letsencrypt

Jetzt hast du alles konfiguriert und bist bereit, die Joomla-Installation zu starten. Aber vorher musst du Joomla mit SSL/TLS-Zertifikaten von Letsencrypt sichern. Wenn du einen Domainnamen für deine Joomla-Installation hast, befolge diesen. Wenn du keinen hast, kannst du diesen Abschnitt überspringen.

Installiere zunächst Certbot und das Certbot Apache Plugin mit dem folgenden Befehl.

sudo dnf install certbot python3-certbot-apache -y

Führe nun den folgenden Certbot-Befehl aus, um SSL/TLS-Zertifikate für deine Joomla-Installation zu erzeugen. Achte darauf, dass du die Details des Domainnamens und der E-Mail-Adresse mit deinen Daten abänderst.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email alice@hwdomain.io -d hwdomain.io

Wenn der Vorgang abgeschlossen ist, werden deine SSL/TLS-Zertifikate im Verzeichnis /etc/letsencrypt/live/domain.com verfügbar sein. Außerdem wird deine Joomla-Installation automatisch mit HTTPS konfiguriert.

Installation von Joomla

Starte deinen Webbrowser und rufe den Domainnamen deiner Joomla-Installation auf, z.B. http://hwdomain.io/. Wenn die Installation erfolgreich war, siehst du die Joomla-Installationsseite.

Wähle als Standardsprache Englisch und gib deinen Basis-Site-Namen ein. Klicke dann auf Anmeldedaten einrichten, um fortzufahren.

lang und Standortname

Gib nun die E-Mail-Adresse, den Benutzernamen und das Passwort für Joomla ein und klicke auf Datenbankverbindung einrichten.

Admin-Benutzer anlegen

Gib die Anmeldedaten für deine MariaDB-Datenbank ein und klicke auf Joomla installieren, um mit der Installation fortzufahren.

Datenbankdetails

Während der Joomla-Installation wirst du Folgendes sehen:

Joomla installieren

Sobald die Joomla-Installation abgeschlossen ist, erhältst du die Meldung„Glückwunsch! Deine Joomla-Website ist fertig„.

Installation beendet

Von dort aus kannst du auf die beiden Links klicken:

  • Seite öffnen, um die Startseite deiner Joomla-Website zu öffnen.
  • Administrator öffnen, um das Admin-Login für Joomla zu öffnen, das sich unter http://hwdomain.io/administrator befindet.

Unten siehst du die Standard-Startseite von Joomla.

home

Unten siehst du die Anmeldeseite für den Joomla-Administrator. Gib deinen Benutzernamen und dein Passwort ein und klicke dann auf Login.

Login-Seite

Wenn du den richtigen Admin-Benutzer und das richtige Passwort hast, erhältst du das Joomla-Administrator-Dashboard wie das folgende:

Dashboard

Damit ist deine Joomla-Installation auf dem AlmaLinux 9 Server abgeschlossen.

Fazit

Herzlichen Glückwunsch! Du hast die Installation des Open-Source Content Management Systems Joomla auf dem AlmaLinux 9 Server abgeschlossen. Du hast Joomla mit dem LAMP-Stack (Apache/Httpd, MariaDB und PHP) installiert, Joomla mit SSL/TLS-Zertifikaten von Letsencrypt gesichert und firewalld so konfiguriert, dass sowohl HTTP- als auch HTTPS-Ports geöffnet sind.

Das könnte dich auch interessieren …