Ziel: eine geschützte Testumgebung für den eigenen WooCommerce-Shop unter einer Subdomain einzurichten

Du brauchst dazu:

  • praktische Erfahrung im Umgang mit deinem Webspace, dem Hochladen von Dateien per FTP, usw.
  • eine freie MySQL-Datenbank
  • genügend freien Speicherplatz auf deinem Webspace
  • das kostenfreie Plugin WP Migrate DB
  • Den absoluten Pfad zum Benutzer-Verzeichnis deines Webspace. Beispiel: /www/htdocs/xyz123/

Vorbereitung

Schau dir am besten das kurze Video auf der Plugin-Seite von WP Migrate DB an, damit du ungefähr weißt, was das Plugin tut und wie.

Lege auf deinem Webspace eine Subdomain für deine Testumgebung an, die auf ein eigenes, leeres Verzeichnis zeigt. In unserem Beispiel: test.example.com verweist auf das Verzeichnis /test-shop/.

Kopiere nun alle Dateien und Ordner außer der wp-config.php aus deiner Live-Installation in das neue Verzeichnis. (Kopieren, nicht verschieben!) Die wp-config.php lade herunter, um einige Änderungen daran vorzunehmen.

Während die Dateien in dein Test-Verzeichnis dupliziert werden, lege auf deinem Webspace eine neue, leere Datenbank an. Trage Name, Benutzer und Passwort für diese neue Datenbank in die heruntergeladene wp-config.php ein, die du später ins Test-Verzeichnis laden wirst.

Export der Datenbank

Installiere in deinem Live-Shop das Plugin WP Migrate DB und aktiviere es. Das Plugin ermöglicht es dir, direkt beim Export deiner Datenbank entscheidende Werte für die Verwendung in deiner Testumgebung umzubenennen – ein Vorgang, den du sonst manuell mit Suchen/ersetzen durchführen müsstest.

Du benötigst nun den absoluten Pfad zu deinem neuen Test-Verzeichnis /test-shop/. Wenn du dieses in der obersten Verzeichnisebene deines Webspaces angelegt hast, könnte der absolute Pfad etwa so aussehen:

/www/htdocs/xyz123/test-shop/

Frage deinen Hoster, wenn du nicht ganz sicher bist!

Rufe nun die Einstellungen von WP Migrate DB in deiner Live-Installation auf. Du findest sie unter Werkzeuge > WP Migrate DB.

Wir nehmen für unser Beispiel an, dein Live-System läge im Verzeichnis /wordpress/ und hätte die URL http://exampl.com. Dann sähe deine Konfiguration zum Export der Datenbank inklusive Umbenennungen so aus:

  • Current address (URL): http://example.com
  • New address (URL): http://test.example.com
  • Current file path: /www/htdocs/xyz123/wordpress
  • New file path: /www/htdocs/xyz123/test-shop

Die nachfolgenden Voreinstellungen des Plugins kannst du in aller Regel übernehmen und den Export mit einem Klick auf Export Database starten. Speichere die SQL-Datei auf deiner Festplatte, du brauchst sie gleich wieder.

Bei einer größeren Datenbank kann es sich lohnen, vor dem Export die Option Compress file with gzip zu aktivieren. Auch Spam-Kommentare und Beitragsrevisionen muss man nicht unbedingt mit exportieren.

Import in die Test-Datenbank

Deine zuvor exportierte SQL-Datei ist bereits fertig vorbereitet für die Verwendung in deiner Testumgebung. Du brauchst sie nur noch in die neue, leere Test-Datenbank importieren.

Das funktioniert bei den meisten Hostern mit dem serverseitig verfügbaren Tool phpMyAdmin. In der Admin-Oberfläche von phpMyAdmin wähle durch Klick zuerst deine Test-Datenbank zum Bearbeiten aus. (Bei manchen Hostern erübrigt sich dieser Schritt, und du befindest dich direkt in der Admin-Oberfläche für diese eine Datenbank.)

Navigiere nun zum Tab Importieren. Wähle als zu importierende Datei die SQL-Export-Datei von eben von deiner Festplatte und starte den Import mit Klick auf Ok. Wenn alles glatt läuft, siehst du nach einigen Sekunden (kann auch mal eine Minute sein) die Erfolgsmeldung, dass die Tabellen aus deiner Export-Datei in deine Test-Datenbank importiert wurden.

Verzeichnis schützen und wp-config.php hochladen

Damit deine Test-Umgebung nicht öffentlich zugänglich ist, solltest du einen serverseitigen Verzeichnisschutz für dein Test-Verzeichnis test-shop aktivieren. Viele Hoster bieten hierfür Optionen in der Admin-Oberfläche des Webspace.

Sicher aber auf jeden Fall die Datei .htaccess aus /test-shop/, bevor du einen Verzeichnisschutz anlegst!

Die Datei enthält wahrscheinlich einen wichtigen Code-Schnipsel für deine Permalink-Einstellungen. Sichere die Datei also am besten als htaccess.txt auf deiner Festplatte. Dann lege den Verzeichnisschutz an und übertrage hinterher die Einträge aus der lokal gesicherten htaccess.txt in die neu generierte .htaccess auf dem Webspace.

Zuletzt brauchst du nur noch deine vorhin lokal gesicherte wp-config.php, die ja nun die richtigen Zugangsdaten zu deiner Test-Datenbank enthält, in dein Test-Verzeichnis /test-shop/ laden.

Anschließend sollte eine komplette geschützte Kopie deines Shops unter deiner neuen Subdomain http://test.exampl.com erreichbar sein.

Debug-Modus aktivieren

So ziemlich der wichtigste Verwendungszweck deiner neuen Testumgebung besteht ja darin, Dinge zu testen. 😉 Dafür solltest du den Debug-Modus aktivieren, so dass Fehlermeldungen, die ggf. von Themes oder Plugins verursacht werden, dir direkt im Browser angezeigt werden.

Öffne dafür noch einmal die wp-config.php (die auf dem Webspace) und setze die Konstante WP_DEBUG auf den Wert true:

define( `WP_DEBUG`, true );

Für viele Themes (z.B. die von MarketPress) kann es außerdem nützlich sein, die Konstante SCRIPT_DEBUG ebenfalls auf true zu setzen:

define( `SCRIPT_DEBUG`, true );

Ist dies der Fall, laden die Themes nicht die „minifizierten“ Versionen ihrer Stylesheets (z.B. style.min.css), sondern die lesbaren (z.B. style.css).

Fertig

Deine Testumgebung ist nun fertig eingerichtet und du kannst drauflos testen. Achte darauf, dass sowohl die Inhalte, als auch die Versionen von WordPress, deinem Theme und deinen Plugins immer möglichst genau dem Stand deines Live-Systems entsprechen. Das ist wichtig, damit du beim Testen und/oder bei einer Fehlersuche repräsentative Ergebnisse erhältst.

Manchmal möchtest du natürlich gerade eine neuere Version eines Plugins testen, etwa einen Release-Kandidaten für ein anstehendes Update. In diesem Fall ist es natürlich in Ordnung, diese neue Version zu installieren. In der Regel wirst du das per FTP tun müssen.

Fehlersuche

Wenn es um eine Fehlersuche geht, bitten wir im Helpdesk bei MarketPress stets darum, dass du unter „Standard-Bedingungen“ testest. Standard-Bedingungen bedeutet:

  • Als Theme ist eines der mitgelieferten Standard-Themes von WordPress aktiv, z.B. TwentyTwelve.
  • Alle Plugins sind deaktiviert, außer WooCommerce und German Market.
  • WordPress, das Theme und alle aktiven Plugins befinden sich auf ihrem jeweils aktuellen Stand, also in der neusten Version. Ausnahme: du testest bewusst eine andere Version oder einen Release Candidate.

Weitere Tipps für das Setup einer Testumgebung (Plugins, Tools) haben wir hier gesammelt:

Testumgebung einrichten

Wiederherstellungspunkte setzen

Das Plugin WP Migrate DB eignet sich in deiner Testumgebung hervorragend dazu, Wiederherstellungspunkte zu setzen. Ein Wiederherstellungspunkt hilft dir, schnell den Originalzustand deiner Testumgebung wiederherzustellen, falls du sie dir bei einem Test mal „zerschossen“ hast – was sicher vorkommen wird, denn der Sinn einer Testumgebung ist es ja, Sachen kaputt zu machen. 😉

Lege dir einfach, gemäß der obigen Beschreibung für den Export, verschiedene SQL-Export-Dateien für verschiedene Zustände deiner Test-Datenbank lokal auf deiner Festplatte ab. Über phpMyAdmin kannst du jederzeit alle Tabellen der Test-Datenbank löschen, eine Wiederherstellungsdatei importieren und hast so in nullkommanix wieder eine funktionierende Testumgebung.