Eine frühere Version dieses Tutorials wurde von Justin Ellingwood verfasst
WordPress ist das beliebteste CMS (Content Management System) im Internet. Damit können Sie flexible Blogs und Websites auf einem MySQL Backend mit PHP-Verarbeitung einrichten. WordPress weist eine enorm hohe Akzeptanz auf und ist eine großartige Wahl, um eine Website schnell zu erstellen und freizuschalten. Nach dem Einrichten kann fast die gesamte Verwaltung vom Web-Frontend aus erfolgen.
In diesem Leitfaden konzentrieren wir uns auf das Einrichten einer WordPress-Instanz auf einem LAMP-Stack (Linux, Apache, MySQL und PHP) auf einem Ubuntu 18.04 Server.
Um dieses Tutorial fertigzustellen, benötigen Sie Zugriff auf einen Ubuntu 18.04 Server.
Sie müssen die folgenden Aufgaben ausführen, bevor Sie diesen Leitfaden starten können:
sudo
-Benutzer auf Ihrem Server: In diesem Leitfaden verwenden wir einen Benutzer ohne Rootberechtigung mit sudo
-Rechten. Sie können einen Benutzer mit sudo
-Rechten erstellen, indem Sie unserem Leitfaden zur Ersteinrichtung des Ubuntu 18.04 Servers folgen.Wenn Sie dieses Setup abgeschlossen haben, melden Sie sich bei Ihrem Server als sudo
-Benutzer an und fahren Sie dann wie unten gezeigt fort.
Der erste Schritt dient der Vorbereitung. WordPress verwendet MySQL, um Site- und Benutzerinformationen zu verwalten und zu speichern. Wir haben bereits MySQL installiert, müssen aber eine Datenbank und einen Benutzer für WordPress erstellen.
Dazu melden Sie sich beim Konto MySQL Root (administrativ) an, indem Sie diesen Befehl eingeben:
- mysql -u root -p
Sie werden aufgefordert, das Passwort einzugeben, das Sie für das MySQL Root-Konto festgelegt haben, als Sie die Software installiert haben.
Zuerst können wir eine separate Datenbank erstellen, die von WordPress kontrolliert wird. Sie können ihr einen beliebigen Namen geben, aber wir nennen sie der Einfachheit halber in diesem Leitfaden wordpress. Erstellen Sie die Datenbank für WordPress, indem Sie Folgendes eingeben:
- CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
**Anmerkung: **Jede MySQL -Anweisung muss mit einem Semikolon (;) enden. Vergewissern Sie sich, dass dies der Fall ist, falls ein Problem auftritt.
Als Nächstes erstellen wir ein separates MySQL-Benutzerkonto, das wir ausschließlich für die neue Datenbank verwenden werden. Aus Verwaltungs- und Sicherheitsaspekten ist es sinnvoll, Datenbanken und Konten mit nur einer Funktion zu erstellen. In diesem Leitfaden verwenden wir den Namen wordpressuser. Sie können den Namen ändern.
Wir erstellen dieses Konto, legen ein Passwort fest und gewähren Zugriff auf die von uns erstellte Datenbank. Dazu geben wir den folgenden Befehl ein. Denken Sie daran, ein starkes Passwort für Ihren Datenbankbenutzer zu wählen:
- GRANT ALL ON wordpress.* TO 'wordpressuser'@'localhost' IDENTIFIED BY 'password';
Sie haben jetzt ein Datenbank- und ein Benutzerkonto, das jeweils speziell für WordPress eingerichtet wurde. Wir müssen die Rechte leeren, damit die aktuelle Instanz von MySQL die neuesten Änderungen erkennt:
- FLUSH PRIVILEGES;
Beenden Sie MySQL, indem Sie Folgendes eingeben:
- EXIT;
Beim Einrichten des LAMP-Stacks benötigen wir nur eine sehr minimale Menge von Erweiterungen, damit PHP mit MySQL kommuniziert. WordPress und viele seiner Plugins nutzen zusätzliche PHP-Erweiterungen.
Laden Sie einige der beliebtesten PHP-Erweiterungen zur Nutzung mit WordPress herunter und installieren diese, indem Sie Folgendes eingeben:
- sudo apt update
- sudo apt install php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip
Anmerkung: Jedes WordPress-Plugin hat seinen eigenen Satz an Anforderungen. Einige können die Installation zusätzlicher PHP-Pakete erfordern. Prüfen Sie Ihre Plugin-Dokumentation, um deren PHP-Anforderungen herauszufinden. Wenn sie verfügbar sind, können sie wie oben gezeigt mit apt
installiert werden.
Wir starten dann Apache neu, um diese neuen Erweiterungen im nächsten Abschnitt zu laden. Wenn Sie wieder hierher zurückkehren, um zusätzliche Plugins zu installieren, können Sie Apache jetzt neu starten, indem Sie Folgendes eingeben:
- sudo systemctl restart apache2
Als Nächstes werden wir einige kleinere Anpassungen an unsere Apache-Konfiguration vornehmen. Basierend auf den erforderlichen Tutorials sollten Sie eine Konfigurationsdatei für Ihre Site im Verzeichnis /etc/apache2/sites-available/
haben. Als Beispiel verwenden wir /etc/apache2/sites-available/wordpress.conf
, aber Sie sollten den Pfad zu Ihrer Konfigurationsdatei ggf. ersetzen.
Außerdem verwenden wir /var/www/wordpress
als Root-Verzeichnis unserer WordPress-Installation. Sie sollten das in Ihrer eigenen Konfiguration angegebene Web-Root verwenden.
Anmerkung: Es ist möglich, dass Sie die Standardkonfiguration 000-default.conf
verwenden (mit /var/www/html
als Ihre Web-Root). Das ist in Ordnung, wenn Sie nur eine Website auf diesem Server hosten wollen. Ansonsten ist es am besten, die notwendige Konfiguration in logische Chunks von einer Datei pro Site aufzuteilen.
Derzeit ist die Verwendung von .htaccess
-Dateien deaktiviert. WordPress und viele WordPress-Plugins setzen diese Dateien weitläufig für kleine Veränderungen des Webserver-Verhaltens im Verzeichnis ein.
Öffnen Sie die Apache-Konfigurationsdatei für Ihre Website:
- sudo nano /etc/apache2/sites-available/wordpress.conf
Um .htaccess
-Dateien zu erlauben, müssen wir die Anweisung AllowOverride
in einem Verzeichnisblock
festlegen, der auf unsere Dokument-Root verweist. Fügen Sie Ihrer Konfigurationsdatei im VirtualHost
-Block den folgenden Textblock hinzu, wobei Sie sichergehen müssen, dass Sie das korrekte Web-Root-Verzeichnis verwenden:
<Directory /var/www/wordpress/>
AllowOverride All
</Directory>
Wenn Sie dies abgeschlossen haben, speichern und schließen Sie die Datei.
Als Nächstes können wir mod_rewrite
aktivieren, damit wir die WordPress Permalink-Funktion verwenden können:
- sudo a2enmod rewrite
Bevor wir die von uns vorgenommenen Änderungen implementieren, sollten Sie bestätigen, dass Ihnen keine Syntaxfehler unterlaufen sind:
- sudo apache2ctl configtest
Die Ausgabe kann eine vergleichbare Meldung enthalten:
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 ausblenden wollen, fügen Sie Ihrer Haupt- (global) Apache-Konfigurationsdatei unter /etc/apache2/apache2.conf
einfach einen ServerName
hinzu. Der ServerName
kann die Domäne oder IP-Adresse Ihres Servers sein. Hier handelt sich allerdings nur um eine Nachricht, die die Funktionalität der Site nicht beeinträchtigt. Solange die Ausgabe Syntax OK
enthält, können Sie weitermachen.
Starten Sie Apache erneut, um Ihre Änderungen zu implementieren:
- sudo systemctl restart apache2
Als Nächstes laden wir WordPress selbst herunter und richten es ein.
Jetzt ist unsere Server-Software konfiguriert, und wir können WordPress herunterladen und einrichten. Aus Sicherheitsgründen ist es immer ratsam, die neueste Version von WordPress von der Site zu erhalten.
Wechseln Sie in ein beschreibbares Verzeichnis und laden dann 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 gleich in unsere Dokument-Root verschieben. Zuvor können wir eine .htaccess
-Stellvertreterdatei hinzufügen, damit diese für WordPress später verfügbar ist.
Erstellen Sie die Datei, indem Sie Folgendes eingeben:
- touch /tmp/wordpress/.htaccess
Wir kopieren auch die Muster-Konfigurationsdatei 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 upgrade
-Verzeichnis erstellen, damit WordPress keine Berechtigungsprobleme bekommt, wenn es nach einem Software-Update versucht, dies selbst abzuwickeln:
- mkdir /tmp/wordpress/wp-content/upgrade
Jetzt können wir den gesamten Inhalt des Verzeichnisses in unsere Dokument-Root kopieren. An das Ende unseres Quellverzeichnisses setzen wir einen Punkt, damit alles im Verzeichnis kopiert werden kann, einschließlich ausgeblendeter Dateien (wie die von uns erstellte .htaccess
-Datei):
- sudo cp -a /tmp/wordpress/. /var/www/wordpress
Bevor wir das webbasierte WordPress Setup vornehmen, müssen wir einige Elemente in unserem WordPress-Verzeichnis anpassen.
Das Wichtigste ist das Einrichten vernünftiger Dateiberechtigungen und Eigentumsrechte.
Wir beginnen damit, das Eigentum an allen Dateien auf www-data-Benutzer und -Gruppen zu übertragen. Das ist der Benutzer, unter dem der Apache-Webserver läuft, und Apache muss WordPress-Dateien lesen und schreiben können, damit die Website verwendet werden kann und automatisch Updates ausgeführt werden können.
Aktualisieren Sie die Eigentsumsrechte mit chown
:
- sudo chown -R www-data:www-data /var/www/wordpress
Als Nächstes werden wir zwei find
Befehle ausführen, um die richtigen Berechtigungen in den WordPress-Verzeichnissen und -Dateien einzustellen:
- sudo find /var/www/wordpress/ -type d -exec chmod 750 {} \;
- sudo find /var/www/wordpress/ -type f -exec chmod 640 {} \;
Das sollten von Anfang an angemessene Berechtigungen sein. Einige Plugins und Verfahren können zusätzliche Veränderungen erfordern.
Jetzt müssen wir Änderungen an der WordPress-Hauptkonfigurationsdatei vornehmen.
Wenn wir die Datei öffnen, werden wir zunächst einige geheime Schlüssel ändern müssen, um unsere Installation zu sichern. WordPress stellt einen sicheren Generator für diese Werte bereit, damit Sie sie sich nicht ausdenken müssen. Sie werden nur intern verwendet, d. h. komplexe, sichere Werte haben keine Auswirkungen auf die Benutzerfreundlichkeit.
Um sichere Werte vom WordPress Secret Key Generator zu erhalten, geben Sie Folgendes ein:
- curl -s https://api.wordpress.org/secret-key/1.1/salt/
Sie werden eindeutige Werte erhalten, die ungefähr so aussehen:
Warnung! Es ist wichtig, dass Sie jedes Mal eindeutige Werte anfordern. Kopieren Sie NICHT die unten aufgeführten Werte!
Outputdefine('AUTH_KEY', '1jl/vqfs<XhdXoAPz9 DO NOT COPY THESE VALUES c_j{iwqD^<+c9.k<J@4H');
define('SECURE_AUTH_KEY', 'E2N-h2]Dcvp+aS/p7X DO NOT COPY THESE VALUES {Ka(f;rv?Pxf})CgLi-3');
define('LOGGED_IN_KEY', 'W(50,{W^,OPB%PB<JF DO NOT COPY THESE VALUES 2;y&,2m%3]R6DUth[;88');
define('NONCE_KEY', 'll,4UC)7ua+8<!4VM+ DO NOT COPY THESE VALUES #`DXF+[$atzM7 o^-C7g');
define('AUTH_SALT', 'koMrurzOA+|L_lG}kf DO NOT COPY THESE VALUES 07VC*Lj*lD&?3w!BT#-');
define('SECURE_AUTH_SALT', 'p32*p,]z%LZ+pAu:VY DO NOT COPY THESE VALUES C-?y+K0DK_+F|0h{!_xY');
define('LOGGED_IN_SALT', 'i^/G2W7!-1H2OQ+t$3 DO NOT COPY THESE VALUES t6**bRVFSD[Hi])-qS`|');
define('NONCE_SALT', 'Q6]U:K?j4L%Z]}h^q7 DO NOT COPY THESE VALUES 1% ^qUswWgn+6&xqHN&%');
Das sind Konfigurationszeilen, die wir direkt in unsere Konfigurationsdatei einfügen können, um sichere Schlüssel einzustellen. Kopieren Sie die Ausgabe, die Sie erhalten haben.
Öffnen Sie jetzt die WordPress-Konfigurationsdatei:
- sudo nano /var/www/wordpress/wp-config.php
Finden Sie den Abschnitt, der die Stellvertreterwerte für diese Einstellungen enthält. Dies sollte ungefähr so aussehen:
. . .
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 aus der Befehlszeile kopiert haben:
. . .
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 Datenbank-Verbindungseinstellungen am Anfang der Datei ändern. Sie müssen den Datenbanknamen, den Datenbankbenutzer und das zugehörige Passwort anpassen, das wir in MySQL konfiguriert haben.
Wir müssen außerdem die Methode festlegen, die WordPress verwenden sol, um in das Dateisystem zu schreiben. Da wir dem Webserver das Recht auf beliebiges Schreiben erteilt haben, können wir die Dateisystem-Methode auf „direct“ festlegen. Wenn wir das nicht auf unsere aktuellen Einstellungen anpassen, fragt WordPress bei bestimmten Handlungen nach FTP-Anmeldeangaben.
Diese Einstellung kann unterhalb der Datenbank-Verbindungseinstellungen oder anderswo in der Datei eingefügt werden:
. . .
define('DB_NAME', 'wordpress');
/** MySQL database username */
define('DB_USER', 'wordpressuser');
/** MySQL database password */
define('DB_PASSWORD', 'password');
. . .
define('FS_METHOD', 'direct');
Wenn Sie dies abgeschlossen haben, speichern und schließen Sie die Datei.
Jetzt ist die Serverkonfiguration abgeschlossen, und wir können die Installation über die Web-Oberfläche abschließen.
Navigieren Sie im Web-Browser zum Domänenamen oder zur öffentlichen IP-Adresse Ihres Servers:
https://server_domain_or_IP
Wählen Sie die Sprache aus, die Sie verwenden möchten:
Als Nächstes kommen Sie zur Setup-Hauptseite.
Wählen Sie einen Namen für Ihre WordPress-Website und einen Benutzernamen aus (aus Sicherheitsgründen sollten Sie kein Wort mit „admin“ wählen). Ein starkes Passwort wird automatisch erstellt. Speichern Sie dieses oder wählen Sie anderes starkes Passwort aus.
Geben Sie Ihre E-Mail-Adresse ein und wählen Sie, ob Sie Suchmaschinen aus der Indexierung Ihrer Site ausschließen wollen:
Wenn Sie weiter klicken, kommen Sie zu einer Seite, auf der Sie sich anmelden müssen:
Nach der Anmeldung gelangen Sie zum WordPress-Administrations-Dashboard:
WordPress sollte jetzt installiert und einsatzbereit sein! Einige häufige nächste Schritte sind die Auswahl der Permalink-Einstellungen für Ihre Posts (diese sind unter Einstellungen>Permalinks
zu finden) oder die Auswahl eines neuen Designs (in Darstellung>Design
). Wenn Sie WordPress das erste Mal verwenden, schauen Sie sich die Oberfläche an, um Ihre neue CMS kennenzulernen.
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!