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 werden wir die WonderCMS-Installation und -Einrichtung auf dem CentOS 7-System durch die Verwendung von Nginx als Webserver durchgehen, 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
- Betriebssystem CentOS 7.
- Ein Nicht-Root-Benutzer mit
sudo
Privilegien.
Erste Schritte
Überprüfen Sie Ihre CentOS-Version:
cat /etc/centos-release
# CentOS Linux release 7.6.1810 (Core)
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 yum update -y
Installieren Sie einige wichtige Pakete, die für die grundlegende Verwaltung des CentOS-Betriebssystems erforderlich sind:
sudo yum install -y curl wget vim git unzip socat bash-completion epel-release
Schritt 1 – Installieren Sie PHP und notwendige PHP-Erweiterungen
Richten Sie das Webtatic YUM-Repo ein:
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
Installieren Sie PHP sowie die erforderlichen PHP-Erweiterungen:
sudo yum install -y php72w php72w-cli php72w-fpm php72w-common php72w-curl php72w-zip php72w-mbstring php72w-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
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.0
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 yum install -y nginx
Überprüfen Sie die NGINX-Version:
nginx -v
# nginx version: nginx/1.12.2
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;
server_name example.com;
root /var/www/wondercms;
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;
index index.php;
location / {
if (!-e $request_filename) {
rewrite ^/(.+)$ /index.php?page=$1 last;
}
}
location ~ database.js {
return 403;
}
location ~ \.php(/|$) {
try_files $uri =404;
fastcgi_pass http://127.0.0.1:9000;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
Ü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 nach [jour_username]. The string [
jour_username] must be replaced with the name of the Linux user that you are currently logged in.
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 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
.
sudo vim /etc/php-fpm.d/www.conf
user = nginx
group = nginx
Entfernen Sie das # vor der Benutzer- und Gruppenzeile, falls ein # davor steht.
Starten Sie dann 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