WP – Installation klonen

Hier eine Kurzanleitung, wie ich meine WordPress-Installation öfters von meiner „produktivem“ Umgebung auf meine „Testumgebung“ auf einem anderen Webspace kopiere.
Diese Testinstallation ist am Ende unter einer anderen Internetadresse erreichbar, sieht aber ansonsten völlig identisch aus wie der „produktive“ Blog und hat auch die gleichen Inhalte und Plugins.

Als allererstes sollte bzw. muss vom zu klonenden System ein Backup erstellt werden.
Dazu nutze ich Dropbox-Backup in der kostenlosen Version. Dieses Tool erstellt letztlich eine „große“ Datei mit allem was zum Blog gehört wie: DB, Themes, Plugins, en hochgeladenen Bildern, …

Danach muss eine neue,  „leere “ WordPress-Installation („Hülle“) angelegt werden, wo dieses Backup dann „reinkommt“.

Wie diese händig geht geht, zeigen die nächsten Schritte.
Es gibt auch Tools, welche „automatisiert“ eine Kopie (klone) einer installation anlegen, aber meine Meinung ist, wenn man es händig macht versteht man eher, wie WordPress „tickt“.
(Tools zur Automatisierung liste ich am Ende kurz auf).

    1. WordPress runterladen, entpacken,  wp-config-sample.php  anpassen und als  wp-config.php  speichern
    2. Neue Datenbank auf Webspace in phpmyAdmin anlegen (ohne Tabellen etc.)
      (falls eine schon vorhanden alle ca. 12 Tabellen von WordPress über die GUI löschen)
    3. WordPress (letztlich 3 Ordner plus Dateien in „/root“ incl. angepasster  wp-config.php) auf Server hochladen (Domain.de[/Pfad]
    4. WordPress installation starten, im Browser: Domain.de[/Pfad]/wp-admin
      (Admin-Name (Tipp: admint für AdminTest verwenden), Passwort, Sprache etc. eingeben)
    5. WordPress-Admin öffnen (Domain.de[Pfad]/wp-admin
      5A) Über „Plugins“ dort das Plugin installieren:  „Dropbox Backup & Restore“, aktivieren.
      Einen neuen Ordner erstellen unter: Domain.de[/Pfad]/wp-content/Dropbox_Backup  (Ordnername muss „full“ enthalten!)
               Dorthin die wiederherzustellenden Dateien vom zuvor erstellten Dropbox-Backup reinkopieren.
      Das Plugin „Dropbox Full Backup“ über Web-Admin GUI starten, sollte das Wunschbackup zum restore anbieten.
      Restore starten.
      Hinweis: Die Webseite ist jetzt noch nicht wie erwartet erreichbar!!
      5 B)  myphpAdmin starten, die „neue“ DB auswählen
      In der Tabelle „wp_Options“ => „siteurl“ sowie „Home“ anpassen  (mit http://www…. !!)  [sowie die Blog-description (http://domain.de/[/Pfad]]
      5C) Im neuen WordPress anmelden (noch mit altem Namen (z.B. adminp) und Passwort ).
      Unter „Benutzer“ neuen Admin-User (z.B. admint (test)) anlegen, sich mit diesem in WP anmelden, den alten Admin-Account (adminp) löschen)
      5D) Falls noch nicht installiert: In WordPress => Plugin => das kostenlose Plugin „suchen & ersetzen“ („search & replace“) von Inpsyde installieren: Klick
      Dieses Plugin ist dann zu finden in Seitenleiste: „Werkzeuge => suchen&ersetzen“ [starten, dortige Option „DB sichern“ nutzen] Dann nach altem Domain/Pfad -String suchen („Domain.de[/Pfad]“ und ersetzen durch neuen „Domain.de[/Pfad]“
      „Alle Tabellen auswählen“; testlauf aktiviert lassen, Details anschauen und kontrollieren.
      Wenn OK: „Testlauf“-haken (in „suchen&ersetzen) entfernen, „Änderungen in DB schreiben auswählen“ und „Suche und Ersetze“ starten.

Falls die Links in Beiträgen oder Startseite noch nicht funktionieren (Permalinks), diese unter „Einstellungen => Permalinks“ mal kurz de- und wieder reaktivieren!

Falls mache Bilder oder Seiten nicht erreichbar sind/angezeigt werden: testen, ob es mit bzw. ohne http und/oder http://www funktioniert.
Dann in Domain-konfiguration (Subdomian, Ziel, Weiterleitung) prüfen und/oder in der WP-Datenbank (siteurl und home).

Hinweis/Tipp:
Unahängig ob man wie oben beschrieben „manuell“ cloned oder automatisiert (weiter unten), auf dem „Clone“ bzw. der Kopie sollte man evtl. bestimmte Plugins deaktivieren oder löschen (Backup-Tool, Suchmaschinen-Tool, Traffic-Tool, …)
Ebenso empfiehlt es sich, den Blog-Titel (im Theme-Header) umzubenennen (Bsp. ein „TEST!“ im Blogtitel voranstellen um mögliche Verwechslungen zu vermeiden.).
Unterschiedliche Logins (Datenbank und WordPress) sind da auch hilfreich (adminp für Prod, admint für Test, adminc für den Clone)


Automatisiert klonen / WP Kopie anlegen:

Plugin „Duplicator“ (kostenlos, gibt auch auf Premium features):
Erzeugt zunächst eine Archivdatei mit „allem“, incl. WP-Content und DB (in der Art: Datum_Name_Zahl_archive.zip) und eine passende „installer.php -Datei. Diese müssen auf den den neuen Server oder in das lokale Testverzeichnis kopiert werden. Das erstellte installer.php muss dort gestartet werden (<Pfad>/install.php bzw. <Domain>/install.php). Ein Installationsprogramm startet … Es muss u.a. festgelegt werden, in welche DB (muss vorhanden sein!) der Content geschrieben werden soll. Das Script erkennt automatisch den neuen Pfad / die Domain und tauscht diese Daten (Pfadangabe etc.) aus. Die WP-Dateien incl. Plugin werden natürlich auch im neuen Speicherort abgelegt.
Beachten: Der User und das Passwort sind die vom erstellen Blog! Ggf. (und empfehlenswert) den Admin-User und das Passwort ändern, damit man nicht versehentlich sich in die falsche Umgebung einlogt …
Beschreibung / Lesetipp: Klick

Einen etwas anderen Weg als „Duplicator“ geht das Plugin „Staging„:
Dieses legt in der gleichen DB wie die zu klonende WP-Installation neue Tabellen an,  und im bestehenden WP-Ausgangsordner einen neuen Unterordner, in welches WP die bestehende WP-Installation „reinkopiert“ wird. Nachteil ist,  wenn ein Plugin die DB lahmlegt, ist auch die produktive DB betroffen. Vorteil: Das „staging“ geschieht auf Knopfdruck. Auch erscheint die Staging Admin-Umgebung in einer anderen Farbe: So erkennt man sofort, in welcher Umgebung man sich befindet.
Beschreibung / Lesetipp bei Dr.Web: Klick