Über den Author / Internet / Lokale WordPress Testumgebung (mit XAMPP)

Lokale WordPress Testumgebung (mit XAMPP)

~3 Min. Lesezeit

Es ist immer sinnvoll Änderungen in einer Testumgebung vorzunehmen und erst im Nachhinein diese auf einer produktiven Umgebung einzuspielen. Fehler können nicht nur zu einem kurzzeitigen Problem, sondern sogar zu Datenverlust führen. Diese Regel gilt auch bei WordPress Installationen.

Entweder man erstellt online eine Kopie seines Blogs oder auf dem lokalen PC. Dies hat den Vorteil das man auch Offline noch am Blog arbeiten kann.

 
Was es als erstes braucht ist ein LAMP Konstrukt. Ich entscheide mich da immer recht schnell zu XAMPP für Testinstallationen.
Die Installationsdatei oder das portable Paket bekommt man von hier: XAMPP Windows Download.
Ich habe mich für das ZIP als portable Lösung entschieden.

Hat man dies heruntergeladen, kann man die Applikation auf den Datenträger nach Wahl installieren. Zu beachten hierbei, XAMPP sollte direkt auf den Datenträger ohne Unterordner installiert werden (z.B. C:\xampp).

wordpress heruntergeladen 
Ist dies erledigt, öffnet man das Verzeichnis C:\xampp\htdocs und löscht alle beinhalteten Dateien. Anschliessend verbindet man sich per FTP auf seinen produktiven Blog und ladet alle beinhalteten Dateien in das zuvor geleerte Verzeichnis herunter.
 
Nun startet man das Programm C:\xampp\xampp-control.exe und klickt je bei Apache und MySQL einmal auf Start und minimiert das Programm bei nach den erfolgreichen Starts, was man durch den Status „Running“ sieht.

Danach ist der Apache unter http://localhost/ und die MySQL Datenbank unter localhost:3306 erreichbar. Was wir nun noch brauchen ist die Datenbank, welche wir über ein datenbankbackup erhalten und den Datenbankbenutzer vom Blog um die Verbindung mit dem MySQL Server herzustellen.

Dazu öffnen wir die Datei D:\xampp\htdocs\wp-config.php und notieren uns die markierten Zeilen (17,18,19,26) und ändern gegebenenfalls die markierte Zeile 20 auf ‚localhost‚ ab:

<?php
/**
 * In dieser Datei werden ein paar Grundeinstellungen für WordPress vorgenommen.
 *
 * Zu diesen Einstellungne gehören: MySQL Einstellungen, Tabellenpräfix,
 * Secret Keys, Sprache und ABSPATH. Mehr Informationen zur wp-config.php gibt es auf de {@l
 * wp-config.php editieren} Seite im Codex. Die Informationen für die MySQL-Datenbank bekomm
 *
 * Diese Datei wird von der wp-config.php-Erzeungsroutine verwendet. Sie wird ausgeführt, wen
 * und die Installationsroutine (/wp-admin/install.php) aufgerufen wird.
 * Man kann aber auch direkt in dieser Datei alle Eingaben vornehmen und sie von wp-config-sa
 *
 * @package WordPress
 */

// ** MySQL Einstellungen ** //
define('DB_NAME', 'meinblog');    // Ersetze putyourdbnamehere mit dem Namen der Datenbank, d
define('DB_USER', 'meinbenutzer');     // Ersetze usernamehere mit deinem MySQL-Datenbank-Ben
define('DB_PASSWORD', 'meinpassword'); // Ersetze yourpasswordhere mit deinem MySQL-Passw
define('DB_HOST', 'localhost');    // In 99% der Fälle musst du hier nichts ändern. Falls doc
define('DB_CHARSET', 'utf8');	// Der Datenbankzeichensatz sollte nicht geändert werden
define('DB_COLLATE', '');
...
// Wenn du verschiedene Präfixe benutzt, kannst du innerhalb einer Datenbank
// verschiedene WordPress-Installationen betreiben.
$table_prefix  = 'wp_';   // Nur Zahlen, Buchstaben und Unterstriche bitte!
...

Ein WordPress Datenbank Backup kann man sich entweder vom Hoster erstellen lassen oder auch per WordPress Plugin (z.B. WP-DBManager)selber erledigen. Wer die Möglichkeit hat, kann das Backup auch gleich auf der Shell mit dem Befehl erledigen:

mysqldump –opt -umeinbenutzer -pmeinpassword meinblog > blog_backup.sql

Hat man das Backup heruntergeladen, kann man folgende URL im Browser aufrufen:

Im phpMyAdmin wechselt man ins Tab „SQL“ und fügt folgenden Befehl ein, wobei man die fett geschriebenen Inhalte ersetzt mit den zuvor notierten:

CREATE DATABASE `meinblog`;
GRANT ALTER,CREATE,DELETE,DROP,INDEX,INSERT,REFERENCES,SELECT,UPDATE ON `meinblog`.* TO `meinuser`@`localhost`;
SET PASSWORD FOR `meinuser`@`localhost`=PASSWORD('meinpassword');
FLUSH PRIVILEGES;

Anschliessend wird auf der Linken Seite die neue Datenbank meinblog sichtbar sein. Wenn man diese nun anklickt, öffnet sich diese und man kann dann in den Tab Importieren wechseln und das Datenbank Backup (.sql Datei) einspielen.

Grundsätzlich würde die Webseite nun bereits laufen, aber noch hat es diverse Links (Domain),die automatisch wieder zur produktiven Seite führen. Diese muss man ersetzen.

Dazu gehen wir wieder im phpMyAdmin in den Register SQL und fügen folgende Befehle ein:

update `meinblog`.`wp_options` set option_value = replace(option_value,'www.murawski.ch','localhost');
update `meinblog`.`wp_posts` set post_content = replace(post_content,'www.murawski.ch','localhost');

Selbstverständlich muss man auch hier die fett markierten Text gegen die eigenen Werte austauschen und dann per Go bestätigen. Dieses Query kann eine Zeit laufen, je nach Anzahl der Einträge die man hat.

Ist Alles erfolgreich verlaufen, sieht man dann auf der Webseite http://localhost/ den eigenen Blog.

PS: Nach einem PC Neustart muss man die Datei C:\xampp\xampp-control.exe erneut aufrufen und Apache und MySQL starten, damit die Testumgebung wieder erreichbar ist.

About Stefan

avatar
Ein männlicher IT Nerd, durchstöbert das Web nach speziellen Gadgets, unentbehrlicher Software und Alles was man im IT Sektor nicht verpassen darf. Immer hilfsbereit wenn Probleme zu lösen sind oder das Unmögliche umgesetzt werden sollte.

Weitere interessante Artikel

User Profile migrieren oder backuppen

~0 Min. LesezeitFirmen synchronisieren User Profile über die Domain. Privatpersonen verlieren oft das User Profil, …

WordPress Multi mit verschiedenen Domains einrichten

~0 Min. LesezeitUm mehrere Domains separat innerhalb von WordPress zu verwalten, kann man eine MultiSite …

3 Kommentare

  1. avatar

    Ich benutzer USBWebserver 8 dafür, dann habe ich alle 12 Sandboxes immer aufm Stick dabei 🙂

  2. avatar

    Prima Anleitung… besonders mit den SQL Befehlen findet man das sonst nicht so häufig im Netz. Bei mir heissen die Einträge

    update `meinblog`.`wp_options` set options_value = replace(options_value,’blog.murawski.ch‘,’localhost‘);
    update `meinblog`.`wp_posts` set post_content = replace(post_content,’blog.murawski.ch‘,’localhost‘);

    allerdings „option_value“ und nicht „options_value“

    Beste Grüße
    Martin

  3. avatar

    Danke, wurde korrigiert.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

eMail-Benachrichtigung bei weiteren Kommentaren.
Auch möglich: Abo ohne Kommentar.