Wie man Joomla unter Debian 12 installiert
Joomla CMS ist ein Open-Source-Content-Management-System für die Erstellung von Websites und Online-Anwendungen. Es bietet benutzerfreundliche Funktionen und Erweiterbarkeit und ist für jeden frei verfügbar. Es basiert auf PHP und kann für viele verschiedene Szenarien eingesetzt werden, z. B. für Foren, Fotogalerien, E-Commerce und verschiedene webbasierte Anwendungen.
In dieser Anleitung werden wir die Installation von Joomla CMS auf dem Debian 12 Server behandeln. Du wirst Joomla mit dem LAMP-Stack (Apache, MariaDB und PHP) installieren und die Installation mit UFW (Uncomplicated Firewall) und SSL von Letsencrypt absichern.
Vorraussetzungen
Bevor du dich in diese Anleitung vertiefst, solltest du die folgenden Dinge zusammenstellen:
- Einen Debian 12 Server.
- Einen Nicht-Root-Benutzer mit Administrator-Rechten.
- Einen Domainnamen, der auf die IP-Adresse des Servers zeigt.
Installieren der Abhängigkeiten
Joomla ist ein Open-Source-CMS, das auf PHP und MySQL-Datenbanken basiert. Um es zu installieren, stelle sicher, dass die erforderlichen Abhängigkeiten installiert sind.
Jetzt installierst du den LAMP-Stack und zusätzliche Abhängigkeiten wie UFW und Certbot, die Joomla verwenden wird.
Führe den Befehl apt aus, um das Debian-Repository zu aktualisieren.
sudo apt update
Installiere nun die Joomla-Abhängigkeiten mit dem unten stehenden apt-Befehl. Damit installierst du die LAMP-Stack-Pakete, UFW, Certbot und das Unzip-Dienstprogramm.
sudo apt install apache2 mariadb-server php php-curl php-common php-json php-intl php-xml php-gd php-mysql php-imagick php-mbstring php-zip ufw certbot python3-certbot-apache unzip
Gib Y ein und drücke ENTER, um die Installation zu bestätigen.
Nachdem die Installation abgeschlossen ist, stelle sicher, dass sowohl Apache2 als auch MariaDB auf deinem Debian-Server laufen und aktiviert sind.
Überprüfe den apache2-Dienst mit dem unten stehenden Befehl, um sicherzustellen, dass der Dienst läuft und aktiviert ist.
sudo systemctl is-enabled apache2 sudo systemctl status apache2
Zuletzt überprüfst du den Dienst mariadb mit dem folgenden Befehl. Der mariadb-Dienst sollte aktiviert sein und den Status active (läuft) haben.
sudo systemctl is-enabled mariadb sudo systemctl status mariadb
UFW konfigurieren
In diesem Beispiel wirst du Joomla mit aktivierter UFW (Uncomplicated Firewall) betreiben. In diesem Fall musst du SSH-, HTTP- und HTTPS-Ports zur UFW hinzufügen.
Führe zunächst den folgenden Befehl aus, um das Anwendungsprofil OpenSSH und„WWW Full“ zu aktivieren. Das OpenSSH-Profil öffnet den Standard-SSH-Port 22, während das „WWW Full“-Profil sowohl den HTTP- als auch den HTTPS-Port – 80 und 443 – öffnet.
sudo ufw allow OpenSSH sudo ufw allow 'WWW Full'
Aktiviere dann UFW, indem du den unten stehenden Befehl ausführst. Gib y ein, um den Vorgang zu bestätigen.
sudo ufw enable
Du solltest die Meldung„Firewall ist aktiv und beim Systemstart aktiviert“ erhalten, die bestätigt, dass UFW auf deinem Debian-Rechner läuft und aktiviert ist.
Überprüfe die uFW mit dem folgenden Befehl. Vergewissere dich, dass die Profile OpenSSH und‚WWW Full‚ auf deinen UFW-aktivierten Regeln verfügbar sind.
sudo ufw status
PHP konfigurieren
Nachdem du UFW konfiguriert hast, musst du im nächsten Schritt PHP für deine Joomla-Installation konfigurieren.
Joomla benötigt mindestens die folgenden Konfigurationen in der Datei php.ini:
- memory_limit: 256M
- upload_max_filesize: 32M
- post_max_size: 32M
- max_execution_time: 30
Öffne die Datei„/etc/php/8.2/apache2/php.ini“ mit dem nano-Editor und gib folgenden Befehl ein.
sudo nano /etc/php/8.2/apache2/php.ini
Ändere die Standardkonfiguration der php.ini wie folgt. Achte darauf, dass du die Option memory_limit an den aktuellen Speicherplatz deines Systems anpasst.
memory_limit=512M upload_max_filesize=64M post_max_size=64M max_execution_time=60
output_buffering = Off
extension=intl
Speichere und schließe die Datei, wenn du fertig bist.
Führe nun den folgenden Befehl aus, um den apache2-Dienst neu zu starten und deine Änderungen in PHP zu übernehmen.
sudo systemctl restart apache2
MariaDB konfigurieren
Im folgenden Abschnitt wirst du den MariaDB-Server mit dem Tool„mariadb-secure-installation“ einrichten und sichern. Außerdem erstellst du eine neue Datenbank und einen Benutzer für Joomla über den MySQL/MariaDB-Client.
Beginne mit der Sicherung deiner MariaDB-Server-Installation, indem du den Befehl„mariadb-server-installation“ ausführst.
sudo mariadb-secure-installation
Gib Y ein, um die neue Konfiguration zu implementieren, oder gib N für „Nein“ ein, um abzulehnen. Im Folgenden findest du einige der MariaDB-Serverkonfigurationen, die du konfigurieren wirst:
- 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 konfiguriert hast, melde dich mit dem folgenden Befehl bei MariaDB an. Gib auch dein MariaDB Root-Passwort ein, wenn du dazu aufgefordert wirst.
sudo mariadb -u root -p
Führe die folgenden Abfragen aus, um eine neue Datenbank joomladb mit dem Benutzer joomla zu erstellen. Achte außerdem darauf, dass du das Datenbankpasswort„p4ssword“ durch dein sicheres Passwort ersetzt.
CREATE DATABASE joomladb; CREATE USER joomla@localhost IDENTIFIED BY 'p4ssword'; GRANT ALL PRIVILEGES ON joomladb.* TO joomla@localhost; FLUSH PRIVILEGES;
Als Nächstes führst du die folgende Abfrage aus, um die Rechte des MariaDB-Benutzers joomla@localhost zu überprüfen.
SHOW GRANTS FOR joomla@localhost;
Stelle sicher, dass der Benutzer joomla@localhost wie folgt auf die Datenbank joomladb zugreifen kann.
Tippe quit ein, um den MariaDB-Server zu verlassen und mit dem nächsten Schritt fortzufahren.
Herunterladen von Joomla CMS
Im folgenden Abschnitt lädst du die neueste Version von Joomla herunter und richtest die richtigen Berechtigungen und Besitzrechte für den Joomla-Quellcode ein.
Zurzeit ist die neueste Version von Joomla v5.0.1. Schau auf der Joomla-Downloadseite nach und hol dir die neueste Version.
Wechsle in das Verzeichnis /var/www und lade Joomlad mit dem unten stehenden wget-Befehl herunter.
cd /var/www/ wget https://downloads.joomla.org/cms/joomla5/5-0-1/Joomla_5-0-1-Stable-Full_Package.zip
Nach dem Download entpackst du den Joomla-Quellcode mit dem folgenden unzip-Befehl in das joomla-Verzeichnis. Damit befindet sich dein Joomla-Installationsverzeichnis im Verzeichnis /var/www/joomla.
unzip Joomla_5-0-1-Stable-Full_Package.zip -d joomla
Ändere nun die Eigentümerschaft des Verzeichnisses /var/www/joomla auf den Benutzer www-data und die Gruppe www-data.
sudo chown -R www-data:www-data /var/www/joomla
Einrichten des virtuellen Apache2-Hosts
Im folgenden Schritt erstellst du eine neue Apache Virtual Host Konfiguration, um Joomla zu betreiben. Stelle sicher, dass du einen Domainnamen bereit hast, der auf die IP-Adresse deines Servers zeigt. In diesem Beispiel verwenden wir hwdomain.io.
Um zu beginnen, führe den folgenden Befehl im nano-Editor aus, um eine neue virtuelle Host-Konfiguration„/etc/apache2/sites-available/joomla.conf“ zu erstellen.
sudo nano /etc/apache2/sites-available/joomla.conf
Füge die folgende Konfiguration ein und achte darauf, dass du den Domainnamen hwdomain.io durch deine Domain ersetzt.
<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 ${APACHE_LOG_DIR}/hwdomain.io_error.log CustomLog ${APACHE_LOG_DIR}/hwdomain.io_access.log combined </VirtualHost>
Speichere die Datei und beende den Editor, wenn du fertig bist.
Als Nächstes führst du den folgenden Befehl aus, um die virtuelle Hostdatei joomla.conf zu aktivieren und deine Apache-Syntax zu überprüfen.
sudo a2ensite joomla.conf sudo apachectl configtest
Wenn kein Fehler in der Apache-Syntax vorliegt, siehst du die Ausgabe„Syntax OK„.
Nun wendest du die neue virtuelle Hostdatei joomla.conf an, indem du Apache2 mit dem folgenden systemctl-Befehl neu startest.
sudo systemctl restart apache2
Joomla mit SSl/TLS-Zertifikaten absichern
Zu diesem Zeitpunkt läuft deine Joomla-Installation bereits. Um aber sicherzustellen, dass deine Joomla-Installation sicher ist, wirst du HTTPS über Certbot und Letsencrypt implementieren.
Im ersten Schritt hast du sowohl das certbot als auch das python3-certbot-apache Plugin installiert.
Führe nun den folgenden Certbot-Befehl aus, um SSl/TLS-Zertifikate für deinen Domainnamen zu erzeugen. Achte darauf, dass du die Details der E-Mail-Adresse und des Domainnamens mit deinen Daten änderst.
sudo certbot --apache --apache --agree-tos --redirect --hsts --staple-ocsp --email alice@hwdomain.io -d hwdomain.io
Sobald der Vorgang abgeschlossen ist, sollte deine Joomla-Installation automatisch mit HTTPS konfiguriert sein. Und deine SSL-Zertifikate werden im Verzeichnis /etc/letsencrypt/live/yourdomain.com verfügbar sein.
Installation von Joomla über den Web-Installer
Öffne deinen Webbrowser und rufe den Domainnamen deiner Joomla-Installation auf, z.B.(https://hwdomain.io/). Du wirst auf die Seite des Joomla-Webinstallers weitergeleitet.
Wähle die Standardsprache und gib den Namen der Website deiner Joomla-Installation ein. Klicke dann auf Login-Daten einrichten, um den Joomla-Administrator-Benutzer zu konfigurieren.
Gib deinen Namen, deinen Benutzernamen, deine E-Mail-Adresse und das Passwort für den Joomla-Administrator-Benutzer ein. Klicke dann auf Datenbankverbindung einrichten, um fortzufahren.
Gib den Namen der MariaDB-Server-Datenbank, den Benutzer, den Host und das Standard-Datenbankpräfix ein. Klicke dann auf Joomla installieren, um den Installationsprozess zu starten.
Während der Installation siehst du das folgende Bild:
Sobald die Joomla-Installation abgeschlossen ist, solltest du die Meldung„Herzlichen Glückwunsch! Deine Joomla-Website ist fertig!‚.
Klicke nun auf Folgendes:
- Seite öffnen: Öffne die Startseite deiner Joomla-Installation.
- Administrator öffnen: Öffne die Joomla-Administrations-URL, die https://hwdomain.io/administrator lautet.
Unten siehst du einen Screenshot der Standard-Homepage deiner Joomla-Installation.
Auf der Anmeldeseite für den Joomla-Administrator gibst du den Administrator-Benutzer und das Passwort für deine Joomla-Installation ein und klickst dann zur Bestätigung auf Anmelden.
Wenn du den richtigen Admin-Benutzer und das richtige Passwort hast, solltest du das Joomla-Administrator-Dashboard wie das folgende sehen:
Fazit
Herzlichen Glückwunsch! Du hast die Installation des Open-Source-CMS Joomla auf dem Debian 12 Server abgeschlossen. Du hast Joomla mit dem LAMP-Stack (Apache, MariaDB und PHP) installiert, deinen Debian-Server mit UFW (Uncomplicated Firewall) gesichert und deine Joomla-Installation mit SSL/TLS-Zertifikaten von Letsencrypt abgesichert.
Wenn du noch einen Schritt weiter gehen willst, kannst du einige verfügbare Themes auswählen und deine Joomla-Homepage anpassen. Du kannst auch versuchen, das Joomla-Plugin zu installieren, um deine Joomla-Seite um weitere Funktionen zu erweitern.