So installierst du WonderCMS unter Debian 12

WonderCMS ist ein leichtgewichtiges, quelloffenes Content Management System (CMS), das auf Einfachheit und Benutzerfreundlichkeit ausgelegt ist. Im Gegensatz zu vielen anderen CMS-Plattformen, die eine umfangreiche Einrichtung oder große Ressourcen erfordern, arbeitet WonderCMS mit einer einzigen Flat-File-Datenbank, d.h. es braucht kein traditionelles Datenbanksystem wie MySQL. Dadurch ist es extrem einfach zu installieren und zu verwalten und erfordert oft nicht mehr als das Hochladen der CMS-Dateien auf einen Server. Trotz seines geringen Umfangs bietet WonderCMS wichtige Funktionen wie die Bearbeitung von Inhalten, SEO-Optionen, die Anpassung von Themen und die Unterstützung von Plugins.

In diesem Tutorial zeigen wir dir, wie du WonderCMS auf einem Debian 12 Server mit Apache Webserver und PHP 8.x installierst.

Voraussetzungen

Vergewissere dich, dass du die folgenden Voraussetzungen hast, bevor du beginnst:

  • Einen Debian 12 Server.
  • Einen Nicht-Root-Benutzer mit Administrator-Rechten.
  • Einen Domainnamen, der auf eine Server-IP-Adresse zeigt.

Installieren der Abhängigkeiten

WonderCMS ist ein Open-Source Content Management System, das in PHP geschrieben wurde. Es ist ein flaches CMS, was bedeutet, dass es keine Datenbank wie MySQL/MariaDB zur Installation benötigt. Es verwendet Textdateien als Datenbank.

In dieser Anleitung wirst du WonderCMS mit dem Apache Webserver und PHP 8.2 installieren.

Bevor du die Pakete installierst, aktualisiere das Debian-Repository mit dem unten stehenden Befehl.

sudo apt update

Nach der Aktualisierung installierst du die Abhängigkeiten für WonderCMS, indem du den unten stehenden Befehl ausführst. WonderCMS ist ein flaches CMS, es benötigt keine Datenbank. Du installierst also nur den Apache-Webserver und die PHP-Pakete.

sudo apt install apache2 php php-common php-mbstring php-curl php-zip unzip

Gib y ein, um die Installation zu bestätigen.

deps installieren

Nachdem die Installation abgeschlossen ist, überprüfe den Apache-Dienst mit dem unten stehenden Befehl. Apache sollte standardmäßig laufen und aktiviert sein.

sudo systemctl is-enabled apache2
sudo systemctl status apache2

Unten siehst du, dass der Apache-Dienst aktiviert ist und läuft.

Apache verifizieren

Überprüfe abschließend die PHP-Version und aktiviere die Erweiterungen mit dem folgenden Befehl.

php -m
php -v

In der unten stehenden Ausgabe siehst du, dass PHP 8.2 installiert ist.

php verifizieren

PHP konfigurieren

Nachdem du die Abhängigkeiten installiert hast, musst du PHP für WonderCMS konfigurieren. Du musst die php.ini-Konfiguration für den Apache-Webserver anpassen und einige der Standardeinstellungen ändern, z. B. Zeitzone, Speicherlimit, Ausführungszeit und maximale Dateigröße beim Hochladen.

Öffne die php.ini-Konfiguration für den Apache-Webserver mit dem folgenden Befehl des nano-Editors.

sudo nano /etc/php/8.2/apache2/php.ini

Ändere die Standard-PHP-Konfiguration wie folgt – Achte darauf, dass du die timezone und memory_limit an deine aktuelle Serverumgebung anpasst.

date.timezone = "Europe/Amsterdam"
memory_limit = 512M
upload_max_filesize = 128MB
post_max_size = 128MB

max_execution_time = 300
max_input_vars = 5000

Speichere und beende die Datei, wenn du fertig bist.

Starte nun den Apache-Dienst neu, um deine Änderungen an PHP zu übernehmen.

sudo systemctl restart apache2

Firewall konfigurieren

In dieser Anleitung wirst du WonderCMS mit einer aktivierten Firewall betreiben. In diesem Beispiel wirst du UFW verwenden. Du musst also UFW installieren und Ports für SSH-, HTTP- und HTTPS-Dienste öffnen.

Installiere UFW auf deinem Debian-Server mit dem folgenden Befehl. Gib zur Bestätigung y ein und fahre fort.

sudo apt install ufw

ufw installieren

Sobald die Installation abgeschlossen ist, aktiviere das OpenSSH-Profil, um Port 22 zu öffnen, und das Profil „WWW Full“, um sowohl HTTP- als auch HTTPS-Ports zu öffnen.

sudo ufw allow OpenSSH
sudo ufw allow "WWW Full"

Führe nun den folgenden Befehl aus, um UFW zu starten und zu aktivieren. Gib zur Bestätigung y ein, dann sollte UFW laufen und aktiviert sein.

sudo ufw enable

ufw-Einrichtung

Überprüfe abschließend den UFW-Status mit dem folgenden Befehl. Sowohl das OpenSSH- als auch das „WWW Full“-Profil sind bei UFW aktiviert.

sudo ufw status

ufw verifizieren

Herunterladen des WonderCMS-Quellcodes

In diesem Abschnitt lädst du den WonderCMS-Quellcode herunter und konfigurierst das Document-Root-Verzeichnis mit den richtigen Berechtigungen und Eigentümern. Bevor du beginnst, solltest du die WonderCMS GitHub Seite besuchen und dir den neuesten Download-Link besorgen.

Gehe in das Verzeichnis /var/www und lade den WonderCMS-Quellcode mit dem unten stehenden wget-Befehl herunter.

cd /var/www/
wget https://github.com/WonderCMS/wondercms/releases/download/3.4.3/wondercms-343.zip

Nach dem Download entpackst du den WonderCMS-Quellcode mit dem Befehl unzip in das Verzeichnis /var/www/wondercms.

unzip wondercms-343.zip -d /var/www/wondercms

Zuletzt änderst du den Eigentümer des Verzeichnisses /var/www/wondercms auf den Benutzer www-data. Damit erlaubst du dem Apache, im WonderCMS-Dokumentenstammverzeichnis zu lesen, zu schreiben und auszuführen.

sudo chown -R www-data:www-data /var/www/wondercms
sudo chmod -R 755 /var/www/wondercms

Konfigurieren des virtuellen Apache-Hosts

In diesem Beispiel wirst du WonderCMS mit Apache betreiben, also musst du die Konfiguration des virtuellen Hosts dafür erstellen. Achte darauf, dass dein Domainname auf die IP-Adresse deines Debian-Servers zeigt.

Benutze zunächst den folgenden Befehl, um das Rewrite-Modul im Apache zu aktivieren. Für WonderCMS muss mod_rewrite aktiviert sein.

sudo a2enmod rewrite

Rewrite aktivieren

Nach der Aktivierung erstellst du mit dem Editor nano eine neue virtuelle Hostkonfiguration /etc/apache2/sites-available/wondercms.conf.

sudo nano /etc/apache2/sites-available/wondercms.conf

Füge die folgende Konfiguration ein. Achte darauf, dass du den Domänennamen, den Pfad des Stammverzeichnisses des Dokuments und die Protokolldateien mit deinen Angaben änderst.

<VirtualHost *:80>
ServerName cms.hwdomain.io
DirectoryIndex index.php
DocumentRoot /var/www/wondercms
Redirect /wondercms/loginURL /loginURL
ErrorLog /var/log/apache2/cms.hwdomain.io-error.log
CustomLog /var/log/apache2/cms.hwdomain.io-access.log combined

<Directory /var/www/wondercms>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>

</VirtualHost>

Speichere und beende die Datei, wenn du fertig bist.

Als nächstes führst du den folgenden Befehl aus, um die Datei wondercms.conf für den virtuellen Host zu aktivieren. Überprüfe dann den Apache und stelle sicher, dass du die richtige Syntax hast.

sudo a2ensite wondercms.conf
sudo apachectl configtest

Wenn du eine korrekte Apache-Syntax hast, solltest du die Ausgabe Syntax OK erhalten.

vhost-Einrichtung

Zum Schluss führst du den folgenden Befehl aus, um den Apache-Dienst neu zu starten und deine Änderungen zu übernehmen. Damit sollte deine WonderCMS-Installation fertig sein.

sudo systemctl restart apache2

WonderCMS mit Letsencrypt absichern

Sobald du den virtuellen Apache-Host konfiguriert hast, sicherst du deine WonderCMS-Installation mit HTTPS. In diesem Fall wirst du Certbot und Letsencrypt verwenden.

Du kannst selbstsignierte Zertifikate für lokale Domainnamen oder interne Netzwerke erstellen, um deine WonderCMS-Installation zu sichern.

Installiere Certbot und das Certbot Apache Plugin mit dem unten stehenden Befehl. Gib y ein, um die Installation zu bestätigen.

sudo apt install certbot python3-certbot-apache

Sobald die Installation abgeschlossen ist, generiere SSL-Zertifikate für deinen WonderCMS-Domainnamen. Achte auch darauf, dass der Domainname und die E-Mail-Adresse mit deinen Angaben übereinstimmen.

sudo certbot --apache --agree-tos --no-eff-email --redirect --hsts --staple-oscp --email alice@hwdomain.io -d cms.hwdomain.io

Sobald der Vorgang abgeschlossen ist, sollte dein Zertifikat im Verzeichnis /etc/letsencrypt/live/hwdomain.io verfügbar sein. Deine WonderCMS Installation sollte automatisch mit HTTPS gesichert sein.

Zugriff auf die WonderCMS-Installation

Öffne den Webbrowser und besuche deine WonderCMS-Domain, z.B. https://hwdomain.io/. Auf der WonderCMS-Startseite solltest du das generierte Passwort sehen. Kopiere das Passwort und speichere es an einem geheimen Ort.

index

Fazit

Herzlichen Glückwunsch! Du hast WonderCMS erfolgreich auf dem Debian 12 Server installiert, zusammen mit einem Apache Webserver und PHP 8.2. Außerdem hast du WonderCMS mit UFW und SSL-Zertifikaten von Letsencrypt abgesichert.

Das könnte dich auch interessieren …