Lokale Installation von WordPress auf ubuntu 14.04

 

Wordpress auf ubuntu lokal installieren

WordPress lokal auf dem eigenen ubuntu-System vorzuhalten, ist speziell für alle Nutzer dieses Blogsystems interessant, die z.B. mal eben ein neues WP-Theme oder -Plugin testen möchten. Zwar ist WP auf einem Debian- oder ubuntu-System schnell über ein Terminal-Fenster mit dem Befehl

sudo apt-get install wordpress

installiert, aber gerade Neulinge stehen danach erst einmal im Regen und stellen sich folgende Fragen: Wie komme ich an meine lokale WP-Installation heran, wie konfiguriere ich sie überhaupt?Anleitungen im Netz sind da nach meiner Erfahrung z.T. widersprüchlich und/oder beziehen sich auf ältere Versionen von WP und/oder ubuntu. Darum hier eine kurze „Schritt für Schritt“-Anleitung auf einem aktuellem ubuntu, die bei mir zum Erfolg führte.

Nach der Installation von WordPress

Mit dem obigen Shell-Befehl ist WP wie gesagt schnell installiert. Bei Bedarf wird übrigens auch alles Notwendige gleich mitinstalliert, also der Apache-Webserver und mysql als Datenbank für WP. Sehr schön, darum muss ich mich also erstmal nicht kümmern.

Wenn ich nun in den Browser die Adresse

https://localhost

eingebe, lande ich auf der Standard-Webserver-Seite von ubuntu, die in etwa so aussieht:

Noch kein WordPress? Die ubuntu default apache webserver page

Im Verzeichnisbaum der lokalen Festplatte ist diese angezeigte lokale Standseite zu finden unter:

/var/www/html/index.html

Aber wo ist WordPress nun?

Standardmäßig landet die WP-Installation auf meiner lokalen Festplatte in diesem Ordner:

/usr/share/wordpress

Dort befinden sich auch alle Unterordner und Dateien, wie ich sie von einer Standard-Wordpress-Installation bei einem beliebigen Webhoster her kenne. Um einen Zugriff mit dem Webbrowser möglich zu machen, muss ich in den Ordner /var/www/html einen Link zur WP-Installation in /usr/share/wordpress setzen, also:

sudo ln -s /usr/share/wordpress /var/www/html/wordpress

WordPress-Fehlermeldung abstellen

Rufe ich nun in meinem Browser

https://localhost/wordpress

auf, erhalte ich erst einmal eine unfreundliche Fehlermeldung des Webservers:

Neither /etc/wordpress/config-default.php nor /etc/wordpress/config-localhost.php could be found.

Es scheint also eine wichtige Konfigurations-Datei namens config-localhost.php zu fehlen. Und wenn ich den genannten Ordner /etc/wordpress ansteuere, fehlt diese Datei tatsächlich.

Zum Glück liefert WP eine „Musterdatei“ für diese fehlende Datei mit, und zwar im Ordner /usr/share/wordpress. Diese Musterdatei heißt dort: wp-config-sample.php. Diese kopiere ich nun mit folgendem Befehl in den Ordner /etc/wordpress und benenne sie gleichzeitig um:

cp /usr/share/wordpress/wp-config-sample.php /etc/wordpress/config-default.php

Danach editiere ich mit einem Editor meiner Wahl (ich benutze gerne den Editor vom Midnight Commander) die frisch erstellte Datei config-default.php:

sudo mcedit /etc/wordpress/config-default.php

und trage dort die Datenbankverbindung für meine WordPress-Installation ein

Wordpress Konfiguration

Datenbank-Setup

Falls ich bislang noch keine Datenbank für mein lokales WP erstellt habe, so kann ich dies schnell in einem Terminalfenster nachholen.
Ich erstelle auf meinem Rechner „localhost“ eine Datenbank namens „wordpress“ und einen Datenbankbenutzer „uli“ mit dem Passwort „meintollesPasswort„. Das sieht dann (auf meinem Rechner) so aus:

root@medusa:~# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 39
Server version: 5.5.37-0ubuntu0.14.04.1 (Ubuntu)

Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> create database wordpress;
Query OK, 1 row affected (0.00 sec)

mysql> create user uli;
Query OK, 0 rows affected (0.00 sec)

mysql> set password for uli = password("meintollesPasswort");
Query OK, 0 rows affected (0.00 sec)

mysql> grant all PRIVILEGES on wordpress.* to uli@localhost identified by 'meintollesPasswort';
Query OK, 0 rows affected (0.01 sec)

mysql> exit
Bye

Die entsprechenden Werte dieser Aktion muss ich also in meine config-default.php eintragen (s.o.):

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'wordpress');

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

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

/** MySQL hostname */
define('DB_HOST', 'localhost');

Nun kann ich meine lokale Installation von WP mittels https://localhost/wordpress ansteuern und werde dort vom – englischsprachigen – Willkommens-Bildschirm begrüßt, in dem ich meinen Nutzernamen und mein Passwort wähle, einen Namen für die Seite vergebe und mich anschließend in die neue fertige WP-Seite einloggen kann.

Nacharbeiten

So, WordPress läuft – leider aber kommt das Dashboard in Englisch daher. Man muss nun nicht eine deutschsprachige Version von WordPress laden und „drüberinstallieren“, sondern einfach nur die Sprache umstellen.

In der Datei /etc/wordpress/config-default.php kann ich im unteren Bereich der Konfiguration die Variable „WPLANG“ auf „de_DE“ setzen:

sprache von WordPress festlegen

Will ich bei meiner neuen Installation die eingebaute FTP-Funktion von WP nutzen, müsste ich natürlich einen FTP-Server auf meinem ubuntu-System einrichten, was aber ein evtl. ein Sicherheitsrisiko darstellen kann. Darum empfehle ich das hier nicht. Denn um gelegentlich ein Theme oder ein Plugin zu testen, schiebe ich die entpackten Themes oder Plugins einfach über das Dateisystem in die entsprechenden Ordner nach /usr/share/wordpress/wp-content .
Das reißt kein potentielles Sicherheitsloch und funktioniert ebenso schnell und einfach, wenn ich mir für den Ordner wp-content  in meinem Dateimanager ein Lesezeichen anlege. Der reguläre Upload von Mediendateien wie z.B. Fotos funktioniert übrigens natürlich ohne FTP.