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 die Installation und Einrichtung von WonderCMS auf dem Fedora 30-System durch, indem wir Nginx als Webserver verwenden, und optional können Sie die Transportschicht sichern, indem Sie den Acme.sh-Client und die Zertifizierungsstelle Let's Encrypt 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
- Betriebssystem Fedora 30.
- Ein Nicht-Root-Benutzer mit
sudo
Privilegien.
Erste Schritte
Überprüfen Sie Ihre Fedora-Version:
cat /etc/fedora-release
# Fedora release 30 (Thirty)
Richten Sie die Zeitzone ein:
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
Aktualisieren Sie Ihre Betriebssystempakete (Software). Dies ist ein wichtiger erster Schritt, da er sicherstellt, dass Sie über die neuesten Updates und Sicherheitsfixes für die Standardsoftwarepakete Ihres Betriebssystems verfügen:
sudo dnf update -y
Installieren Sie einige wichtige Pakete, die für die grundlegende Verwaltung des Fedora-Betriebssystems erforderlich sind:
sudo dnf install -y curl wget vim git unzip socat bash-completion
Schritt 1 – Installieren Sie PHP und notwendige PHP-Erweiterungen
Installieren Sie PHP sowie die erforderlichen PHP-Erweiterungen:
sudo dnf install -y php-cli php-fpm php-common php-curl php-zip php-mbstring php-json
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.3.6 (cli) (built: May 28 2019 09:32:59) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.3.6, Copyright (c) 1998-2018 Zend Technologies
Starten und aktivieren Sie den PHP-FPM-Dienst:
sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service
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.2
Holen Sie sich RSA 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 werden /etc/letsencrypt
verwenden Verzeichnis.
mkdir -p /etc/letsecnrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc
Installieren/kopieren Sie Zertifikate in das Verzeichnis /etc/letsencrypt.
# 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 dnf install -y nginx
Überprüfen Sie die NGINX-Version:
nginx -v
# nginx version: nginx/1.16.0
Starten und aktivieren Sie den NGINX-Dienst:
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
Als nächstes konfigurieren Sie NGINX für WonderCMS. Führen Sie sudo vim /etc/nginx/conf.d/wondercms.conf
aus und fügen Sie die folgende Konfiguration hinzu:
server {
listen 80;
listen 443 ssl;
ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com/private.key;
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.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 default.d/php.conf;
fastcgi_pass unix:/run/php-fpm/www.sock;
}
}
Ü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 [your_username]
:
sudo chown -R [your_username]:[your_username] /var/www/wondercms
Ersetzen Sie [your_username] with the username that you are logged into the server.
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 Dokumentstammverzeichnis.
mv wondercms/* .
mv wondercms/.* .
rmdir wondercms
Ändern Sie den Besitz von /var/www/wondercms
Verzeichnis nach nginx:
sudo chown -R nginx:nginx /var/www/wondercms
Führen Sie sudo vim /etc/php-fpm.d/www.conf
aus und setzen Sie Benutzer und Gruppe auf nginx
. Anfänglich ist es auf Benutzer und Gruppe apache:
eingestellt
sudo vim /etc/php-fpm.d/www.conf
# user = nginx
# group = nginx
Erstellen Sie /var/lib/php/session/
Verzeichnis und ändern Sie den Besitz zu nginx:
sudo mkdir -p /var/lib/php/session/ && sudo chown -R nginx:nginx /var/lib/php/session/
Starten Sie den PHP-FPM-Dienst neu.
sudo systemctl restart php-fpm.service
Ö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