WordPress Multisite auf neuen Server migrieren
Wordpress ist ein kostenloses Open-Source-Content-Management-System, das in PHP geschrieben ist und auf dem ein großer Teil der Websites basiert. Die Plattform hat eine sehr nette Funktion: Sie ermöglicht die Erstellung und Verwaltung mehrerer Websites von derselben Installation aus. Während die Migration einer Wordpress-Installation recht einfach ist, erfordert die Migration von WordPress Multisite auf einen neuen Server zusätzliche Schritte. In diesem Tutorial sehen wir, wie Sie vorgehen müssen.
In diesem Tutorial lernen Sie:
- So sichern und wiederherstellen Sie die Site-Dateien über ftp
- So führen Sie eine Datenbankmigration über die Befehlszeile oder phpmyadmin durch
- Welche Parameter müssen geändert werden, um eine Wordpress Multisite-Installation zu migrieren?
Verwendete Softwareanforderungen und Konventionen
So migrieren Sie WordPress Multisite auf einen neuen Server
Schritt 1 – Erstellen der Sicherung der Site-Dateien
Der erste Schritt im Migrationsprozess besteht in der Erstellung der Sicherung der ursprünglichen Site-Dateien. In diesem Fall führen wir den Vorgang mit einem FTP-Client durch, da diese Art von Service auch auf den billigsten Hosting-Plattformen verfügbar sein sollte.
Die FTP-Anmeldeinformationen (Benutzername, Passwort und Server-URL) sollten Ihnen bei der Anmeldung Ihres Hosting-Pakets zur Verfügung gestellt worden sein. Um die Dateien herunterzuladen, benötigen wir einen FTP-Client. In diesem Beispiel verwende ich lftp, einen sehr leistungsfähigen Befehlszeilenclient. Um eine Verbindung mit der Site herzustellen, geben wir den folgenden Befehl ein:
lftp <username>:<password>@<url>
Dabei ist username der Benutzername, der für die Anmeldung beim FTP-Server verwendet wird, password ist das Passwort, das mit diesem Konto verknüpft ist, und url ist der Uniform Resource Locator des Servers. Die Site-Dateien befinden sich in der Regel im Verzeichnis public_html oder www (letzteres ist in der Regel ein Link zu ersterem). Um dieses Verzeichnis lokal mit lftp zu spiegeln, können wir den folgenden Befehl verwenden:
~> mirror public_html --parallel=3
Sobald wir den Befehl ausführen, wird das public_html Verzeichnis in unserem lokalen Dateisystem gespiegelt. Die Option --parallel, die wir oben verwendet haben, definiert, wie viele Dateien parallel heruntergeladen werden sollen, um den Prozess zu beschleunigen. In diesem Fall haben wir einen Wert von 3 angegeben.
Schritt 2 – Erstellen einer Sicherung der Datenbank
Zu diesem Zeitpunkt sollten wir ein Backup unserer Wordpress-Installationsdateien haben. Was wir jetzt tun müssen, ist, ein Backup der Datenbank zu erstellen. Wie Sie vorgehen, um diesen Schritt durchzuführen, hängt von den von unserem Hosting-Anbieter angebotenen Diensten ab.
Verwenden von mysqldump
Wenn der mysql-Server so konfiguriert ist, dass er Remote-Verbindungen akzeptiert, oder wenn wir uns über eine Remote-Shell beim Server anmelden können, können wir das Dienstprogramm mysqldump verwenden, um das Backup unserer Datenbank direkt von der Befehlszeile aus mit diesem Befehl zu erstellen:
mysqldump \
--host=<server_hostname> \
--user=<database_username> \
--password=<password> \
<database_name> > bk.sql
Der obige Befehl speichert die SQL-Anweisungen, die zum Wiederherstellen des aktuellen Zustands der Datenbank erforderlich sind, in einer Datei mit dem Namen bk.sql. Wenn unser Hosting-Provider keinen Fernzugriff auf die Datenbank zulässt oder wir uns mit einer grafischen Oberfläche wohler fühlen, können wir ein Tool wie phpmyamdin verwenden.
phpmyadmin verwenden
Phpmyadmin ist eine webbasierte MySQL-Administrationsoberfläche. In der Regel ist der Dienst unter der Adresse <siteurl>/phpmyadmin erreichbar. Alles, was wir tun müssen, um ein Datenbank-Backup mit diesem Tool zu erstellen, ist, die Datenbank auszuwählen (indem wir auf ihren Namen klicken), dann auf die Registerkarte "Exportieren" klicken, das Format auswählen, in dem das Backup exportiert werden soll, und schließlich auf die Schaltfläche "Los" klicken. Die Datei sollte in wenigen Sekunden fertig sein.
Schritt 3 – Hochladen der Dateien auf den neuen Hosting-Bereich
Sobald wir die Dateien und die Datenbanksicherung haben, können wir mit der Migration auf den neuen Hosting-Bereich/die neue Domain fortfahren. Um die Dateien hochzuladen, verwenden wir wieder unseren bevorzugten FTP-Client. Angenommen, wir verwenden lftp, wie zuvor, könnten wir den folgenden Befehl ausführen:
~> mirror -R <local_directory> --parallel=3
Der Befehl (Spiegel) ist derselbe, den wir bei der Sicherung verwendet haben, aber mit der Option -R haben wir die Reihenfolge der Verzeichnisse umgekehrt, so dass das erste als das lokale Verzeichnisse betrachtet wird. Für den Fall, dass wir das Verzeichnis remote mit einem anderen Namen spiegeln möchten, können wir ihn als zweites Argument für den Befehl angeben:
~> mirror -R <local_directory> <remote_name> --parallel=3
Schritt 4 – Wiederherstellen der Datenbanksicherung
Die Methode, die zum Wiederherstellen der Datenbanksicherung verwendet wird, hängt wiederum davon ab, auf welche Dienste wir zugreifen können. Falls wir einen SSH- oder Server-Fernzugriff haben, können wir das Befehlszeilenprogramm mysql verwenden und den folgenden Befehl starten:
mysql \
--user=<database_user> \
--password=<password> \
--host=<server_hostname> \
<database_name> < bk.sql
Um das Backup mit phpmyadmin wiederherzustellen, wählen wir stattdessen die Datenbank aus, die die Tabellen hosten soll, und klicken dann auf die Registerkarte "Importieren" im Menü der obersten Ebene. Wir wählen dann die Datei aus, die die Datenbanksicherung enthält, und klicken schließlich auf die Schaltfläche "Los" am unteren Rand der Seite.
Schritt 5 – Ändern der Datenbankwerte für die neue Domäne
Nachdem wir die Datenbanksicherung wiederhergestellt haben, müssen wir bestimmte Werte in einigen Tabellen ändern. Auf einer Wordpress-Multisite-Installation werden die Installationstabellen für jede verwaltete Site wiederholt. Angenommen, wir verwalten zwei Websites, dann würden wir die wp_options Tabelle für beide wiederholen lassen, mit spezifischen Einträgen, die progressiv benannt sind (z. B. wp_options, wp_2_options).
Ändern von "home" und "siteurl" in jeder Site wp_option Tabellen
In jeder Site-wp_options-Tabelle müssen wir den Wert der option_value Spalte ändern, wobei der Wert der option_name Spalte "siteurl" und "home" ist, und die alte Domain durch die neue ersetzen, wobei die Site-spezifischen Werte natürlich unverändert bleiben. Wenn beispielsweise eine Website mit der alten "siteurl" https://olddomain.com/siteone wurde, wird sie https://newdomain.com/siteone usw. Wir können dies mit einer einfachen SQL-Abfrage tun:
UPDATE wp_options SET option_value = 'https://newdomain.com' WHERE option_name IN ('siteurl', 'home');
Aktualisieren der Tabellen "wp_site", "wp_sitemeta" und "wp_blogs"
In der Tabelle der Hauptseite wp_site müssen wir den Wert der Domain-Spalte ändern. Wir wollen hier unsere neue Domain ablegen, ohne das Verbindungsprotokoll anzugeben:
UPDATE wp_site SET domain = 'newdomain.com';
Darüber hinaus müssen wir in der wp_sitemeta Tabelle den Eintrag in der Spalte "meta_valueändern, wobei dermeta_key" "siteurl" ist:
UPDATE wp_sitemeta SET meta_value = 'https://newdomain.com' WHERE meta_key = 'siteurl';
Die letzte Tabelle, die wir aktualisieren müssen, ist wp_blogs. Hier müssen wir den Wert der Domain-Spalte für jede Zeile ändern:
UPDATE wp_blogs SET domain = 'newdomain.com';
Ändern der Datei "wp_configs"
Das Letzte, was wir tun müssen, um die Migration unserer Multisite-Wordpress-Installation abzuschließen, ist, einige Werte in der wp_config.php-Datei zu ändern, die sich im Stammverzeichnis der Site befindet. Hier müssen wir als erstes die Datenbankverbindungsinformationen aktualisieren und die neuen Werte verwenden:
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'new_database_name' );
/** MySQL database username */
define( 'DB_USER', 'new_database_user' );
/** MySQL database password */
define( 'DB_PASSWORD', 'new_database_password' );
/** MySQL hostname */
define( 'DB_HOST', 'localhost' );
Das Letzte, was wir in der Datei aktualisieren müssen, ist die Definition der DOMAIN_CURRENT_SITE Konstante (Zeile 87). Wir müssen es so einstellen, dass es mit der neuen Domain übereinstimmt, ohne dass ein Protokoll angegeben wird:
define('DOMAIN_CURRENT_SITE', 'newdomain');
Schlüsse
In diesem Tutorial haben wir gesehen, wie man WordPress Multisite auf einen neuen Server migriert. Eine Wordpress Multisite-Installation ermöglicht es uns, mehrere Websites von derselben Administrationsoberfläche aus zu steuern. Wir haben gesehen, wie man ein Backup der Site-Dateien und der Datenbank erstellt und wie man sie wiederherstellt, sowohl über die Befehlszeilentools als auch mit der phpmyadmin-Weboberfläche. Wir haben auch gesehen, welche Werte wir in der Datenbank und in der Wordpress-Konfiguration ändern müssen, damit die Installation auf der neuen Domain funktioniert.


