Wie installiere ich WordPress mit LEMP (Nginx, MariaDB und PHP) auf Debian 10?

Einführung

WordPress ist das beliebteste CMS (Content Management System) im Internet. Sie können auf einfache Weise flexible Blogs und Websites über ein MySQL-basiertes Backend mit PHP-Verarbeitung einrichten. WordPress hat eine unglaubliche Akzeptanz erfahren und ist eine großartige Wahl, um eine Website schnell zum Laufen zu bringen. Nach dem Setup kann fast die gesamte Administration über das Web-Frontend erfolgen.

In diesem Handbuch konzentrieren wir uns darauf, eine WordPress-Instanz auf einem LEMP-Stapel (Linux, Nginx, MariaDB und PHP) auf einem Debian 10-Server einzurichten.

Voraussetzungen

Um dieses Tutorial abzuschließen, benötigen Sie Zugriff auf einen Debian 10-Server.

Sie müssen die folgenden Aufgaben ausführen, bevor Sie dieses Handbuch starten können:

  • * Erstellen Sie einen "+ sudo " - Benutzer auf Ihrem Server *: Wir werden die Schritte in diesem Handbuch unter Verwendung eines Nicht-Root-Benutzers mit " sudo " - Berechtigungen ausführen. Sie können einen Benutzer mit " sudo +" - Berechtigungen erstellen, indem Sie unserem Debian 10 - Handbuch zur Ersteinrichtung des Servers folgen.

  • * Installiere einen LEMP-Stack *: WordPress benötigt einen Webserver, eine Datenbank und PHP, um korrekt zu funktionieren. Das Einrichten eines LEMP-Stacks (Linux, Nginx, MariaDB und PHP) erfüllt alle diese Anforderungen. Folgen Sie this guide, um diese Software zu installieren und zu konfigurieren.

  • * Sichern Sie Ihre Site mit SSL *: WordPress stellt dynamische Inhalte bereit und verwaltet die Benutzerauthentifizierung und -autorisierung. TLS / SSL ist die Technologie, mit der Sie den Datenverkehr von Ihrer Site verschlüsseln können, damit Ihre Verbindung sicher ist. In diesem Tutorial wird davon ausgegangen, dass Sie einen Domainnamen für Ihr Blog haben. Sie können Let’s Encrypt verwenden, um ein kostenloses SSL-Zertifikat für Ihre Domain zu erhalten. Folgen Sie unserer Let’s Encrypt guide for Nginx, um dies einzurichten.

Wenn Sie mit den Installationsschritten fertig sind, melden Sie sich bei Ihrem Server als "+ sudo +" - Benutzer an und fahren Sie unten fort.

Schritt 1 - Erstellen einer Datenbank und eines Benutzers für WordPress

WordPress benötigt eine MySQL-basierte Datenbank zum Speichern und Verwalten von Site- und Benutzerinformationen. Unser Setup verwendet MariaDB, eine Community-Verzweigung des ursprünglichen MySQL-Projekts von Oracle. MariaDB ist derzeit der Standard-MySQL-kompatible Datenbankserver, der in debian-basierten Paketmanager-Repositories verfügbar ist.

Melden Sie sich zunächst beim MariaDB-Root-Konto (Administratorkonto) an. Wenn MariaDB für die Verwendung des Authentifizierungs-Plugins "+ auth_socket " konfiguriert ist (Standardeinstellung), können Sie sich mit " sudo +" beim MariaDB-Administratorkonto anmelden:

sudo mariadb

Wenn Sie die Authentifizierungsmethode geändert haben, um ein Kennwort für das MariaDB-Stammkonto zu verwenden, verwenden Sie stattdessen das folgende Format:

mariadb -u root -p

Sie werden aufgefordert, das Kennwort einzugeben, das Sie für das MariaDB-Root-Konto festgelegt haben.

Erstens können wir eine separate Datenbank erstellen, die WordPress steuern kann. Sie können dies benennen, was Sie möchten, aber wir werden in diesem Handbuch "+ wordpress +" verwenden, um es einfach zu halten. Sie können die Datenbank für WordPress erstellen, indem Sie Folgendes eingeben:

CREATE DATABASE  DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Als Nächstes erstellen wir ein separates MariaDB-Benutzerkonto, das wir ausschließlich für die Bearbeitung unserer neuen Datenbank verwenden werden. Das Erstellen von Datenbanken und Konten mit nur einer Funktion ist aus Verwaltungs- und Sicherheitssicht eine gute Idee. In diesem Handbuch werden wir den Namen "+ wordpress_user +" verwenden. Sie können dies jederzeit ändern.

Mit dem folgenden Befehl wird dieses Konto erstellt, ein Kennwort festgelegt und der Zugriff auf die von uns erstellte Datenbank gewährt. Denken Sie daran, ein sicheres Passwort für Ihren Datenbankbenutzer zu wählen:

GRANT ALL ON .* TO ''@'localhost' IDENTIFIED BY '';

Sie haben jetzt eine Datenbank und ein Benutzerkonto, die jeweils speziell für WordPress erstellt wurden. Wir müssen die Berechtigungen löschen, damit die aktuelle Instanz des Datenbankservers über die letzten Änderungen informiert ist, die wir vorgenommen haben:

FLUSH PRIVILEGES;

Beenden Sie MariaDB, indem Sie Folgendes eingeben:

EXIT;

Die MariaDB-Sitzung wird beendet und Sie kehren zur regulären Linux-Shell zurück.

Schritt 2 - Zusätzliche PHP-Erweiterungen installieren

Beim Einrichten unseres LEMP-Stacks benötigten wir nur einen minimalen Satz an Erweiterungen, damit PHP mit MariaDB kommunizieren kann. WordPress und viele seiner Plugins nutzen zusätzliche PHP-Erweiterungen.

Wir können einige der beliebtesten PHP-Erweiterungen für die Verwendung mit WordPress herunterladen und installieren, indem wir Folgendes eingeben:

sudo apt update
sudo apt install php-curl php-gd php-intl php-mbstring php-soap php-xml php-xmlrpc php-zip

Wenn Sie mit der Installation der Erweiterungen fertig sind, starten Sie den PHP-FPM-Prozess neu, damit der laufende PHP-Prozessor die neu installierten Funktionen nutzen kann:

sudo systemctl restart php7.3-fpm.service

Wir haben jetzt alle notwendigen PHP-Erweiterungen auf dem Server installiert.

Schritt 3 - Konfigurieren von Nginx

Als nächstes werden wir ein paar kleinere Anpassungen an unseren Nginx-Server-Blockdateien vornehmen. Basierend auf den vorausgesetzten Lernprogrammen sollten Sie eine Konfigurationsdatei für Ihre Site im Verzeichnis "+ / etc / nginx / sites-available / " haben, die so konfiguriert ist, dass sie auf den Domainnamen Ihres Servers reagiert und durch ein TLS / SSL-Zertifikat geschützt ist. Wir verwenden hier " / etc / nginx / sites-available / +" als Beispiel, aber Sie sollten den Pfad zu Ihrer Konfigurationsdatei gegebenenfalls ersetzen.

Außerdem verwenden wir "+ / var / www / +" als Stammverzeichnis unserer WordPress-Installation. Sie sollten das in Ihrer eigenen Konfiguration angegebene Webstammverzeichnis verwenden.

Öffnen Sie die Nginx-Konfigurationsdatei Ihrer Site mit den Rechten "+ sudo +":

sudo nano /etc/nginx/sites-available/

Wir müssen ein paar "location" -Anweisungen in unseren "server" -Block einfügen. Nach dem Hinzufügen von SSL-Zertifikaten kann Ihre Konfiguration zwei "+ Server" -Blöcke haben. Wenn ja, suchen Sie diejenige, die "+ root / var / www / " und Ihre anderen " location +" - Anweisungen enthält, und implementieren Sie Ihre Änderungen dort.

Beginnen Sie, indem Sie genau passende Standortblöcke für Anforderungen an "+ / favicon.ico" und "+ / robots.txt" erstellen, für die wir beide keine Anforderungen protokollieren möchten.

Wir werden einen Speicherort für reguläre Ausdrücke verwenden, um alle Anforderungen für statische Dateien abzugleichen. Wir werden die Protokollierung für diese Anforderungen wieder deaktivieren und sie als hochgradig cachefähig markieren, da dies in der Regel teure Ressourcen sind. Sie können diese statische Dateiliste so anpassen, dass sie andere Dateierweiterungen enthält, die Ihre Site möglicherweise verwendet:

/ etc / nginx / sites-available / your_domain

server {
   . . .







   . . .
}

Innerhalb des existierenden + location / + Blocks müssen wir die + try_files + Liste so anpassen, dass anstatt eines 404-Fehlers als Standardoption die Steuerung mit der Anfrage an die + index.php + Datei übergeben wird Argumente.

Das sollte ungefähr so ​​aussehen:

/ etc / nginx / sites-available / wordpress

server {
   . . .
   location / {
       try_files $uri $uri/ =404;

   }
   . . .
}

Wenn Sie fertig sind, speichern und schließen Sie die Datei.

Jetzt können wir unsere Konfiguration auf Syntaxfehler überprüfen, indem wir Folgendes eingeben:

sudo nginx -t

Wenn keine Fehler gemeldet wurden, laden Sie Nginx neu, indem Sie Folgendes eingeben:

sudo systemctl reload nginx

Als nächstes werden wir WordPress selbst herunterladen und einrichten.

Schritt 4 - WordPress herunterladen

Nachdem unsere Serversoftware konfiguriert wurde, können wir WordPress herunterladen und einrichten. Insbesondere aus Sicherheitsgründen wird immer empfohlen, die neueste Version von WordPress von ihrer Website zu beziehen.

Wechseln Sie in ein beschreibbares Verzeichnis und laden Sie die komprimierte Version herunter, indem Sie Folgendes eingeben:

cd /tmp
curl -LO https://wordpress.org/latest.tar.gz

Extrahieren Sie die komprimierte Datei, um die WordPress-Verzeichnisstruktur zu erstellen:

tar xzvf latest.tar.gz

Wir werden diese Dateien vorübergehend in unser Dokumentenstammverzeichnis verschieben. Zuvor können wir die Beispielkonfigurationsdatei in den Dateinamen kopieren, den WordPress tatsächlich liest:

cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php

Jetzt können wir den gesamten Inhalt des Verzeichnisses in unser Dokumentenstammverzeichnis kopieren. Wir verwenden das Flag "+ -a +", um sicherzustellen, dass unsere Berechtigungen beibehalten werden. Wir verwenden einen Punkt am Ende unseres Quellverzeichnisses, um anzuzeigen, dass alles im Verzeichnis kopiert werden soll, einschließlich aller versteckten Dateien:

sudo cp -a /tmp/wordpress/. /var/www/

Nachdem unsere Dateien vorhanden sind, weisen wir sie dem Benutzer und der Gruppe "+ www-data +" zu. Dies ist der Benutzer und die Gruppe, unter denen Nginx ausgeführt wird. Nginx muss in der Lage sein, WordPress-Dateien zu lesen und zu schreiben, um die Website zu bedienen und automatische Updates durchzuführen.

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

Unsere Dateien befinden sich jetzt im Dokumentenstamm unseres Servers und haben den richtigen Besitz. Wir müssen jedoch noch einige weitere Konfigurationsschritte durchführen.

Schritt 5 - Einrichten der WordPress-Konfigurationsdatei

Als nächstes müssen wir ein paar Änderungen an der Haupt-WordPress-Konfigurationsdatei vornehmen.

Wenn wir die Datei öffnen, müssen wir zunächst die geheimen Schlüssel anpassen, um die Sicherheit unserer Installation zu gewährleisten. WordPress bietet einen sicheren Generator für diese Werte, damit Sie nicht versuchen müssen, selbst gute Werte zu finden. Diese werden nur intern verwendet, daher schadet es nicht der Benutzerfreundlichkeit, hier komplexe, sichere Werte zu haben.

Geben Sie Folgendes ein, um sichere Werte aus dem WordPress-Generator für geheime Schlüssel abzurufen:

curl -s https://api.wordpress.org/secret-key/1.1/salt/

Sie erhalten eindeutige Werte zurück, die ungefähr so ​​aussehen:

Outputdefine('AUTH_KEY',         '1jl/vqfs<XhdXoAPz9  c_j{iwqD^<+c9.k<J@4H');
define('SECURE_AUTH_KEY',  'E2N-h2]Dcvp+aS/p7X  {Ka(f;rv?Pxf})CgLi-3');
define('LOGGED_IN_KEY',    'W(50,{W^,OPB%PB<JF  2;y&,2m%3]R6DUth[;88');
define('NONCE_KEY',        'll,4UC)7ua+8<!4VM+  #`DXF+[$atzM7 o^-C7g');
define('AUTH_SALT',        'koMrurzOA+|L_lG}kf   07VC*Lj*lD&?3w!BT#-');
define('SECURE_AUTH_SALT', 'p32*p,]z%LZ+pAu:VY  C-?y+K0DK_+F|0h{!_xY');
define('LOGGED_IN_SALT',   'i^/G2W7!-1H2OQ+t$3  t6**bRVFSD[Hi])-qS`|');
define('NONCE_SALT',       'Q6]U:K?j4L%Z]}h^q7  1% ^qUswWgn+6&xqHN&%');

Dies sind Konfigurationszeilen, die wir direkt in unsere Konfigurationsdatei einfügen können, um sichere Schlüssel festzulegen. Kopieren Sie die Ausgabe, die Sie jetzt erhalten haben.

Öffnen Sie nun die WordPress-Konfigurationsdatei:

nano /var/www//wp-config.php

Suchen Sie den Abschnitt, der die Dummy-Werte für diese Einstellungen enthält. Es wird ungefähr so ​​aussehen:

/var/www/wordpress/wp-config.php

. . .

define('AUTH_KEY',         'put your unique phrase here');
define('SECURE_AUTH_KEY',  'put your unique phrase here');
define('LOGGED_IN_KEY',    'put your unique phrase here');
define('NONCE_KEY',        'put your unique phrase here');
define('AUTH_SALT',        'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT',   'put your unique phrase here');
define('NONCE_SALT',       'put your unique phrase here');

. . .

Löschen Sie diese Zeilen und fügen Sie die Werte ein, die Sie über die Befehlszeile kopiert haben:

/var/www/wordpress/wp-config.php

. . .

define('AUTH_KEY',         '');
define('SECURE_AUTH_KEY',  '');
define('LOGGED_IN_KEY',    '');
define('NONCE_KEY',        '');
define('AUTH_SALT',        '');
define('SECURE_AUTH_SALT', '');
define('LOGGED_IN_SALT',   '');
define('NONCE_SALT',       '');

. . .

Als nächstes müssen wir einige der Datenbankverbindungseinstellungen am Anfang der Datei ändern. Sie müssen den Datenbanknamen, den Datenbankbenutzer und das zugehörige Kennwort anpassen, das wir in MariaDB konfiguriert haben.

Die andere Änderung, die wir vornehmen müssen, besteht darin, die Methode festzulegen, die WordPress zum Schreiben in das Dateisystem verwenden soll. Da wir dem Webserver die Berechtigung erteilt haben, dort zu schreiben, wo er benötigt wird, können wir die Dateisystemmethode explizit auf "direct" setzen. Wenn dies nicht mit unseren aktuellen Einstellungen festgelegt wird, fordert WordPress bei einigen Aktionen zur Eingabe von FTP-Anmeldeinformationen auf. Diese Einstellung kann unterhalb der Datenbankverbindungseinstellungen oder an einer anderen Stelle in der Datei hinzugefügt werden:

/var/www/wordpress/wp-config.php

. . .

define('DB_NAME', '');

/** MySQL database username */
define('DB_USER', '');

/** MySQL database password */
define('DB_PASSWORD', '');

. . .

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Schritt 6 - Installation über das Webinterface abschließen

Nachdem die Serverkonfiguration abgeschlossen ist, können wir die Installation über die Weboberfläche abschließen.

Navigieren Sie in Ihrem Webbrowser zum Domänennamen oder zur öffentlichen IP-Adresse Ihres Servers:

http://

Wählen Sie die Sprache aus, die Sie verwenden möchten:

Als Nächstes gelangen Sie zur Haupteinrichtungsseite.

Wählen Sie einen Namen für Ihre WordPress-Site und einen Benutzernamen (es wird empfohlen, aus Sicherheitsgründen nicht „admin“ zu wählen). Ein sicheres Passwort wird automatisch generiert. Speichern Sie dieses Passwort oder wählen Sie ein alternatives sicheres Passwort.

Geben Sie Ihre E-Mail-Adresse ein und wählen Sie aus, ob Sie Suchmaschinen von der Indizierung Ihrer Website abhalten möchten:

Wenn Sie weiter klicken, werden Sie zu einer Seite weitergeleitet, auf der Sie aufgefordert werden, sich anzumelden:

Sobald Sie sich angemeldet haben, werden Sie zum WordPress-Verwaltungs-Dashboard weitergeleitet:

Über das Dashboard können Sie Änderungen am Thema Ihrer Website und am Veröffentlichungsinhalt vornehmen.

Fazit

WordPress sollte installiert und einsatzbereit sein! Einige übliche nächste Schritte sind die Auswahl der Permalinks-Einstellung für Ihre Posts (zu finden unter "+ Einstellungen> Permalinks ") oder die Auswahl eines neuen Themas (unter " Darstellung> Themes +"). Wenn Sie WordPress zum ersten Mal verwenden, machen Sie sich in der Benutzeroberfläche mit Ihrem neuen CMS vertraut, oder informieren Sie sich unter First Steps mit WordPress Leitfaden auf ihrer offiziellen Dokumentation.