Ich suche nach der besten und sichersten Möglichkeit, eine Reihe von Unterwebsites mithilfe von Multisite lokal zu entwickeln und sie in die Produktionsumgebung zu verschieben, wenn sie bereit sind.
Ich habe bereits die vollständige Multisite-Installation mit der ersten Subsite migriert, die jetzt live ist. Ich würde es vorziehen, die anderen Sites auf dem lokalen Server zu entwickeln, damit ich den Produktionsserver in Ruhe lasse, aber natürlich kann ich keine vollständige Migration mehr durchführen.
Ich habe nach einer Lösung gesucht, aber bei allem, was ich gefunden habe, geht es darum, eine einzelne Site auf eine Multisite zu verschieben oder umgekehrt, keine "Subsite von Multisite zu Multisite verschieben".
Ich möchte alles behalten: Einstellungen, Widgets und so weiter.
quelle
Antworten:
Das kann etwas langweilig sein, aber hoffentlich hilft das. Je weniger sich von einer Umgebung zur nächsten ändert, desto weniger schmerzhaft wird dieser Prozess sein. Insbesondere wenn die Domäne, die Site-ID und die Dateipfade gleich bleiben, ist dieser Vorgang weniger schmerzhaft.
Dieser Beitrag setzt einige Kenntnisse der Datenbankverwaltung voraus. Es ist nicht vollständig Schritt für Schritt, da Sie die Foren durchsuchen und möglicherweise einen Thread erstellen sollten, der für den Schritt spezifisch ist, mit dem Sie Probleme haben, z. B. wenn Sie Hilfe beim Exportieren einer Datenbanktabelle benötigen.
Das Wichtigste ist, Ihre gesamte Datenbank und Dateien sowohl für die lokale Entwicklungssite als auch für den neuen Speicherort zu sichern, falls etwas schief geht. Erwarten Sie, dass etwas schief geht. Seien Sie angenehm überrascht, wenn dies nicht der Fall ist.
Das Verschieben Ihrer Themendateien sollte ziemlich einfach sein. Laden Sie Ihre Themendateien in das Verzeichnis wp-content / theme hoch und aktivieren Sie es wie gewohnt. Ich gehe davon aus, dass dies ein gemeinsames Thema ist, auf das alle Blogs Zugriff haben.
Laden Sie Plugin-Dateien in wp-content / plugins am neuen Speicherort hoch. Aktiviere sie noch nicht.
Beachten Sie, dass sich alle Inhalte, die ausschließlich für das zu migrierende Blog gelten, in einem Verzeichnis befinden, das so aussieht, als wäre
wp-content/blogs.dir/2/files
2 die Site-ID. Wenn es möglich ist, diese Site-ID am neuen Speicherort zu verwalten, sollte dies dazu beitragen, Konflikte in der Datenbank nach der Migration an den neuen Speicherort zu minimieren. Andernfalls müssen Sie Ihre Datenbank aktualisieren, um den neuen Pfad wiederzugeben.Sie müssen die Multisite-Tabellen für das Blog, das Sie migrieren möchten , exportieren und an den neuen Speicherort importieren. Sie müssen die Tabellen bearbeiten, in denen Daten zu dem zu migrierenden Blog gespeichert sind. Stellen Sie sicher, dass das Präfix dieser Tabellen am neuen Speicherort identisch ist.
Beispielsweise enthält die Tabelle wp_blogs für Ihr Blog die Blog-ID, die Site-ID, die Domäne und den Pfad, mit denen WordPress Multisite Ihr Blog erkennen und damit arbeiten kann. Bearbeiten Sie alle nicht mehr korrekten Elemente, um den neuen Speicherort wiederzugeben. Lesen Sie jedoch den Rest dieses Beitrags, bevor Sie dies versuchen.
Siehe Übersicht über Tabellen mit mehreren Standorten
Um Ihre WordPress- und Plugin-Einstellungen für das zu übertragende Blog zu migrieren , müssen Sie alle Plugins lokal deaktivieren und dann Ihre ortsspezifischen Tabellen (Codex-Referenz) exportieren , einschließlich der für Ihre Plugins. Importieren Sie diese Tabellen in die Datenbank des neuen Speicherorts.
Stellen Sie sicher, dass der neue Speicherort dasselbe Datenbankpräfix verwendet wie die Tabellen, die Sie importieren. Das Präfix enthält die Site-ID für Ihr Blog und sieht ungefähr so aus
wp_2_options, wp_2_posts, wp_2_postmeta
.Siehe Erkunden von WordPress Multisite von Lisa Sabin-Wilson
Ich gehe davon aus, dass Sie wissen, wie man über phpmyAdmin oder mit dem Befehl mysqldump in Ihrem Terminal importiert / exportiert. Das geht etwas über den Rahmen dieses Beitrags hinaus, aber hier ist ein Exportbeispiel, das helfen sollte.
Von Wie können Sie bestimmte Tabellen mysqldump? (Die Syntax wurde zur besseren Übersicht leicht bearbeitet.):
Bevor Sie Plugins auf der neuen Site aktivieren, gehen Sie zu Ihren Permalink-Einstellungen in admin cp und speichern Sie die Einstellungen, um die Datenbankdateien auf die neue Site-URL zu aktualisieren. Aktivieren Sie Ihre Plugins und prüfen Sie, ob Probleme vorliegen.
Ein Problem, auf das Sie möglicherweise stoßen, ist die Serialisierung von Daten in Ihren Tabellen.
"[...] Verweise auf den alten Domainnamen oder Speicherort verbleiben in der Datenbank. Dies kann zu Problemen mit Links oder der Anzeige von Themen führen.
Wenn Sie in Ihrer gesamten Datenbank suchen und ersetzen, um die URLs zu ändern, können Sie Probleme mit der Datenserialisierung verursachen, da in einigen Themen und Widgets Werte mit der Länge Ihrer URL gespeichert sind. " Wenn Ihr Domain-Name oder Ihre URLs Veränderung
Beachten Sie, dass die Serialisierung von Daten auch zu Konflikten in Datenbanktabellen führen kann, die sich auf Ihre Plugins beziehen. Verwenden Sie das im vorherigen Codex-Link empfohlene Skript zum Suchen und Ersetzen von Datenbanken, anstatt die in der Datenbank gespeicherte URL manuell zu suchen und zu ersetzen . Wenn die Datenbank nur wenige Instanzen der Serialisierung enthält, können Sie sie einfach manuell über phpMyAdmin oder wie auch immer Sie es für die Verwaltung Ihrer Datenbank bevorzugen, bearbeiten.
Ein weiteres Problem, das möglicherweise auftritt, besteht darin, dass falsche Dateipfade, die in Datenbanktabellen gespeichert sind, aktualisiert werden müssen, um den neuen Speicherort wiederzugeben. Dies kann bei Medienverzeichnissen oder Verzeichnissen der Fall sein, die von Plugins verwendet werden, je nachdem, wie das Plugin entworfen wurde. Auch hier sollten Sie das Such- und Ersetzungsskript verwenden, um sicherzustellen, dass beim Aktualisieren der Dateipfade keine Serialisierungskonflikte auftreten. Alternativ können Sie Ihre Tabellen durchsuchen und manuell aktualisieren.
quelle
Könnten Sie nicht die integrierten Export- und Importfunktionen von WordPress verwenden? Dann geht es nur noch darum, das Thema per FTP von einer Installation zur nächsten zu verschieben. Es geht ziemlich schnell und Sie können eine Site zwischen Installationen in weniger als 5 Minuten migrieren.
Sie können Benutzeranmeldeinformationen mit einem raffinierten Plugin namens User Syncronization synchronisieren .
Ich habe es nicht verwendet, aber ManageWP verfügt über ein benutzerfreundliches Bereitstellungs- und Klontool, mit dem Sie von einer vorhandenen Site zu einer neuen wechseln können. Es lohnt sich, einen Blick darauf zu werfen .
quelle