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