Permalink

35

WordPress lokal installieren und testen

WordPress bietet eine so große Vielzahl von Möglichkeiten, das ein Großteil der Nutzer in ein Dilemma gestürzt wird. Der Wunsch nach Aktualisierung, Anpassung, Erweiterung und Optimierung steht im Konflikt mit der These „never change a winning team running software“. Dieses Dilemma verzögert notwendige Sicherheitsupdates und verhindert einen offeneren Umgang mit neuen Themes oder interesanten Plug-ins. Auch die eigene Kreativität wird gebremst, da vielen Nutzern (richtigerwesie) das Basteln auf dem Live-Blog als zu gefährlich erscheint.

Ein lokaler Testserver ist der ideale Ausweg aus diesem Dilemma. Mit Hilfe eines solchen Werkzeugs kann zum Beispiel die Kompatibilität der neuesten WordPress-Version mit dem eigenen System ohne Risiken getestet werden.

Im folgendem Tutorium zur Einrichtung einer lokalen Testinstallation wird XAMPP von Apache Friends verwendet.

XAMPP?

XAMPP ist ein Akronym für den kombinierten Einsatz von Programmen auf Basis von verschiedenen Betriebssystemen, um dynamische Webanwendungen und -seiten zur Verfügung zu stellen. Dabei stehen die einzelnen Buchstaben des Akronyms für die verwendeten Komponenten:

  • X – Betriebssystem (Windows, Linux, etc.)
  • A – Apache
  • M – MySQL
  • P – PHP
  • P – Pearl

Dem ambitionierten WordPress-Nutzer wird sofort klar, dass dies die iedeale Infrastruktur für das populäre Web Publishing System bzw. Content Management System WordPress ist. Nur wie kann XAMPP mit WordPress verknüpft werden?

Installation von XAMPP

Zuerst muss natürlich die, mit dem Betriebssystem kompatible Version von XAMPP heruntergeladen und installiert werden. (Bitte Installationsanweisungen beachten!) Ich habe mich für xampplite-win32-1.6.7 entschieden und das Programm unter c://xampplite installiert bzw. entpackt.

Nach erfolgreicher Installation müssen dann die Module Apache und MySQL über das Control Planel gestartet werden.

xampp Ordner/control-planel.exe

Mit der Initialisierung der Module sollte nun die MySQL-Datenbank für WordPress eingerichtet werden.

  • Browser öffnen.
  • http://localhost in die Adresszeile eingeben.
  • Sprache auswählen.
  • Auf phpMyAdmin in der linken Navigationsleiste klicken.
  • Die Standardeinstellungen belassen, den Namen der neuen Datenbank eintragen (z.B. wordpress) und auf „create“ klicken.
  • Die MySQL-Datenbank „wordpress“ ist nun installiert.

Installation von WordPress

Es ist zu empfehlen, dass auf dem (Haupt-)Testserver erstmal die gleiche WordPress-Version verwendet wird, welche auch auf dem echtem Blog läuft. In meinem Fall ist das Version 2.6.1. Die entsprechende ZIP-Datei muss dann unter

XAMPP Ordner/htdocs/wordpress

entpackt werden. Anschließend (wie üblich) die Datei wp-config-sample.php (unter XAMPP Ordner/htdocs/wordpress) öffnen, die folgenden Änderungen vornehmen und die Datei als wp-config.php abspeichern.

// ** MySQL settings ** //
define('DB_NAME', 'wordpress');    // Der Name der Datenbank
define('DB_USER', 'root');     // Der MySQL Benutzername
define('DB_PASSWORD', ''); // Kein Passwort noetig
define('DB_HOST', 'localhost');    // 100% Wahrscheinlichkeit, dass dieser Eintrag nicht geaendert werden muss
define('DB_CHARSET', 'utf8');
define('DB_COLLATE', '');

Nun kann der Installationsprozess gestartet werden, dazu einfach den folgenden Link im Browser aufrufen:

http://localhost/wordpress/wp-admin/install.php

Im letzten Schritt wird nun die lokale (und nackte) WordPress Installation an die „Live“-Installation angepasst.

  • Die Ordner wp-content/themes und wp-content/plugins mit Hilfe eines FTP-Client (z.B. FileZilla) nach XAMPP Ordner/htwdocs/wordpress/wp-content/ kopieren,
  • Theme und Plugins aktivieren
  • und mit der eingebauten Export-/Import-Funktion von WordPress (WP Dashboard > Manage/Verwalten > Export im „Live“-Blog bzw. WP Dashboard > Manage/Verwalten > Import im „Test“-Blog) die Artikel vom „Live“-Blog einfügen.

Fertig! Viel Spaß beim Testen!

Anmerkung: Ich arbeite übrigens mit 2 Testinstallationen. Unter XAMPPlite/htdocs/wp-trunk verfolge ich neuesten Entwicklungen von WordPress. Und XAMPPlite/htdocs/wp-test ist meine Spielwiese für Änderungen und Erweiterungen am Theme.

Lokale WordPress-Installation aktualisieren

Um eine lokale Installation unter XAMPP auf den neuesten Stand zu bringen, kann man wie folgt vorgehen: Man holt sich von wordpress-deutschlang.org die aktuelle Version und entpackt die Dateien in einen Ordner. Dann werden einfach alle Dateien und Ordner, bis auf den Ordner /wp-content/, aus diesem Verzeichnis in das Verzeichnis XAMPPlite/htdocs/wordpress kopiert.

Die lokale Installation veröffentlichen

Häufig wird es so sein, dass man einen neuen WordPress-Blog lokal anlegt, um dort alle Anpassungen (Theme, Plugins, etc.) vorzunehmen. Vielleicht schreibt man auch schon den ein oder anderen Artikel, um verschiedene Layouts zu testen.

Die vollbrachte Arbeit muss nun noch veröffentlicht werden, was letztendlich bedeutet, dass man aus der Offline-Version eine Online-Version macht. Mit der folgenden Vorgehensweise ist dies schnell erledigt:

Man lädt alle lokal angelegten Dateien aus dem wordpress-Ordner über einen FTP-Zugang auf den Webspace. Dann erstellt man über das Tool phpMyAdmin einen Export der lokalen SQL-Tabellen. Diese werden wiederum online über das Tool phpMyAdmin importiert. Die wp-config.php Datei muss dann mit den Zugangsdaten zur Datenbank des Webhosters aktualisiert werden.

Über das Tool phpMyAdmin muss in der DB-Tabelle [prefix]_options der Wert „siteurl“ angepasst werden. Hier sollte noch die Angabe zur lokalen Installation stehen. Diese muss auf die entsprechende Blog-Domain umgestellt werden. Nach dem Speichern des Werts sollte die Installation nun online erreichbar sein. Weitere Anpassungen können dann im Admin-Bereich vorgenommen werden (Bsp. Permalinks).

Zwei oder mehrere lokale WordPress-Installationen

In der Anmerkung wird bereits angesprochen, dass man lokal auch mehr als nur eine Installation von WordPress betreiben kann. Wichtig hierbei sind nur zwei Dinge:

  1. Man legt im htdocs-Verzeichnis von XAMPP einen zweiten Ordner (parallel zu „wordpress“) an, bspw. wordpress2 oder projekt2 etc., und entpackt dorthin die Dateien aus der ZIP-Datei von wordpress-deutschland.org.
  2. Bevor man nun die Installationsroutine durchführt, muss man noch die wp-config.php-Datei im Stammverzeichnis (Bsp. /wordpress2/ oder /projekt2/) anpassen. Die Daten sind analog zur ersten Installation anzugeben, wichtig ist, dass beim table-Prefix ein anderer Wert, als das default-Wert „wp_“ verwendet wird. Dadurch werden bei der Installation alle SQL-Tabellen mit einem anderen Präfix angelegt und man kann so beliebig viele WordPress Installationen in einer Datenbank laufen lassen.

Alternativ kann in XAMPP bzw. über phpMyAdmin auch eine zweite Datenbank angelegt werden. Dann müssten die Daten der wp-config.php entsprechend angepasst werden (DB_NAME entsprechend der neu angelegten Datenbank aus phpMyAdmin). Bei einer lokalen Installation sollte es allerdings keine Probleme geben, wenn man mit nur einer Datenbank arbeitet und dort über das Table-Präfix mehrere Tabellen anlegt.

35 Kommentare

  1. Wer Themes und Plugins für WordPress entwickelt kent XAMPP bestimmt. Und auch bestimmt viele andere Nutzer. Trotzdem ein guter Artikel für User, die noch nie mit sowas konfrontiert waren.

    Nur warum sollte ich auf einem Windowsrechner meine WordPress-Dateien via FTP auf ein lokales Verzeichnis schieben? Das ist unsinnig. Windows kennt sowieso kein CHMOD, was allein ein Grund ist auf FTP zu verzichten. Zudem ist der htdocs-Ordner leicht zu finden.

    Zudem hat sich hier ein Fehler eingeschlichen: xampp Ordner/control-planel.exe Das sollte wohl eher xampp Ordner/control-panel.exe heißen ;-)

  2. Ja, da war der Fehlerteufel am Werk. Natürlich heißt es xampp Ordner/control-panel.exe.

    Nur warum sollte ich auf einem Windowsrechner meine WordPress-Dateien via FTP auf ein lokales Verzeichnis schieben?

    Sollst Du ja nicht. Ich schlage vor, die WordPress Dateien vom Live-Blog bzw. http:deineurl.de/wp-content/themes und http:deineurl.de/wp-content/plugins zu kopieren. Warum? Aufgrund automatischer Plugin-Updates sind die Dateien auf dem Server immer aktueller als auf meinem Rechner.

  3. Pingback: Vorschau auf WordPress 2.7 » Beitrag » WordPress Magazin

  4. Was mich interessieren würde: Beim Benutzen einer solchen Umgebung müsste man ein professionelles Deployment Tool haben, die Idee wäre: Kopie des Originals automatisiert auf der Entwicklungsumgebung und mit einem Knopf ein Komplettsync mit der „Produktion“. Man kann natürlich mit FTP das geänderte Zeug einfach rüberschieben. Wie macht Ihr das?

  5. Einfach nochmal danke. Ich hatte vor längerer Zeit schon mal versucht WP mit xampp zu laufen zu kriegen aber irgendwie … diesmal hab einfach deine Anweisung befolgt – und siehe da: Es tut :D
    Danke,
    Jörg

    Übrigends cooles Magazin. Weiß nicht warum ich nicht schon früher drauf gestoßen bin.

  6. Daran hatte ich bisher garnicht gedacht mir eine Lokale testumgebung zu installieren. ideal für Designer die WordPress Templates erstellen. Manchmal fragt man sich wieso man selber nicht darauf kommt. Danke!

  7. Einfach klasse Deine Anleitung. Ich hatte schon lange nach dieser Möglichkeit gesucht. Ich bin begeistert.
    Vielen Dank für die Mühe.

  8. Pingback: Performanz | Weymann Blogstory

  9. Vielen herzlichen Dank für diese Anleitung! Bisher habe ich Änderungen immer live im Editor „gebastelt“ – äußerst nervenaufreibend!
    Dank der gut beschriebenen Anleitung hatte ich in weniger als 10 Minuten eine funktionierende Installation! Super Tip! :-)

  10. guten Abend,

    meinen Glückwunsch zu der recht detailierten Beschreibung.

    aber…..ich bin gerade den zweiten abend am kämpfen mit der Kombination XAMPP vs WordPress. ich weis langsam nicht mehr was ich noch alles probieren soll, aber ich bekomme den Blog im Explorer nicht angezeigt.

    Weis hier vielleicht jemand mit der Fehlermeldung etwas anzufangen?

    (WordPress version 2.7.1 DE
    XAMPP version 1.7.0)

    Meldung:
    -header.php which does and tells WordPress to load the theme. * * @package WordPress */ /** * Tells WordPress to load the WordPress theme and output it. * * @var bool */ define(‚WP_USE_THEMES‘, true); /** Loads the WordPress Environment and Template */ require(‚./wp-blog-header.php‘); ?>

    das kuriose ist das ich WordPress installieren konnte (allerdings nur nicht wenn ich http://localhost/blog/wp-admin/installer.php aufrufe, sondern nur http://localhost/blog/wp-admin) ….und auch in den Administrationsbereich komme, alle Einstellungen machen kann aber letztendliche die Seite nicht angezeigt bekomme.

    Die Fehlermeldung sehe ich schon wenn ich die Vorschau des Theme benutze und wenn ich den Pfad: http://localhost/blog/ eingebe. (blog heist meine sql-DB)

    also ich bin da mit meinem Latain am Ende…. zumal ich die gleichen Daten und einstellungen nutze wie in meinem Blog im Netz… nur das der funktioniert.

    Vielen Dank

  11. Klasse Anleitung, alles ging recht einfach.
    Bei der Installation des oben angegebenen wp 2.61 kam es zu Fehlern.
    Ich konnte mich nicht im Blog anmelden, alles Hyroglyphen.
    Fast hätte ich schon aufgegeben. Beim letzten Versuch mit der neuesten
    wp-version 2.9 ging es dann einwandfrei.

    Vielen Dank

  12. Wie sagt mein alter Lehrer?
    Man muß nicht alles wissen, man muß nur wissen, wo es steht.
    Und da oben stehts, wie es geht.
    Funktioniert einwandfrei, besten Dank.

  13. Vielen Dank für den Artikel. Wie muss man denn FTP einstellen? Wie lautet zum Beispiel die FTP-Adresse, die im FTP-Programm angegeben werden muss? Mit dem MAc scheint das alles etwas anders zu laufen…

  14. Pingback: N Gedanken zu “WordPress-Themes optimieren” | realloc's asylum

  15. Vielen Dank für diesen wirklich hilfreichen Artikel, ich habe schon oft versucht xammp zu installieren, jetzt hat es das erste mal in ein paar minuten funktioniert. Dankf mfg aus Obertauern (bei uns hat heute schon geschneit)

  16. Pingback: Der Start von JustExist | JustExist

  17. ich bin via Google auf Ihren tollen Artikel gestoßen – eben weil ich danach suchte, wie ich mir eine lokale Testumgebung aufbauen kann. Ich habe mir bislang eine „Testumgebung“ auf einer gesperrten Domain geschaffen.
    Ihre Anleitung ist einfach super. besten Dank, hat mir sehr weitergeholfen

  18. Pingback: WordPress lokal installieren und testen | nickbohle.de

  19. hallo und hilfe :/

    Über das Tool phpMyAdmin muss in der DB-Tabelle [prefix]_options der Wert “siteurl” angepasst werden. Hier sollte noch die Angabe zur lokalen Installation stehen. Diese muss auf die entsprechende Blog-Domain umgestellt werden. Nach dem Speichern des Werts sollte die Installation nun online erreichbar sein. Weitere Anpassungen können dann im Admin-Bereich vorgenommen werden (Bsp. Permalinks).

    sorry vielleicht eine dumme frage. aber ich finde nicht wo ich diesen schritt durchführen muss. bei meinem Host oder wieder in xampp? und wo da genau.. ich glaub ich bin blind -.-

  20. hallo, ich habe alles genauso gemacht wie erklärt – ich verstehe nur den letzten schritt nicht:

    Im letzten Schritt wird nun die lokale (und nackte) WordPress Installation an die “Live”-Installation angepasst.

    Die Ordner wp-content/themes und wp-content/plugins mit Hilfe eines FTP-Client (z.B. FileZilla) nach XAMPP Ordner/htwdocs/wordpress/wp-content/ kopieren,
    Theme und Plugins aktivieren
    und mit der eingebauten Export-/Import-Funktion von WordPress (WP Dashboard > Manage/Verwalten > Export im “Live”-Blog bzw. WP Dashboard > Manage/Verwalten > Import im “Test”-Blog) die Artikel vom “Live”-Blog einfügen.“

    woher soll ich diese plugins und themes kopieren?? wo bekomme ich die her?

    danke

  21. bei der Installation nach der obigen Anleitung bleibt die Installation stecken mit folgender Meldung:
    // ** MySQL settings ** // define(‚DB_NAME‘, ‚wordpress‘); define(‚DB_USER‘, ‚root‘); define(‚DB_PASSWORD‘, “); define(‚DB_HOST‘, ‚localhost‘); define(‚DB_CHARSET‘, ‚utf8mb4‘); define(‚DB_COLLATE‘, “);
    Fatal error: Call to undefined function load_textdomain() in C:\xampp\htdocs\wordpress\wp-admin\includes\admin.php on line 15

    was hab ich falsch gemacht?

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.