WonderCMS ist ein kostenloses Open-Source-Flatfile-CMS, das darauf abzielt, extrem klein, leicht und einfach zu sein. Es wurde mit PHP, jQuery, HTML/CSS erstellt und seit 2008 entwickelt. Keine Erstkonfiguration erforderlich. Der Installationsprozess ist ziemlich einfach – entpacken und laden Sie 5 Dateien hoch. Alle Dateien können einfach verschoben, gesichert und wiederhergestellt werden, indem alle Dateien an einem anderen Ort kopiert/eingefügt werden. Das Verschieben auf einen anderen Host erfordert keine Neukonfiguration. WonderCMS benötigt auch keine traditionelle/relationale Datenbank wie MySQL. Die Flat-File-Technologie ermöglicht es WonderCMS, alle Daten in einer Textdatei (Flat File) namens database.js zu speichern, die im JSON-Format strukturiert ist. In diesem Tutorial gehen wir durch die WonderCMS-Installation und -Einrichtung auf dem Debian 9-System, indem wir Nginx als Webserver verwenden, und optional können Sie die Transportschicht sichern, indem Sie den Acme.sh-Client und die Let's Encrypt-Zertifizierungsstelle verwenden, um SSL-Unterstützung hinzuzufügen.
Anforderungen
Voraussetzungen für die Installation und Ausführung von WonderCMS sind:
- PHP-Version 7.1 oder höher mit den Erweiterungen curl, mbstring und zip.
- Webserver (Apache mit
mod_rewrite
Modul aktiviert, Nginx, IIS).
Voraussetzungen
- Ein Debian 9 Betriebssystem.
- Ein Nicht-Root-Benutzer mit
sudo
Privilegien.
Erste Schritte
Überprüfen Sie Ihre Debian-Version:
lsb_release -ds
# Debian GNU/Linux 9.9 (stretch)
Richten Sie die Zeitzone ein:
sudo dpkg-reconfigure tzdata
Aktualisieren Sie Ihre Betriebssystempakete (Software). Dies ist ein wichtiger erster Schritt, da dadurch sichergestellt wird, dass Sie über die neuesten Updates und Sicherheitsfixes für die Standardsoftwarepakete Ihres Betriebssystems verfügen:
sudo apt update && sudo apt upgrade -y
Installieren Sie einige wichtige Pakete, die für die grundlegende Verwaltung des Debian-Betriebssystems erforderlich sind:
sudo apt install -y curl wget vim git unzip socat bash-completion apt-transport-https
Schritt 1 – Installieren Sie PHP und notwendige PHP-Erweiterungen
Repository eines Drittanbieters für die Installation von PHP 7.2 hinzufügen:
sudo apt install apt-transport-https lsb-release ca-certificates
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list
sudo apt update
Installieren Sie PHP sowie die erforderlichen PHP-Erweiterungen:
sudo apt install -y php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-curl php7.2-zip php7.2-mbstring
Um PHP in Modulen kompiliert anzuzeigen, können Sie Folgendes ausführen:
php -m
ctype
curl
exif
fileinfo
. . .
. . .
Überprüfen Sie die PHP-Version:
php --version
# PHP 7.2.17.18.04.1 (cli) (built: Apr 18 2019 14:12:38) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.2.10.debian.18.04.1, Copyright (c) 1999-2018, by Zend Technologies
Der PHP-FPM-Dienst wird beim Neustart auf dem Debian 9-System automatisch gestartet und aktiviert, sodass er nicht manuell gestartet und aktiviert werden muss. Wir können mit dem nächsten Schritt fortfahren, dem SSL-Setup.
Schritt 2 – Installieren Sie den acme.sh-Client und erhalten Sie das Let's Encrypt-Zertifikat (optional)
Das Sichern Ihres Forums mit HTTPS ist nicht erforderlich, aber es ist eine bewährte Methode, den Datenverkehr Ihrer Website zu sichern. Um ein TLS-Zertifikat von Let’s Encrypt zu erhalten, verwenden wir den Acme.sh-Client. Acme.sh ist eine reine UNIX-Shell-Software zum Abrufen von TLS-Zertifikaten von Let's Encrypt ohne Abhängigkeiten.
Laden Sie acme.sh herunter und installieren Sie es:
sudo su - root
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
./acme.sh --install --accountemail [email protected]
source ~/.bashrc
cd ~
Prüfen Sie die acme.sh-Version:
acme.sh --version
# v2.8.0
Fordern Sie RSA an und ECC/ECDSA Zertifikate für Ihre Domäne/Ihren Hostnamen:
# RSA 2048
acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d example.com --keylength ec-256
Wenn Sie zum Testen gefälschte Zertifikate wünschen, können Sie --staging
hinzufügen Flag zu den obigen Befehlen.
Nachdem Sie die obigen Befehle ausgeführt haben, werden Ihre Zertifikate und Schlüssel wird sein in:
- Für RSA :
/home/username/example.com
Verzeichnis. - Für ECC/ECDSA :
/home/username/example.com_ecc
Verzeichnis.
Um Ihre ausgestellten Zertifikate aufzulisten, können Sie Folgendes ausführen:
acme.sh --list
Erstellen Sie ein Verzeichnis zum Speichern Ihrer Zertifikate. Wir verwenden /etc/letsencrypt
Verzeichnis.
mkdir -p /etc/letsecnrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc
Installieren/kopieren Sie Zertifikate in das /etc/letsencrypt-Verzeichnis.
# RSA
acme.sh --install-cert -d example.com --cert-file /etc/letsencrypt/example.com/cert.pem --key-file /etc/letsencrypt/example.com/private.key --fullchain-file /etc/letsencrypt/example.com/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"
# ECC/ECDSA
acme.sh --install-cert -d example.com --ecc --cert-file /etc/letsencrypt/example.com_ecc/cert.pem --key-file /etc/letsencrypt/example.com_ecc/private.key --fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"
Alle Zertifikate werden alle 60 Tage automatisch erneuert.
Nachdem Sie die Zertifikate erhalten haben, beenden Sie den Root-Benutzer und kehren Sie zum normalen sudo-Benutzer zurück:
exit
Schritt 3 – NGINX installieren und konfigurieren
WonderCMS funktioniert gut mit vielen beliebten Webserver-Software. In diesem Tutorial haben wir NGINX ausgewählt.
Installieren Sie NGINX:
sudo apt install -y nginx
Überprüfen Sie die NGINX-Version:
sudo nginx -v
# nginx version: nginx/1.10.3
Als nächstes konfigurieren Sie NGINX für WonderCMS. Führen Sie sudo vim /etc/nginx/sites-available/wondercms.conf
aus und fügen Sie die folgende Konfiguration hinzu:
server {
listen 80;
listen 443 ssl;
ssl_certificate /etc/letsencrypt/example.com/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/example.com/example.com.key;
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/example.com.key;
server_name example.com;
root /var/www/wondercms;
index index.php;
location / {
if (!-e $request_filename) {
rewrite ^/(.+)$ /index.php?page=$1 last;
}
}
location ~ database.js {
return 403;
}
location ~ \.php(/|$) {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
}
}
Aktivieren Sie die neue wondercms.conf
konfigurieren, indem Sie die Datei mit sites-enabled
verknüpfen Verzeichnis:
sudo ln -s /etc/nginx/sites-available/wondercms.conf /etc/nginx/sites-enabled/
Überprüfen Sie die NGINX-Konfiguration auf Syntaxfehler:
sudo nginx -t
NGINX-Dienst neu laden:
sudo systemctl reload nginx.service
Schritt 4 - WonderCMS installieren
Erstellen Sie ein Dokumentstammverzeichnis für WonderCMS.
sudo mkdir -p /var/www/wondercms
Ändern Sie den Besitz von /var/www/wondercms
Verzeichnis zu [jour_username]
:
sudo chown -R [your_username]:[your_username] /var/www/wondercms
Navigieren Sie zum Stammverzeichnis des Dokuments:
cd /var/www/wondercms
WonderCMS-Quelle herunterladen und entpacken:
wget https://github.com/robiso/wondercms/releases/download/2.7.0/WonderCMS-2.7.0.zip
unzip WonderCMS-2.7.0.zip
rm WonderCMS-2.7.0.zip
Verschieben Sie WonderCMS-Dateien in das Dokumentenstammverzeichnis.
mv wondercms/* . && mv wondercms/.*.
rmdir wondercms
Ändern Sie den Besitz von /var/www/wondercms
Verzeichnis zu www-data:
sudo chown -R www-data:www-data /var/www/wondercms
Öffnen Sie Ihre Website in einem Webbrowser und melden Sie sich mit dem Standardkennwort admin
an und ändern Sie anschließend das Standardkennwort.
Links
- https://www.wondercms.com/
- https://github.com/robiso/wondercms