Einen Online-Blog klonen und lokal installieren - Guru 2.0
Einen Online-Blog klonen und lokal installieren

Einen Online-Blog klonen und lokal installieren

Einfach ist anscheinenden nicht so einfach!

Denn sonst würden nicht in den verschiedensten Gruppen und Foren immer wieder dieselben Fragen auftauchen, wie diese

…habe ich WP 4.0 in virtueller Umgebung installiert und meine Datenbank importiert (mit MAMP). Allerdings erscheinen in WP nur die Kommentare, aber die Seiten und Beiträge bleiben verschwunden…

Dabei hat der Guru 2.0 doch schon alles irgendwann mal beschrieben:
Wie installieren ich WordPress lokal?
Ein WordPress-Blog übersiedeln oder was muss ich in der Datenbank ändern?

Beginners Corner

Beginners Corner

Darum habe ich mich entschieden euch allen nochmals eine Schritt für Schritt Hilfe zu geben. Einfach von Anfang bis zum Ende, alles mit einfachen Worten genau beschrieben. Da sollte es doch mit dem lokalen Blog auch klappen. Fangen wir einfach an und springen ins kalte Wasser. Zuerst benötigen wir eine funktionierende Installation von WordPress auf deinem Computer. Ob du deinen physikalischen Computer oder eine virtuelle Maschine verwendest ist egal. Für beides kannst du den Post von vor ein paar Tagen für die WordPress-Installation verwenden.

Die Online-Daten übertragen

Ja zuerst müssen wir wissen wo etwas gespeichert wird und wie unser Blog aufgebaut ist. Denn ich sehe auch Fragen wie folgende.

…auch weg ist, sind die ganzen Einstellungen von Plugins und von WP selbst (also Permalink-Struktur usw.). Ich dachte sowas wird im Ordner wp-content gespeichert?…

Also WordPress speichert alles in einer Datenbank. Naja nicht alles, aber ich behaupte mal 90% der Infos sind wirklich in der Datenbank. Du hast noch eine Datei wp-config.php im Hauptverzeichnis des Blogs liegen. In dieser Datei sind alle Konfigurationsdaten des Blogs (Datenbankname, Benutzername, Passwort für die Datenbank und anderes gespeichert.

Danach gibt es noch ein Verzeichnis uploads/ das ist ein Unterverzeichnis von /wp-content/ und dort sind die gesamten Dateien der Mediathek (meistens Bilder) gespeichert. Aber nur die Dateien selber, denn der Titel und weitere Infos liegen wieder in der Datenbank von WordPress.

Jetzt müssen wir eine Entscheidung treffen: Wollen wir einen echten Klone oder nur die Daten übernehmen? Ich beschreibe euch diesmal, wie wir einen echten Clone erstellen. Daher legen wir im htdocs/ Ordner einen neuen Ordner mit dem Namen wplocal/ an. Jetzt startest du dein FTP-Programm und überträgst alle Daten von deinem Webspace in dieses Verzeichnis. Also alle Dateien welche im dem Ordner liegen, in dem auch die Datei wp-config.php oder der Ordner wp-content/ gespeichert ist.

Die Dateien vom Blog mit FTP auf den lokalen Server übertragen

Die Dateien vom Blog mit FTP auf den lokalen Server übertragen

Die Konfiguration anpassen

Wenn alles übertragen wurde, öffnest du die wp-config.php mit einem Editor und musst dir vielleicht ein paar Daten aufschreiben oder auch merken. Damit dir alles leichter fällt habe ich dir die vier entscheidenden Punkte um folgenden Bild markiert.

Fangen wir mit Punkt 1 an. Dies ist der Name der Datenbank (hier db233487291), den brauchen wir gleich um ihn lokal anzulegen und zu verwenden.
Bei Punkt 2 trägst du jetzt root und auch bei Punkt 3 trägst du jetzt root ein. Den Wert aus Punkt 4 (hier wp_) musst du dir wieder merken, weil wir ihn später für die Änderungen in der Datenbank brauchen.

Die Datei wp-config.php für den lokalen Clone anpassen.

Die Datei wp-config.php für den lokalen Clone anpassen.

Die lokale Datenbank anlegen

Jetzt starten wir unseren MAMP und dort phpMyAdmin und legen die Datenbank an. Wie du das machst, findest du im Post WordPress lokal installieren. Du musst nur den Datenbanknamen vom Punkt 1 verwenden.

Die Online-Datenbank sichern

Jetzt benötigen wir eine Sicherung deiner Datenbank vom Blog der Online ist. Dies kannst du auf verschiedene Varianten erhalten. Entweder du verwendest ein PlugIn wie WP Backup oder du kannst bei deinem Hoster im BackEnd auch ein phpMyAdmin starten (das ist meine bevorzugte Version, welche ich hier auch beschreibe). Zuerst klickst du auf die Registerkarte Exportieren und dann auf Angepasst. Wähle auch die Ausgabe als Text am Bildschirm.

Die Datenbank vom Online-Blog exportieren

Die Datenbank vom Online-Blog exportieren

Nun folgt der zweite Teil der Einstellungen. Du musst eigentlich nur die Zahl bei Maximale Länge der erstellten Abfrage von 50000 auf 50000000 ändern. Das sollte auch für große Blogs reichen

Die Größe der Ausgabedatei in phpMyAdmin festlegen

Die Größe der Ausgabedatei in phpMyAdmin festlegen

Nun klickst du auf OK und nach kurzer Zeit erhältst du die ganze Datenbank in einem neuen Browserbildschirm angezeigt. Diesen Text markierst du und kopierst ihn in die Zwischenablage.

Die Online-Datenbank in die lokale Datenbank einfügen

Jetzt wechselst Du in das phpMyAdmin-Interface deiner lokalen Installation. Achte darauf, dass in der Adresszeile wirklich so etwas wie http://localhost/ steht. Hier klickst du auf die Registerkarte SQL und in das Textfeld fügst du die SQL-Befehle aus der Zwischenablage ein. Mit einem Klick auf OK startest du den Import und die Daten vom Online-Blog werden in deine lokale Datenbank übertragen.

SQL-Daten in die lokale Datenbank übertragen

SQL-Daten in die lokale Datenbank übertragen

Die lokalen Daten in der SQL-Datenbank anpassen

Jetzt kommt der letzte Teil mit dem Anpassen der Online-Daten. Wie wir bereits wissen, speichert WordPress wirklich alle relevanten Daten in der Datenbank. Daher auch die Posts, Seiten und Bildpfade und vieles mehr. Und bei den meisten speichert WordPress auch den Pfad dazu. Und im Pfad steht der Domänenname, diesen werden wir jetzt austauschen. Dazu verwenden wir jedes Mal das Eingabefeld im Register SQL des lokalen phpMyAdmin-Fensters.

Zuerst brauchen wir den lokalen Domänennamen. Am einfachsten findest du ihn im Browser. Schau jetzt oben in die Adresszeile, dort findest du ihn. Ich habe dir heir ein paar zusammengestellt, damit du eine Ahnung hast, wie sie lauten können. Nehmen wir an die erste Zeile ist richtig. Dann lautet dein lokaler Domänenname http://localhost/wplocal/. Ich zeige dir in der Folge die SQL-Beispiele für die erste und die zweite Zeile.

Den lokalen Domäennamen finden

Den lokalen Domäennamen finden

Beginnen wir mit den Optionen von WordPress. Hier finden sich Werte aus den Einstellungen des Dashboards oder auch von PlugIns.  Den Teil meine.alte.tld musst du durch den Domänennamen deines Online-Blogs ersetzen und den zweiten Wert auf deinen lokalen Domänennamen ändern.
Jetzt brauchen wir auch die 4. Information aus der Datei wp-config.php. Wenn dort etwas anderes als wp_ steht muss du in den SQL-Befehlen das wp_ direkt nach Update mit deinem Wert ersetzen.

oder

Nun müssen wir die eindeutige Kennung aller Posts, Seiten und Einträge ändern. Dies machen wir mit dem folgenden Befehl. Nimm dieselben Anpassungen wie gerade eben.

oder

Als letzten Schritt musst du noch alle Verweise auf deinen Online-Blog aus den Posts entfernen. Dies erledigen wir mit dem folgenden Befehl, wo du wieder dieselben Anpassungen wie vorher vornimmst.

oder

Nun kannst Du deinen lokalen Blog mit beispielsweise http://localhost/wplocal im Browser aufrufen. Jetzt könnte es passieren, dass du eine Fehlermeldung bekommst, da die Datenbankverbindung nicht klappt. Meistens ist das Problem das Passwort für die Datenbank in der wp-config.php. Öffne die Datei und lösche das Wort root beim 3. Punkt. Abe nur das Wort, die Anführungszeichen lässt du bitte stehen. Speichere die Datei und versuche es nochmals.

Ich hoffe ich konnte dir weiterhelfen und einen lokalen Clone erstellen. Falls du Fragen dazu hast, schreib doch einfach einen Kommentar.

Es wurden 2 Kommentare zu diesem Beitrag geschrieben.

  • Christian Zumbrunnen

    Hallo Clemens
    Zuerst: ich finde es super, dass du (wieder) so regelmässig blogst, danke! Dein WordPress Buch finde ich Spitzenklasse.
    Bei diesem Artikel hast du meiner Meinung nach möglicherweise etwas über das Ziel hinaus geschossen. Denn wenn du die Strings in der Datenbank so anpasst, wie du das hier beschreibst, hast du unter Umständen Probleme mit gewissen serialisierten Einträgen in der Datenbank. Ausserdem gibt es hervorragende Plugins, welche einem den grössten Teil der Arbeit abnehmen können, z. B. Duplicator oder WP Migrate DB. In vielen Fällen scheint es mir zu genügen oder ist sogar besser nur die Inhalte zu exportieren (Werkzeuge / Daten exportieren) und in der neuen Installation wieder zu importieren. Das einzige, worauf man achten muss: Am neuen Ort müssen das Theme und die Plugins, die man benutzt, bereits installiert sein, sonst können allfällige Custom Post Types nicht importiert werden.
    Ausserdem werden so manche Einstellungen (Menupositionen, Widgets, Theme Anpassungen) nicht mitübernommen. (Die kann man teilweise separat exportieren und importieren, z. B. mit einem Plugins wie Widget Importer & Exporter).
    In vielen Fällen ist das kein Problem. Bei einer lokalen Installation hat man möglicherweise viel ausprobiert, Plugins installiert und wieder entfernt und die Datenbank hat sich gefüllt mit Post-Revisionen, Einstellungen von Plugins, die gar nicht mehr verwendet werden oder sogar mit Tabellen, die man nicht mehr benötigt. All das wird auf diese Art nicht mitmigriert, was die neue Installation sauberer und möglicherweise schneller macht.
    Liebe Grüsse aus der Schweiz

    • Guru 2.0 Autor

      Hallo Christian!

      Danke für deinen ausführlichen Kommentar. Er zeigt auch eine der vielen Wege auf und ich finde es unter deinen Gesichtspunkten auch wirklich gut. Der Post von mir war eher dafür gedacht einen 1:1-Clone zu erzeugen, denn gerade wenn man ein Update probieren will oder einen Fehler sucht, ist oft so eine Kopie der beste Weg es zu finden.

Blogheim.at Logo
Diese Website verwendet Cookies - nähere Informationen dazu finden Sie in unserer „Datenschutzerklärung“. Klicken Sie auf „Ich stimme zu“, um Cookies zu akzeptieren und unsere Webseite zu besuchen, oder klicken Sie auf „Cookie-Einstellungen“, um Ihre Cookies selbst zu verwalten.