GNU/Linux >> LINUX-Kenntnisse >  >> Debian

So installieren Sie WonderCMS mit Nginx auf Debian 11 Bullseye

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

Debian
  1. So installieren Sie Phorum mit Nginx unter Debian 9

  2. So installieren Sie den HTTP-Git-Server mit Nginx unter Debian 11

  3. So installieren Sie den Ghost unter Debian mit Nginx

  4. So installieren Sie DokuWiki auf Debian Wheezy mit Nginx

  5. So installieren Sie FuelPHP mit Nginx auf einem Debian 8 VPS

So installieren Sie WordPress mit LEMP Stack auf Debian 11 Bullseye

So installieren Sie phpBB mit LEMP (Nginx, MariaDB und PHP) unter Debian 11 Bullseye

So installieren Sie Nginx mit Let’s Encrypt TLS/SSL unter Debian 11 Bullseye

So installieren Sie phpMyAdmin mit Nginx unter Debian 11

So installieren Sie Nginx mit PHP-FPM unter Debian 11

So installieren Sie Debian 11 Bullseye {Leitfaden mit Screenshots}