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
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
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.
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.
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
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:
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;
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;
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.
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
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.
Gib nun die E-Mail-Adresse, den Benutzernamen und das Passwort für Joomla ein und klicke auf Datenbankverbindung einrichten.
Gib die Anmeldedaten für deine MariaDB-Datenbank ein und klicke auf Joomla installieren, um mit der Installation fortzufahren.
Während der Joomla-Installation wirst du Folgendes sehen:
Sobald die Joomla-Installation abgeschlossen ist, erhältst du die Meldung„Glückwunsch! Deine Joomla-Website ist fertig„.
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.
Unten siehst du die Anmeldeseite für den Joomla-Administrator. Gib deinen Benutzernamen und dein Passwort ein und klicke dann auf Login.
Wenn du den richtigen Admin-Benutzer und das richtige Passwort hast, erhältst du das Joomla-Administrator-Dashboard wie das folgende:
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.