WonderCMS ist ein schnelles und unkompliziertes Content-Management-System, das keine Datenbank zum Erstellen von Websites benötigt. Es bietet reichhaltige Funktionen wie benutzerdefinierte Anmelde-URL, SEO-freundliches Design mit WYSIWYG-Elementen zum Bearbeiten Ihrer Website in Klartext- oder HTML-Code-Formaten; Flexibles CSS-Framework, damit Sie das Aussehen einzelner Seiten ändern können, ohne andere Teile der Webseite zu beeinflussen, einschließlich Überschriften/Schriftgrößen usw. Zusammen mit nativer Markdown-Unterstützung, die Benutzern einfache Möglichkeiten bietet, Artikel online nur mit Absätzen zu veröffentlichen.
Im folgenden Tutorial erfahren Sie, wie Sie WonderCMS mit Nginx und PHP installieren, aktuelle Repositories importieren oder die Standardversion verwenden und wie Sie einen Serverblock erstellen und ihn über das Befehlszeilenterminal einrichten Debian 11 Bullseye Desktop oder Server.
Installieren Sie Nginx
Um die Installation zu starten, müssen Sie Nginx installieren Webserver. Eine Methode besteht darin, die neueste Nginx Mainline oder Stable aus dem Ondřej Surý-Repository zu installieren, um über die aktuellste Software zu verfügen. Viele Ubuntu-Benutzer kennen sein PPA, und Sie können dasselbe in Debian tun.
Für Benutzer, die nur die Debian-Standard-APT-Version von Nginx verwenden möchten, verwenden Sie den folgenden Befehl unten oder überspringen und importieren Sie die neueste NGINX-Mainline oder Stable.
Installieren Sie Nginx – Debian 11 Repository
sudo apt install nginx nginx-full
Um die neueste Version von Nginx Mainline oder Stable zu verwenden, müssen Sie zuerst das Repository importieren.
NUR EIN REPOSITORY importieren!
Option 1 – Mainline-Repository importieren:
curl -sSL https://packages.sury.org/nginx-mainline/README.txt | sudo bash -x
Option 2 – Stabiles Repository importieren:
curl -sSL https://packages.sury.org/nginx/README.txt | sudo bash -x
Aktualisieren Sie Ihr Repository, um die neue Änderung widerzuspiegeln:
sudo apt update
Nachdem Sie nun das Nginx-Repository installiert haben und die Repository-Liste aktualisiert haben, installieren Sie Nginx wie folgt:
sudo apt install nginx-core nginx-common nginx nginx-full -y
Beachten Sie, dass Sie möglicherweise aufgefordert werden, Ihre vorhandene /etc/nginx/nginx.conf
beizubehalten oder zu ersetzen Konfigurationsdatei während der Installation. Es wird empfohlen, Ihre aktuelle Konfigurationsdatei beizubehalten, indem Sie (n)
drücken .
Bei der Installation von Nginx mit dem benutzerdefinierten Repository werden zusätzliche Module kompiliert. Eines der am häufigsten nachgefragten und empfohlenen Module zur Aktivierung ist das Brotli-Modul.
Um brotli zu installieren , öffnen Sie Ihre nginx.conf
Konfigurationsdatei:
nano /etc/nginx/nginx.conf
Fügen Sie nun die zusätzlichen Zeilen zuvor im HTTP{} hinzu Abschnitt:
brotli on;
brotli_comp_level 6;
brotli_static on;
brotli_types application/atom+xml application/javascript application/json application/rss+xml
application/vnd.ms-fontobject application/x-font-opentype application/x-font-truetype
application/x-font-ttf application/x-javascript application/xhtml+xml application/xml
font/eot font/opentype font/otf font/truetype image/svg+xml image/vnd.microsoft.icon
image/x-icon image/x-win-bitmap text/css text/javascript text/plain text/xml;
Das brotli_comp_level kann zwischen 1 (niedrigste) eingestellt werden und 11 (höchste) . Normalerweise sitzen die meisten Server in der Mitte, aber wenn Ihr Server ein Monster ist, stellen Sie ihn auf 11 und überwachen Sie die CPU-Auslastung.
Testen Sie als Nächstes, ob die Änderungen richtig funktionieren, bevor Sie sie live schalten:
sudo nginx -t
Wenn die Änderungen korrekt funktionieren, sollten Sie Folgendes sehen:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Machen Sie die Änderungen jetzt live, indem Sie Ihren Server neu starten:
sudo systemctl restart nginx
Als nächstes aktivieren Sie Nginx beim Systemstart:
sudo systemctl enable nginx --now
Installieren Sie PHP und PHP-FPM
Wir installieren jetzt PHP, das der Backend-Kommunikator oder der Mittelsmann ist. PHP 8.0 wird relativ stabil und die neueren Versionen von PHP 8.1 sind jetzt verfügbar.
Das Tutorial konzentriert sich auf den Import der neuesten PHP-Version von Ondřej Surý, dem Betreuer für Debian PHP. Dies ist immer aktuell, auch wenn neue PHP-Versionen fallengelassen werden.
Ondřej Surý PHP-Repository importieren
Der erste Schritt besteht darin, das GPG und das Repository zu importieren und zu installieren.
Verwenden Sie in Ihrem Terminal den folgenden Befehl.
curl -sSL https://packages.sury.org/php/README.txt | sudo bash -x
Dieser Befehl installiert das PHP-Repository und aktualisiert Ihr APT-Repository.
Aktualisieren Sie als Nächstes die Repository-Liste, da für das neue Repository einige vorhandene Pakete aktualisiert werden müssen und dies vor der Installation von PHP-Versionen empfohlen wird.
sudo apt upgrade
Option 1. Installieren Sie PHP 7.4
Die Standardeinstellung vieler CMS-Mindestversionen von PHP ist die Installation von PHP 7.4. Obwohl dies als unglaublich stabil angesehen wird, sollten Sie idealerweise PHP 8.0 installieren, wenn dies für Leistungs- und Sicherheitsvorteile möglich ist.
Führen Sie in Ihrem Terminal den folgenden Befehl aus.
sudo apt install php7.4 php7.4-fpm php7.4-mbstring php7.4-curl php7.4-zip
Als nächstes starten und aktivieren Sie PHP 7.4-FPM, damit es beim Booten automatisch gestartet wird.
sudo systemctl enable php7.4-fpm --now
Option 2. Installieren Sie PHP 8.0
Die meisten Benutzer sollten PHP 8.0 für ihre Webanwendungen installieren, wobei 7.4 als alt stabil gilt, ähnlich wie 7.4 in Ihrem Terminal; Führen Sie den folgenden Befehl aus.
sudo apt install php8.0 php8.0-fpm php8.0-mbstring php8.0-curl php8.0-zip
Als nächstes starten und aktivieren Sie PHP 8.0-FPM, damit es beim Booten automatisch gestartet wird.
sudo systemctl enable php8.0-fpm --now
Option 3. Installieren Sie PHP 8.1
Die dritte Option ist die Installation von PHP 8.1, der neuesten Version zum Zeitpunkt dieses Tutorials. Führen Sie ähnlich wie bei 8.0 und 7.4 den folgenden Befehl aus, um PHP 8.1 für WonderCMS zu installieren.
sudo apt install php8.1 php8.1-fpm php8.1-mbstring php8.1-curl php8.1-zip
Als nächstes starten und aktivieren Sie PHP 8.1-FPM, damit es beim Booten automatisch gestartet wird.
sudo systemctl enable php8.1-fpm --now
WunderCMS installieren
WonderCMS herunterladen
Das Wichtigste zuerst, laden Sie das WonderCMS-Archivpaket herunter, indem Sie die offizielle Download-Seite besuchen um den neuesten Link abzurufen und mit Ihrem Terminalbefehl entweder mit wget
herunterzuladen oder curl
Befehl.
Beispiel:
wget https://github.com/robiso/wondercms/releases/download/3.3.1/wondercms-331.zip
Ordnerstruktur für WonderCMS erstellen
Jetzt haben Sie das Archiv heruntergeladen, entpacken Sie es und verschieben Sie es in Ihr www-Verzeichnis.
Erstellen Sie das Verzeichnis für WonderCMS:
sudo mkdir -p /var/www/wondercms
Entpacken Sie WonderCMS in das www-Verzeichnis:
sudo unzip wondercms*.zip -d /var/www/
Sie müssen die Verzeichniseigentümerberechtigungen auf WWW, setzen andernfalls haben Sie Probleme mit WonderCMS-Schreibberechtigungen.
Chown-Erlaubnis setzen (wichtig):
sudo chown -R www-data:www-data /var/www/wondercms/
Chmod-Berechtigung setzen (wichtig):
sudo find /var/www/wondercms -type d -exec chmod 755 {} \;
sudo find /var/www/wondercms -type f -exec chmod 644 {} \;
Nginx-Server-Blockkonfiguration erstellen
Die nächste Stufe besteht darin, den Serverblock für WonderCMS für neue Benutzer von Nginx zu erstellen; Dies ist die Website-Konfigurationsdatei für die Webanwendung am Back-End, das gleiche wie der virtuelle Host für Benutzer, die von Webanwendungen vom Apache-Typ migrieren.
Erstellen Sie zuerst einen Serverblock mit dem folgenden Befehl, stellen Sie sicher, dass Sie example.com ersetzen mit Ihrem Domainnamen oder Namen Ihrer Wahl.
sudo nano /etc/nginx/sites-available/example.com.conf
Unten ist ein Beispiel; Sie können die Teile auswählen; jedoch die „location ~ \.php$“ muss in der Nginx-Konfigurationsdatei enthalten sein.
HINWEIS:Achten Sie darauf, www.example.com und example.com sowie den Stammpfad zu ändern.
server {
listen 80;
# adapt to your server name
server_name www.wonder-example.com;
# adapt the path
root /var/www/wondercms;
index index.php;
# prevent directory listing
autoindex off;
# rewrite url to make it pretty
location / {
try_files $uri $uri/ @rewrite;
}
location @rewrite {
rewrite ^/(.+)$ /index.php?page=$1 last;
}
# prevent access to database.js
location ~ database.js {
return 403;
}
location ~ cache.json {
return 403;
}
# use php-fpm for dealing with php files
location ~ \.php$ {
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
include snippets/fastcgi-php.conf;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 128k;
fastcgi_intercept_errors on;
}
}
Beachten Sie, wenn Sie PHP 8.xx Suchen und ersetzen Sie die obige Zeile “fastcgi_pass unix:/run/php/php7.4-fpm.sock;” zu "fastcgi_pass unix:/run/php/php8.0-fpm.sock;"
für 8.0 oder "fastcgi_pass unix:/run/php/php8.1-fpm.sock;"
für 8.1.
Als Nächstes müssen Sie die Nginx-Konfigurationsdatei unter „sites-available“ aktivieren . Dazu erstellen Sie einen Symlink zu „sites-enabled“ wie folgt.
sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/
Achten Sie darauf, "example.conf"
zu ersetzen es mit Ihrem Konfigurationsdateinamen.
Sie können jetzt einen Probelauf durchführen und dann Ihren Nginx-Server neu starten, wenn alles in Ordnung ist.
sudo nginx -t
Nachdem Sie überprüft haben und alles mit Ihrem Nginx-Probelauftest in Ordnung ist, starten Sie den Nginx-Dienst neu.
sudo systemctl restart nginx
PHP.ini-Konfiguration
Bevor Sie mit dem Installationsteil der Web-Benutzeroberfläche fortfahren, sollten Sie Ihr PHP für die optimale Verwendung mit WonderCMS anpassen. Diese Einstellungen sind eher eine Richtlinie, und Sie können sie nach Belieben verringern.
Rufen Sie zuerst Ihre php.ini auf. Beachten Sie, dass Ihr Standort je nach Ihrer PHP-Versionsnummer unterschiedlich sein kann.
sudo nano /etc/php/{version}/fpm/php.ini
Als nächstes können Sie idealerweise Ihr CMS weiter verbessern, indem Sie einige der folgenden Einstellungen anpassen. Beachten Sie, dass Sie nicht viel tun werden, wenn Sie sich auf einer ressourcenarmen 1VCPU, 1GB befinden. Die folgenden Einstellungen sind jedoch nur ein Leitfaden, recherchieren Sie oder verwenden Sie diese und basteln Sie herum.
##increase upload max size recommend 50 to 100mb example only##
upload_max_filesize = 100MB
##increase post max size recommend 50 to 100mb example only##
post_max_size = 100MB
## increase max execution time recommend 120 to 300##
max_execution_time = 120
## increase GET/POST/COOKIE input variables recommend 5000 to 10000##
max_input_vars = 5000
## increase memory limit recommend 256mb or 512mb##
memory_limit = 256M
Starten Sie nun Ihren PHP-FPM-Server neu.
sudo systemctl restart php{version}-fpm
Die von Ihnen angepassten PHP-Einstellungen gelten für das PHP-Backend. Sie müssen auch den Nginx-Serverblock ändern, um große Körpergrößen zuzulassen. Öffnen Sie dazu Ihren Serverblock erneut und fügen Sie die folgende Zeile hinzu.
Öffnen Sie Ihren Serverblock.
sudo nano /etc/nginx/sites-available/example.com
Passen Sie diese Linie an, um die Körpergröße zu erhöhen.
client_max_body_size 100M;
Denken Sie daran, die maximale Größe des Clients genauso zu halten wie Ihre PHP-Dateieinstellung .
Testen Sie als Nächstes die Änderungen und starten Sie dann Ihren Nginx-Server neu, wenn alles in Ordnung ist.
sudo nginx -t
Nachdem Sie überprüft haben und alles mit Ihrem Nginx-Probelauftest in Ordnung ist, starten Sie den Nginx-Dienst neu.
sudo systemctl restart nginx
Installieren Sie WonderCMS WebUI
Jetzt, da alle Back-End-Einrichtungen und -Konfigurationen abgeschlossen sind, können Sie zu Ihrer Domain gehen und mit der Installation beginnen.
##go to installation address##
https://www.yoursite.com
Die erste Seite, die Sie sehen, ist ein temporäres Passwort und die Anmeldeschaltfläche.
Klicken Sie auf Anmelden, um fortzufahren.
Beispiel:
Geben Sie Ihr Passwort ein um weiterhin das Passwort zu verwenden, das auf der Anmeldeseite „Willkommen auf Ihrer Website“ verfügbar ist. Wenn Sie vergessen oder nicht kopiert haben, klicken Sie auf Zurück und erneut kopieren, und melden Sie sich dann erneut an.
Beispiel:
Sobald Sie angemeldet sind, werden Sie auf Ihre CMS-Seite stoßen, die wie die ursprüngliche Anmeldeseite aussieht, lassen Sie sich nicht täuschen; Dies ist eine Open-Edit-Seite. Oben sehen Sie Einstellungen ändern, und dies wird dringend empfohlen, um Ihre Website weiter zu sichern.
Beispiel (Zum Vergrößern Bild anklicken) :
Sobald Sie die Einstellungsseite geöffnet haben, können Sie von hier aus die Sicherheitseinstellungen der Plugins anpassen und so ziemlich damit beginnen, das Backend Ihrer Website anzupassen, bevor Sie den WonderCMS-Seiteneditor aufrufen.
Beispiel (Zum Vergrößern Bild anklicken) :
Herzlichen Glückwunsch, Sie haben die neueste Version von WonderCMS mit Nginx und PHP erfolgreich installiert.
Nginx mit Let’s Encrypt SSL Free Certificate sichern
Idealerweise möchten Sie Ihr Nginx auf HTTPS mit einem SSL-Zertifikat ausführen . Verwenden Sie dazu am besten Let’s Encrypt eine kostenlose, automatisierte und offene Zertifizierungsstelle, die von der gemeinnützigen Internet Security Research Group (ISRG) betrieben wird .
Installieren Sie zuerst das certbot-Paket wie folgt:
sudo apt install python3-certbot-nginx -y
Führen Sie nach der Installation den folgenden Befehl aus, um die Erstellung Ihres Zertifikats zu starten:
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d www.example.com
Dieses ideale Setup umfasst erzwungene HTTPS-301-Umleitungen, einen Strict-Transport-Security-Header und OCSP-Stapling. Passen Sie einfach E-Mail und Domainnamen an Ihre Anforderungen an.
Jetzt lautet Ihre URL HTTPS://www.example.com statt HTTP://www.example.com .
Wenn Sie die alte HTTP-URL verwenden , wird automatisch auf HTTPS umgeleitet .
Optional können Sie einen Cron-Job einrichten, um die Zertifikate automatisch zu erneuern. Certbot bietet ein Skript an, das dies automatisch durchführt, und Sie können zunächst testen, ob alles funktioniert, indem Sie einen Probelauf durchführen.
sudo certbot renew --dry-run
Wenn alles funktioniert, öffnen Sie Ihr Crontab-Fenster mit dem folgenden Terminalbefehl.
sudo crontab -e
Als Nächstes geben Sie bitte die Zeit an, zu der es automatisch verlängert werden soll. Dies sollte mindestens täglich überprüft werden, und wenn das Zertifikat erneuert werden muss, aktualisiert das Skript das Zertifikat nicht. Wenn Sie Hilfe benötigen, um einen guten Zeitpunkt zum Einstellen zu finden, verwenden Sie crontab.guru kostenloses Tool.
00 00 */1 * * /usr/sbin/certbot-auto renew