291 views
# WP Import ohne NoBlogs English Version: https://pad.nixnet.services/s/duQF3vluS# Sobald noblogs.org offline ist, funktioniert der von Autistici beschriebene Weg das Backup-File zu importieren nicht mehr, da die Bilder nicht mehr vom alten (noblogs.org) Blog geholt werden können. <!--Zum Glück hat Autistici die Bilder separat dem Backup-Ordner hinzugefügt. Mit dieser Anleitung könnt ihr eure Seite trotzdem in ein neues Wordpress importieren. --> Zum Glück gibt es jetzt https://nublogs.org, einen Server wo alle alten noblogs-Seiten read-only archiviert wurden. Von dort können wir die Bilder holen. ## Mediendateien von nublogs.org importieren ### Voraussetzungen - Ein neues Wordpress mit einer neuen Domain, z.B. https://neue-seite.net. - Die export.xml aus dem backup-Archiv, das die noblogs-Admins herumgeschickt haben bevor die Seite offline ging - Eure Seite muss auf nublogs.org archiviert worden sein, also z.B. https://example.nublogs.org wenn sie vorher https://example.noblogs.org/ hieß. :::info Das `example` in der Beispiel-Domain ist eure alte "subdomain", die brauchen wir später noch. ::: ### 1) Die URLs in der export.xml anpassen Am Anfang müssen wir die export.xml leicht umschreiben, damit die Mediendateien von nublogs.org importiert werden können, und die Links auf eure neue Seite zeigen. <!--#### a) Umschreiben der Medien-URLs--> Macht einmal ein kleines Backup der export.xml, indem ihr die Datei einmal in ein anderes Verzeichnis kopiert. Dann öffnet die export.xml in einem Text-Editor, der "Suchen + Ersetzen" unterstützt. Das benutzen wir jetzt, um alle URLs von Mediendateien (also v.a. Bilder) zu ändern: - **Suche:** `https://example.noblogs.org/files/` - **Ersetze:** `https://example.nublogs.org/files/` :::info Das müsst ihr leicht auf eure Situation anpassen: statt `example` müsst ihr mit eurer alte subdomain suchen + ersetzen. Aber vor allem geht es darum, n**o**blogs durch n**u**blogs zu ersetzen. ::: <!-- #### b) Umschreiben der Links Nachdem wir die Medien-URLs geändert haben, müssen wir jetzt noch alle normalen Links ändern: - **Suche:** `https://example.noblogs.org` - **Ersetze:** `https://neue-seite.net` :::warning Passt auf, dass ihr Schritt 1a) zuerst gemacht habt, sonst zeigen die Medien-URLs nämlich nicht auf example.nublogs.org, sondern auf neue-seite.net, wo die Medien ja noch gar nicht importiert wurden. ::: --> ### 2) Der Import der export.xml in eure neue Seite Nun loggt euch in eure neue Seite ein, vermutlich unter https://neue-seite.net/wp-admin. *(Wenn ihr die Seite noch nicht erstellt habt, müsst ihr eine Sprache auswählen, und einen Admin-User erstellen. Im Gegensatz zu Methode 2 kann und sollte der User genauso heißen wie bei eurer alten Seite, also so wie eure alte Subdomain.)* Im Admin-Dashboard findet ihr die Import-Funktion unter **"Werkzeuge > Import > Wordpress"**, dort müsst ihr einmal auf **Jetzt installieren** klicken, und dann auf **Importer ausführen**. Dann müsst ihr die export.xml hochladen. Nun könnt ihr ein paar Auswahlmöglichkeiten treffen: - weist die Beiträge am besten eurem neuen Benutzer zu - aktiviert "Dateianhänge herunterladen und importieren" - lasst "Alle importierten URLs, die derzeit auf die vorherige Website verweisen, so ändern, dass sie nun auf diese Website verweisen" aktiviert Voilà! Nachdem ihr auf "Absenden" klickt, wird es ein bisschen brauchen. Wundert euch nicht, wenn ein "504 Gateway Timeout" Fehler kommt, das heißt er ist noch nicht fertig. Ihr könnt in einem anderen Tab beobachten, wie euer Blog mit den alten Beiträgen und Seiten befüllt wird. ### 3) Theme, Plugins, und Menüs wiederherstellen Was keine der bei noblogs.org möglichen Backup-Methoden hinkriegt, ist das wiederherstellen von Theme, Plugins, und Menüs. Dafür müsst ihr leider manuell ran. Ihr könnt das nublogs.org-Archiv als Vorlage nehmen, wie es früher aussah. Das wars! Danach habt ihr eure alte Webseite wieder und könnt damit weitermachen. <!-- # Methode 2: Dateien aus dem backup-Archiv importieren :::warning Leider erfordert diese Anleitung die Benutzung der Kommandozeile. Wir haben bisher keinen Weg gefunden, alle nötigen Schritte aus der Oberfläche von Wordpress durchzuführen. Außerdem sind einige Kenntnisse von der Wordpress-Administration hilfreich. ::: :::danger Dies ist auch KEINE Anleitung aus der die Befehle einfach kopiert und in die Kommandozeile eingefügt werden können. Sie müssen an eure Umgebung angepasst werden. ::: :::success Bei Problemen oder Fragen könnt ihr euch gerne an uns wenden: allblogsarebeautiful@systemli.org ::: ## Voraussetzungen * Ein neues Wordpress. **WICHTIG: Der angelegte User darf unter keinen Umständen mit eurem User von Autistici identisch sein.** Am besten gebt ihr dem bei der Wordpress-Installation initial erzeugten admin-User einen Namen mit zufälligen Zeichen. Erklärung: Beim späteren Import der alten Beiträge wird der alte User von noblogs neu angelegt, es würden dann zwei User mit dem gleichen Namen existieren, was sich nicht mehr reparieren lässt. * SSH-Zugang zum neuen Wordpress-Server * Kenntnisse der Linux-Shell und über die Konfiguration des Webservers ## 1) Festellen, ob das Tool wp-cli installiert ist Mit wp-cli lässt sich ein Wordpress aus der Kommandozeile administrieren. Dabei stehen mehr Funktionen zur Verfügung, als die Web-Oberfläche bietet. Mit etwas Glück hat euer Hoster das Programm schon installiert. Wenn ihr mit dem Befehl `wp --info` eine Ausgabe bekommt, ist es vorhanden und ihr könnt zum nächsten Schritt gehen. Wenn ihr einen Fehler bekommt, muss zunächst wp-cli nach dieser Anleitung installiert werden. https://make.wordpress.org/cli/handbook/guides/installing/ Ladet wp-cli.phar in jedem Fall entsprechend der Anleitung herunter. Wenn ihr kein`sudò` habt, könnt ihr wp-cli.phar auch in eurem Verzeichnis umbenennen und von dort benutzen. Denkt nur daran, den Ort des Befehls in den folgenden Kommandos anzupassen. ## 2) Die URLs im export.xml File anpassen Die Datei export.xml aus dem Backup-Archiv von Autistici enthält sowohl für die Bilder, als auch für die internen Links noblogs.org als Adresse (ja, Wordpress speichert absolute Pfade). Theoretisch lässt sich das auch nach dem Import über das Plugin https://de.wordpress.org/plugins/better-search-replace/ anpassen. Aber wo wir gerade dabei sind, passen wir das vor dem Import an. :::warning Dafür sind zwei Schritte nötig, die auch genau in dieser Reihenfolge ausgeführt werden müssen: ::: ### a) Umschreiben der Bild-URL Bei noblogs lagen die Bilder unter [blogname].noblogs.org/files/ Bei einem selbst installierten Wordpress liegen sie in der Regel unter [blog-adresse]/wp-content/uploads/ :::warning Bitte überprüft, ob das wirklich der Fall ist. Wenn hier nicht der richtige Pfad benutzt wird, seht ihr nach dem Import keine Bilder. ::: `sed 's,https://[blogname].noblogs.org/files/,https://[neue adresse]/wp-content/uploads/,g' export.xml > export2.xml` ### b) Umschreiben anderer URLs `sed 's,https://[blogname].noblogs.org/,https://[neue adresse]/,g' export2.xml > export3.xml` ## 3) Das Verzeichnis uploads ersetzen Ersetzt den Ordner wp-content/uploads durch den entsprechenden Ordner aus dem Backup von Autistici. `cd [basisverzeichnis von wordpresss]` `cp -r [pfad zu][blogname].noblogs.org/uploads wp-content/uploads` :::warning Jetzt wird es etwas tricky, da ihr abhängig von eurem Setup die Dateirechte vom uploads-Ordner anpassen müsst und wir hier keine allgemeingültige Anleitung geben können. Ziel ist, dass uploads und alle enthalten Odner und Dateien vom Webserver gelesen **und** geschrieben werden können. ::: :::info In einer Standard-Linux-Installation läuft der Webserver in der Regel unter dem user www-data. Wenn ihr den Ordner uploads also dem User www-data zuschlagt, sollte alles passen: `chown -R www-data:www-data wp-content/uploads` ::: :::info Bei uberspace zum Beispiel läuft der webserver unter eurem user-namen. Hier sollte folgende Anpassung der Dateirechte funktionieren: `chmod -R u=rwX,go=rX wp-content/uploads` ::: :::danger Im Zweifel müsst ihr diese Befehle aber für eure Umgebung anpassen. ::: ## 4) Der endgültige Import der alten Daten Für die folgenden Befehle müsst ihr im Basisverzeichnis eurer Wordpress-Installation sein. ::: warning Wichtig: wp-cli muss lesenden und für die Plugin-Instalaltion auch schreibenden Zugriff auf eure Wordpress-Installation haben. ::: ::: info Auf einem Standard-Linux erreicht ihr das am Besten, indem die Befehle als der User des Webservrs ausgeführt werden `sudo -u www-data wp ...` ::: :::info Auf einem System wo der Webserver unter eurem user läuft (zb uberspace) ist das sudo nicht nötig, also dann `wp ...` ::: :::info Und zuletzt, wenn wp-cli nicht im System installiert ist (siehe oben) müsst ihr hier jetzt den Pfad zum wp-cli angeben: `./[pfad zum]/wp ...` ::: Bitte passt die folgenden Befehle entsprechend euer Umgebung an. ### a) Importer installieren und aktivieren. Eine mögliche Warnung, dass ein Cache-Verzeichnis nicht angelegt werden konnte, kann ignoriert werden `sudo -u www-data wp plugin install wordpress-importer --activate` ### b) Dateien aus uploads dem neuen Wordpress bekannt machen \--skip-copy verhindert, dass alle Dateien erneut in den Ordner des aktuellen Monats kopiert werden. `sudo -u www-data wp media import wp-content/uploads/*\/*\/*.* --skip-copy` ### c) Import der Beiträge und Seiten \--authors=create legt die Autor*innen aus dem Import mit gleichem Namen an \--skip=attachment verhindert, dass die Bilder erneut importiert werden `sudo -u www-data wp import [pfad zu]/export3.xml --authors=create --skip=attachment` ### d) Importer wieder deinstallieren Wir brauchen den unter a) installierten Importer nicht mehr. Weg damit: `sudo -u www-data wp plugin uninstall wordpress-importer --deactivate` :::success Jetzt sollten alle Beiträge und Seiten mit den richtigen Bildern wieder verfügbar sein. Die Einstellungen vom Theme (also alle Farben, Hintergrundbilder, Logos etc), wie auch das Menü, müssen neu eingerichtet werden, da sie nicht im Backup enthalten sind. ::: -->