Wie installiere ich WordPress mit LAMP unter Ubuntu 18.04

Eine frühere Version dieses Tutorials wurde vonJustin Ellingwood geschrieben

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-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 LAMP-Stack (Linux, Apache, MySQL und PHP) auf einem Ubuntu 18.04-Server einzurichten.

Voraussetzungen

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

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

  • Create a sudo user on your server: Wir werden die Schritte in diesem Handbuch mit einem Nicht-Root-Benutzer mitsudo Berechtigungen ausführen. Sie können einen Benutzer mit den Berechtigungen vonsudoerstellen, indem Sie unserenUbuntu 18.04 initial server setup guide folgen.

  • Install a LAMP stack: WordPress benötigt einen Webserver, eine Datenbank und PHP, um richtig zu funktionieren. Das Einrichten eines LAMP-Stacks (Linux, Apache, MySQL und PHP) erfüllt alle diese Anforderungen. Befolgen Siethis guide, um diese Software zu installieren und zu konfigurieren.

  • Secure your site with SSL: WordPress stellt dynamische Inhalte bereit und übernimmt die Benutzerauthentifizierung und -autorisierung. TLS/SSL is the technology that allows you to encrypt the traffic from your site so that your connection is secure. Wie Sie SSL einrichten, hängt davon ab, ob Sie einen Domainnamen für Ihre Site haben.

    • If you have a domain name…Der einfachste Weg, Ihre Site zu sichern, ist Let's Encrypt, das kostenlose, vertrauenswürdige Zertifikate bereitstellt. Folgen Sie unserenLet’s Encrypt guide for Apache, um dies einzurichten.

    • If you do not have a domain… und Sie verwenden diese Konfiguration nur zum Testen oder für den persönlichen Gebrauch. Sie können stattdessen ein selbstsigniertes Zertifikat verwenden. Dies bietet die gleiche Art der Verschlüsselung, jedoch ohne Domänenüberprüfung. Folgen Sie unserenself-signed SSL guide for Apache, um sich einzurichten.

Wenn Sie mit den Einrichtungsschritten fertig sind, melden Sie sich alssudo-Benutzer bei Ihrem Server an und fahren Sie unten fort.

[[Schritt-1 -–- Erstellen einer MySQL-Datenbank und eines Benutzers für WordPress]] == Schritt 1 - Erstellen einer MySQL-Datenbank und eines Benutzers für WordPress

Der erste Schritt, den wir unternehmen werden, ist ein vorbereitender. WordPress verwendet MySQL, um Site- und Benutzerinformationen zu verwalten und zu speichern. Wir haben MySQL bereits installiert, müssen jedoch eine Datenbank und einen Benutzer für WordPress erstellen.

Melden Sie sich zunächst mit dem folgenden Befehl beim MySQL-Root-Konto (Administratorkonto) an:

mysql -u root -p

Sie werden aufgefordert, das Kennwort einzugeben, das Sie bei der Installation der Software für das MySQL-Root-Konto festgelegt haben.

Zunächst können wir eine separate Datenbank erstellen, die von WordPress gesteuert wird. Sie können dies so nennen, wie Sie möchten, aber wir werdenwordpress in diesem Handbuch verwenden, um es einfach zu halten. Erstellen Sie die Datenbank für WordPress, indem Sie Folgendes eingeben:

CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

[.note] #Note: Jede MySQL-Anweisung muss mit einem Semikolon (;) enden. Stellen Sie sicher, dass dies vorhanden ist, wenn Probleme auftreten.
#

Als Nächstes erstellen wir ein separates MySQL-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. Wir werden den Namenwordpressuser in diesem Handbuch verwenden. Sie können dies jederzeit ändern.

Wir werden dieses Konto erstellen, ein Kennwort festlegen und Zugriff auf die von uns erstellte Datenbank gewähren. Wir können dies tun, indem wir den folgenden Befehl eingeben. Denken Sie daran, hier ein sicheres Passwort für Ihren Datenbankbenutzer zu wählen:

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

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 von MySQL über die letzten Änderungen informiert ist, die wir vorgenommen haben:

FLUSH PRIVILEGES;

Beenden Sie MySQL, indem Sie Folgendes eingeben:

EXIT;

[[Schritt-2 -–- Installieren-zusätzlicher-PHP-Erweiterungen]] == Schritt 2 - Installieren zusätzlicher PHP-Erweiterungen

Bei der Einrichtung unseres LAMP-Stacks waren nur sehr wenige Erweiterungen erforderlich, damit PHP mit MySQL 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-mbstring php-xml php-xmlrpc php-soap php-intl php-zip

[.note] #Note: Jedes WordPress-Plugin hat seine eigenen Anforderungen. Für einige müssen möglicherweise zusätzliche PHP-Pakete installiert werden. Überprüfen Sie Ihre Plugin-Dokumentation, um die PHP-Anforderungen zu ermitteln. Wenn sie verfügbar sind, können sie wie oben gezeigt mitapt installiert werden.
#

Wir werden Apache neu starten, um diese neuen Erweiterungen im nächsten Abschnitt zu laden. Wenn Sie hierher zurückkehren, um zusätzliche Plugins zu installieren, können Sie Apache jetzt neu starten, indem Sie Folgendes eingeben:

sudo systemctl restart apache2

[[Schritt-3 - Anpassen der Apache-39-s-Konfiguration, um Zugriffsüberschreibungen und -umschreibungen zu ermöglichen]] == Schritt 3 - Anpassen der Apache-Konfiguration, um .htaccess-Überschreibungen und -Rewrites zu ermöglichen

Als nächstes werden wir ein paar kleinere Anpassungen an unserer Apache-Konfiguration vornehmen. Basierend auf den erforderlichen Tutorials sollten Sie eine Konfigurationsdatei für Ihre Site im Verzeichnis/etc/apache2/sites-available/haben. Wir werden hier/etc/apache2/sites-available/wordpress.conf als Beispiel verwenden, aber Sie sollten gegebenenfalls den Pfad zu Ihrer Konfigurationsdatei ersetzen.

Zusätzlich verwenden wir/var/www/wordpress als Stammverzeichnis unserer WordPress-Installation. Sie sollten das in Ihrer eigenen Konfiguration angegebene Webstammverzeichnis verwenden.

[.note] #Note: Möglicherweise verwenden Sie die Standardkonfiguration von000-default.conf(mit/var/www/html als Webstamm). Dies ist in Ordnung, wenn Sie nur eine Website auf diesem Server hosten möchten. Wenn nicht, teilen Sie die erforderliche Konfiguration am besten in logische Blöcke auf, eine Datei pro Site.
#

Aktivieren von .htaccess-Überschreibungen

Derzeit ist die Verwendung von.htaccess-Dateien deaktiviert. WordPress und viele WordPress-Plugins verwenden diese Dateien in großem Umfang, um Änderungen am Verhalten des Webservers im Verzeichnis vorzunehmen.

Öffnen Sie die Apache-Konfigurationsdatei für Ihre Website:

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

Um.htaccess-Dateien zuzulassen, müssen wir dieAllowOverride-Direktive innerhalb einesDirectory-Blocks festlegen, der auf unser Dokumentstammverzeichnis verweist. Fügen Sie den folgenden Textblock in den BlockVirtualHost in Ihrer Konfigurationsdatei ein, und achten Sie darauf, dass Sie das richtige Webstammverzeichnis verwenden:

/etc/apache2/sites-available/wordpress.conf


    AllowOverride All

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

Aktivieren des Rewrite-Moduls

Als nächstes können wirmod_rewrite aktivieren, damit wir die WordPress-Permalink-Funktion verwenden können:

sudo a2enmod rewrite

Aktivieren der Änderungen

Stellen Sie vor der Implementierung der vorgenommenen Änderungen sicher, dass keine Syntaxfehler vorliegen:

sudo apache2ctl configtest

Die Ausgabe könnte eine Meldung haben, die so aussieht:

OutputAH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
Syntax OK

Wenn Sie die oberste Zeile unterdrücken möchten, fügen Sie einfach eineServerName-Direktive zu Ihrer (globalen) Apache-Hauptkonfigurationsdatei bei/etc/apache2/apache2.conf hinzu. DieServerName können die Domain oder IP-Adresse Ihres Servers sein. Dies ist jedoch nur eine Nachricht und hat keinen Einfluss auf die Funktionalität unserer Website. Solange die AusgabeSyntax OK enthält, können Sie fortfahren.

Starten Sie Apache neu, um die Änderungen zu implementieren:

sudo systemctl restart apache2

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

[[Schritt-4 -–- Herunterladen von WordPress]] == Schritt 4 - Herunterladen von WordPress

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 -O 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. Bevor wir dies tun, können wir eine Dummy-Datei.htaccesshinzufügen, damit diese später von WordPress verwendet werden kann.

Erstellen Sie die Datei, indem Sie Folgendes eingeben:

touch /tmp/wordpress/.htaccess

Wir kopieren auch die Beispielkonfigurationsdatei in den Dateinamen, den WordPress tatsächlich liest:

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

Wir können auch das Verzeichnisupgradeerstellen, damit WordPress nach einem Update seiner Software nicht auf Berechtigungsprobleme stößt, wenn es versucht, dies alleine zu tun:

mkdir /tmp/wordpress/wp-content/upgrade

Jetzt können wir den gesamten Inhalt des Verzeichnisses in unser Dokumentenstammverzeichnis kopieren. Wir verwenden einen Punkt am Ende unseres Quellverzeichnisses, um anzugeben, dass alles im Verzeichnis kopiert werden soll, einschließlich versteckter Dateien (wie die von uns erstellte.htaccess-Datei):

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

[[Schritt-5 -–- Konfigurieren des WordPress-Verzeichnisses]] == Schritt 5 - Konfigurieren des WordPress-Verzeichnisses

Bevor wir das webbasierte WordPress-Setup durchführen, müssen wir einige Elemente in unserem WordPress-Verzeichnis anpassen.

Anpassen des Eigentums und der Berechtigungen

Eines der großen Dinge, die wir tun müssen, ist das Einrichten angemessener Dateiberechtigungen und Eigentumsrechte.

Zunächst geben wir dem Benutzer und der Gruppe vonwww-datadas Eigentum an allen Dateien. Dies ist der Benutzer, unter dem der Apache-Webserver ausgeführt wird, und Apache muss in der Lage sein, WordPress-Dateien zu lesen und zu schreiben, um die Website zu bedienen und automatische Updates durchzuführen.

Aktualisieren Sie den Besitz mitchown:

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

Als nächstes führen wir zweifind-Befehle aus, um die richtigen Berechtigungen für die WordPress-Verzeichnisse und -Dateien festzulegen:

sudo find /var/www/wordpress/ -type d -exec chmod 750 {} \;
sudo find /var/www/wordpress/ -type f -exec chmod 640 {} \;

Hierbei sollte es sich zunächst um angemessene Berechtigungen handeln. Einige Plugins und Prozeduren erfordern möglicherweise zusätzliche Optimierungen.

Einrichten der WordPress-Konfigurationsdatei

Jetzt müssen wir einige Änderungen an der Haupt-WordPress-Konfigurationsdatei vornehmen.

Wenn wir die Datei öffnen, müssen wir zunächst einige geheime 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:

[.warning] #Warning! Es ist wichtig, dass Sie jedes Mal eindeutige Werte anfordern. Kopieren SieNOT die unten gezeigten Werte!
#

Outputdefine('AUTH_KEY',         '1jl/vqfs

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:

sudo nano /var/www/wordpress/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',         'VALUES COPIED FROM THE COMMAND LINE');
define('SECURE_AUTH_KEY',  'VALUES COPIED FROM THE COMMAND LINE');
define('LOGGED_IN_KEY',    'VALUES COPIED FROM THE COMMAND LINE');
define('NONCE_KEY',        'VALUES COPIED FROM THE COMMAND LINE');
define('AUTH_SALT',        'VALUES COPIED FROM THE COMMAND LINE');
define('SECURE_AUTH_SALT', 'VALUES COPIED FROM THE COMMAND LINE');
define('LOGGED_IN_SALT',   'VALUES COPIED FROM THE COMMAND LINE');
define('NONCE_SALT',       'VALUES COPIED FROM THE COMMAND LINE');

. . .

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 MySQL 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', 'wordpress');

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

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

. . .

define('FS_METHOD', 'direct');

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

[[Schritt 6 - Beenden der Installation über das Webinterface]] == Schritt 6 - Abschließen der Installation über das Webinterface

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:

https://server_domain_or_IP

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

WordPress language selection

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:

WordPress setup installation

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

WordPress login prompt

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

WordPress login prompt

Fazit

WordPress sollte installiert und einsatzbereit sein! Einige gängige nächste Schritte sind die Auswahl der Permalinks-Einstellung für Ihre Beiträge (inSettings > Permalinks) oder die Auswahl eines neuen Themas (inAppearance > Themes). Wenn Sie WordPress zum ersten Mal verwenden, machen Sie sich in der Benutzeroberfläche mit Ihrem neuen CMS vertraut.