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

Repo aktualisieren

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.

Abhängigkeiten installieren

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

apache2 prüfen

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

mariadb prüfen

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.

ufw-Einrichtung

Ü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

ufw verifizieren

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;

Datenbank und Benutzer anlegen

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.

Datenbank und Benutzer verifizieren

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„.

vhosts einrichten

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.

Sprache der Website

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.

Admin-Setup

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.

Datenbank-Setup

Während der Installation siehst du das folgende Bild:

joomla installation

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.

Installation beendet

Unten siehst du einen Screenshot der Standard-Homepage deiner Joomla-Installation.

joomla homepage

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.

joomla login page

Wenn du den richtigen Admin-Benutzer und das richtige Passwort hast, solltest du das Joomla-Administrator-Dashboard wie das folgende sehen:

joomla dashboard

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.

Das könnte dich auch interessieren …