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

Installieren Sie WordPress mit Nginx auf Debian 10/11

Übersicht

Der folgende Beitrag zeigt die Schritte zur Installation von WordPress mit Nginx auf Debian 10 und auch auf Debian 11. Auf einem einzelnen Debian-Server werden wir den LEMP-Stack (Nginx, PHP und MariaDB) installieren und konfigurieren und am Ende WordPress installieren und ausführen. Mit anderen Worten, unser einzelner Debian-Server wird den Nginx-Webserver, den MariaDB-Server und WordPress insgesamt ausführen.

WordPress kann auch auf mehreren separaten Servern (separater Webserver und separater Datenbankserver) eingerichtet und ausgeführt werden. Wenn Sie eine solche Einrichtung (mit einer entfernten Datenbank) benötigen, können Sie in diesem Beitrag nachlesen, wie Sie sie einrichten. Eine andere Methode zum Installieren und Ausführen von WordPress ist Docker, das in diesem Beitrag behandelt wird.

Installieren Sie notwendige Bibliotheken und Pakete

sudo apt install nginx php-cli php-fpm php-mysql php-json php-opcache php-mbstring php-xml php-gd php-curl mariadb-server

Sobald die Installation abgeschlossen ist, starten Sie Nginx und MariaDB, wenn sie nicht ausgeführt werden, und aktivieren Sie sie für den automatischen Start beim Booten.

sudo systemctl start nginx.service

sudo systemctl enable nginx.service

sudo systemctl start mariadb.service

sydo systemctl enable mariadb.service

Datenbank konfigurieren

Starten und konfigurieren Sie den Mariadb-Server mit einer Datenbank, Benutzer- und Gewährungsberechtigungen.

Davor empfiehlt es sich, zunächst die sichere Installation durchzuführen:

sudo mysq_secure_installation

Wenn Sie zur Änderung des Root-Passworts aufgefordert werden, können Sie es überspringen, aber das hängt davon ab, ob Sie das Root-Passwort ändern müssen oder nicht. Mit den restlichen Fragen können Sie fortfahren und mit der Option Ja fortfahren. Ähnlich wie im Bild unten:

Greifen Sie dann auf den Datenbankserver zu und erstellen Sie die Datenbank, einen Benutzer und legen Sie Berechtigungen fest

sudo mysql -u root -p


CREATE DATABASE sampledbwp;


GRANT ALL ON sampledbwp.* TO 'sample-admin'@'localhost' IDENTIFIED BY 'SamplePassword1';


quit

Mit diesen Befehlen haben wir die Datenbank – sampledbwp – erstellt, den Benutzer sample-admin auf localhost erstellt und alle Berechtigungen zum Lesen und Schreiben der gerade erstellten Datenbank erteilt.

WordPress installieren und konfigurieren

Navigieren Sie zum folgenden Verzeichnis und laden Sie die WordPress-Installation herunter und extrahieren Sie sie:

cd /var/www/html/

sudo wget https://wordpress.org/latest.tar.gz

sudo tar -xzfv latest.tar.gz

Wechseln Sie in das WordPress-Verzeichnis und benennen Sie die Datei wp-config-sample.php in wp-config.php

um
cd wordpress

mv wp-config-sample.php wp-config.php

Jetzt werden wir die WordPress-Konfigurationsdatei bearbeiten:

sudo nano wp-config.php

In der Konfigurationsdatei müssen wir den Datenbankbenutzer, den Datenbanknamen und das Passwort hinzufügen, das wir auf dem MariaDB-Server erstellt haben, und Salzschlüssel von – https://api.wordpress.org/secret-key/1.1/salt/ hinzufügen. Siehe Beispielbild unten:

Speichern und beenden.

Stellen Sie die richtigen Berechtigungen für die WordPress-Installation ein, um über das Internet zugänglich zu sein:

sudo chown -R www-data:www-data /var/www/html/wordpress

sudo chmod -R 755 /var/www/html/wordpress

Nginx konfigurieren

Fahren Sie mit der Konfiguration des nginx-Webservers fort. Der erste Schritt besteht darin, die Konfigurationsdatei für unsere WordPress-Website zu erstellen. Führen Sie den folgenden Befehl aus, um den Texteditor zu starten:

sudo nano /etc/nginx/sites-available/wordpress.conf

Nachfolgend finden Sie die Beispielkonfiguration:

server {
        listen 80;
        listen [::]:80;
        root /var/www/html/wordpress;
        index  index.php index.html index.htm;
        server_name mysite.com www.mysite.com;

        error_log /var/log/nginx/mysite.com_error.log;
        access_log /var/log/nginx/mysite.com_access.log;
        
        client_max_body_size 100M;
        location / {
                try_files $uri $uri/ /index.php?$args;
        }
        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/run/php/php7.3-fpm.sock;
                fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
        }
}

Speichern und beenden.

Hinweis – Überprüfen und bestätigen Sie das Stammverzeichnis Ihrer WordPress-Installation und die php-fpm-Version, die auf Ihrem Server ausgeführt wird. Diese müssen in der Konfigurationsdatei übereinstimmen.

Am Ende sollte es etwa so aussehen:

Die Standardkonfiguration verbleibt weiterhin in Nginx und ist aktiv. Bis zum Entfernen findet Ihre Konfiguration nicht statt, was bedeutet, dass Ihre WordPress-Website nicht erreichbar ist, daher müssen wir die Standardkonfiguration entfernen:

sudo rm /etc/nginx/sites-available/default

sudo rm /etc/nginx/sites-enabled/default

Erstellen Sie den Symlink für unsere neue Nginx-Wordpress-Konfiguration:

sudo ln -s /etc/nginx/sites-available/wordpress.conf /etc/nginx/sites-enabled/

Überprüfen Sie danach die Konfiguration mit:

sudo nginx -t

und starten Sie Nginx neu

sudo systemctl restart nginx

Testen Sie, ob WordPress im Browser aktiv ist, indem Sie entweder mit der Server-IP-Adresse oder mit der URL (wenn Sie den Domainnamen zugewiesen haben) darauf zugreifen und die Installation abschließen:

Und das ist alles. Sie haben jetzt eine WordPress-Website am Laufen.

Einige Vorschläge und Sicherheitstipps

Hier möchte ich auf einige Vorschläge für eine sicherere WordPress-Installation und deren Wartung hinweisen.

  • Der erste Vorschlag ist, die Datei xmlrpc.php zu löschen

Diese Datei ist kein entscheidender Punkt von WordPress und WordPress kann problemlos ohne diese Datei funktionieren. Die Xmlrpc-Datei wurde in den frühen Stadien von WordPress als Dienst verwendet, wo Blog-Clients sich über xmlrpc mit WordPress verbinden, um (kurz) neue Inhalte zu veröffentlichen. Diese Datei ist jetzt eine Ursache für viele und verschiedene böswillige Angriffe (DDoS, Brute Force usw.).

In diesem Beispiel können wir diese Datei mit dem Befehl löschen:

sudo rm /var/www/html/wordpress/xmlrpc.php

Eine Anmerkung auch – mit jedem Update/Upgrade von WordPress wird diese Datei wieder angezeigt, daher ist es notwendig, jedes Mal, wenn WordPress aktualisiert wird, erneut zu handeln.

  • Lösche wp-config-sample.php

In diesem Beitrag haben wir diese Datei in die wp-config.php umbenannt. Wir sind auf diese Weise vorgegangen, da wir die Datenbankanmeldeinformationen für WordPress manuell hinzugefügt haben, um eine Verbindung zum Datenbankserver herzustellen, und auch die Salt-Schlüssel hinzugefügt haben. Diese Datei taucht auch bei jedem WordPress-Update/Upgrade wieder auf und es wird empfohlen, sie zu löschen, da sie vielen böswilligen Angriffen ausgesetzt ist, die dazu führen können, dass Ihre Website heruntergefahren wird.

  • Wp-Login-URL ausblenden und 2FA-Login hinzufügen

Es wird dringend empfohlen, die Standard-URL-Anmeldung zu ändern, um Brute-Force-Angriffe zu verhindern, und eine Anmeldung mit Zwei-Faktor-Authentifizierung hinzuzufügen. Sie können dies ganz einfach mit Plugins wie – WPS Hide Login und miniOrange 2-Factor tun. Auch WordPress hat jetzt standardmäßig seinen 2FA-Login.

  • Firewall-Plug-in hinzufügen und kein Konto mit dem Benutzernamen admin verwenden

Eines der ersten Plug-ins, dessen Installation dringend empfohlen wird, ist ein Firewall-Plug-in wie Wordfence oder Sucuri

Zusammenfassung

Wir haben die Schritte zur Installation von WordPress mit Nginx auf Debian 10 und auch auf Debian 11 behandelt. Dieses Szenario, in dem WordPress mit seiner Datenbank auf einem einzelnen Servercomputer bereitgestellt wird, ist eine gute Option, wenn Sie jetzt auch anfangen und keine haben zusätzliches Budget für die Infrastruktur oder wenn Sie ein Anfänger sind, der WordPress zum ersten Mal auf einem Cloud-/dedizierten/VM-/VPS-Hosting oder nur zu Testzwecken ausprobiert.

Aber ein Nachteil, den es im Laufe der Zeit verursachen kann, ist, wenn Sie dieses Szenario immer noch in der Produktion haben, kann es ziemlich schwierig werden, den Server zu warten, wenn Upgrades angewendet werden müssen, da es zu Ausfallzeiten kommen kann. Aus diesem Grund ist es üblich, mindestens zwei Server zu haben und die WordPress-Installation zu trennen, indem auf einem Server nur der Webserver (Nginx oder Apache) und die WordPress-Installation und auf dem anderen der Datenbankserver (MariaDB, MySQL) liegen. Den Einrichtungsprozess für diese Art von Umgebung können Sie sich in diesem Beitrag ansehen.

Vielen Dank für Ihre Zeit…


Debian
  1. So installieren Sie Nginx unter Debian 8 (Jessie)

  2. So installieren Sie Nginx unter Debian 9 (Stretch)

  3. So installieren Sie Webmin unter Debian 10/11

  4. Installieren Sie Plone mit Nginx auf einem Debian 8 VPS

  5. So installieren Sie WordPress mit Nginx unter Debian 10

So installieren Sie das neueste PHP 8.1 unter Debian 11/10

So installieren Sie den SVN-Server unter Debian 11/10

So installieren Sie Nginx mit PHP-FPM unter Debian 10

So installieren Sie WordPress mit LEMP Stack auf Debian 11 Bullseye

So installieren Sie WordPress mit LAMP Stack auf Debian 11 Bullseye

So installieren Sie phpMyAdmin mit Nginx unter Debian 11