it-swarm.com.de

Wie verschiebe ich bestehende Wordpress-Ordner mit WP-Inhalten zusammen mit der Datenbank auf einen neuen Server und einen neuen Domainnamen?

Ausführen von WP 3.5.1 auf einem LEMP-Stack (vorbei bei Linode) ...

Ich habe einen wp-content-Ordner für eine WP Site zusammen mit einer vollständigen Sicherung der Datenbank. Die URL der Site war ungefähr so:

test.example.com

Ich möchte die Site auf meinem eigenen Server unter folgender Adresse betriebsbereit machen:

test.meinedomain.com

Und wenn die Site fertig ist und die DNS-Änderungen wirksam werden, möchte ich, dass die Site-URL lautet:

myclientsdomain.com

Was ist die bevorzugte (und hoffentlich einfachste) Methode, um Serverumzüge und Domainänderungen wie diese zu handhaben? Ich suche nach einer schrittweisen Antwort, die alle oben beschriebenen Situationen sowohl für die Dateien als auch für die Datenbank berücksichtigt.

4
wgpubs

Es gibt eine ziemlich gute Schritt für Schritt zum Verschieben von WordPress im Codex . Es ist das, was ich folge, wenn ich die Domain wechsle.

Das Verschieben der Dateien ist ziemlich einfach. Es sind die hartcodierten Referenzen in der Datenbank, die schwierig sind. Serialized Search and Replace kümmert sich jedoch um alle Datenbankänderungen. Ich habe in der Vergangenheit das Velvet Blues-Plugin verwendet, aber das Search and Replace-Skript ist ziemlich erstklassig.

7
helgatheviking

Ich benutze den fantastischen Plugin-Duplikator, um diesen Vorgang regelmäßig abzuschließen.

http://wordpress.org/extend/plugins/duplicator/

Das Plugin wird voll unterstützt und es gibt tolle FAQ hier:

http://lifeinthegrid.com/labs/duplicator/

Das Plugin erstellt eine ZIP-Sicherung Ihrer Datenbank und Ihrer Dateien sowie eine Installations-PHP-Datei, die Sie in Ihrem neuen Stammverzeichnis ablegen. Sie geben einfach Ihre neuen Datenbankinformationen ein und es erledigt den Rest.

Ist wohl mein Lieblings-Plugin WP auf dem Laufenden.

Wenn Sie unterwegs Hilfe benötigen, lassen Sie es mich einfach wissen.

4
cunningfox

Sie müssen ein paar Dinge beachten (später in der Antwort). Ich schlage folgende Schritte vor:

Sichern Sie Ihre Dateien und Datenbank

Das ist ziemlich selbsterklärend. Sie werden eine Menge Daten bearbeiten, stellen Sie also sicher, dass Ihr Original sicher ist.

Übertragen Sie Ihre Dateien

Der schnellste Weg, dies zu tun, besteht darin, einen Hoster zu haben, über den Sie Verzeichnisse von einem anderen Server importieren können. Dies kann durch Angabe der FTP-Details sowie durch Angabe des Zielverzeichnisses erfolgen.

Da Server eine Internetverbindung haben, die in der Regel viel schneller ist als die der Benutzer, ist dies die bevorzugte Methode zum Übertragen der Daten. Sie können diese Befehle auch über die Befehlszeile von Hand ausführen.

Die langsamere Option ist, eine Zip-Datei zu erstellen, herunterzuladen, auf Ihren neuen Server hochzuladen und zu dekomprimieren. Wenn Sie die Möglichkeit dazu nicht haben, gehen Sie den langsamen Weg - laden Sie alles herunter und laden Sie alles hoch. Und Kaffee trinken gehen, während die Dateien übertragen werden :)

Übertragen Sie Ihre Datenbank

Auch hier haben viele Hoster die Möglichkeit, eine vorhandene Datenbank auch von einem anderen Server in eine neue zu importieren (Ihr alter Server muss natürlich externe Datenverbindungen akzeptieren).

Wenn Sie das können, ist das eine großartige Sache, aber Sie können auch Ihre Datenbank exportieren/importieren.

Setzen Sie die neue (Sub-) Domain auf Ihr neues Verzeichnis

Stellen Sie auf Ihrem neuen Server sicher, dass Ihre Dateien auf die gleiche Weise wie auf dem alten Server eingerichtet sind, und verweisen Sie Ihre Unterdomäne auf dasselbe Verzeichnis wie auf dem alten Server (normalerweise das WordPress-Stammverzeichnis).

wp-config.php bearbeiten

Speichern Sie den neuen wp-config.php. Sie müssen nur die Datenbankverbindungsdetails bearbeiten.

Laden Sie die neue URL

WordPress sollte jetzt eingerichtet sein, verwendet jedoch weiterhin die alte SiteURL und AdminURL, sodass Sie sich nicht anmelden können. Ändern Sie diese Werte in der Tabelle options- in Ihrer neuen Datenbank. Die beiden Werte, nach denen Sie suchen, sind siteurl und home. Platzieren Sie dort Ihre neue Domain.

Überprüfen Sie Ihr Login und Ihre Site

Jetzt sollte alles soweit funktionieren, Sie können sich einloggen, bearbeiten und schreiben sowie die Seite nutzen. Das einzige Problem kann sein, dass Ihre Posts immer noch die alte URL für die Bilder und Anhänge enthalten.

Wenn Ihre Posts die alte URL enthalten oder Sie sich nicht sicher sind, überprüfen Sie Ihre Datenbank in Ihrer posts- Tabelle.

Sie können dies tun, indem Sie Ihre Datenbank direkt durchsuchen oder ein Skript wie Serielles Suchen und Ersetzen verwenden. Wenn Sie Ihre alte URL finden, müssen Sie sie manuell oder automatisch ersetzen. Ich mache es lieber automatisch und suche danach nach Fehlern.

Überprüfen Sie die anderen Tabellen

Überprüfen Sie auch, ob Ihre anderen Tabellen die alte URL enthalten. Dies ist möglicherweise etwas schwierig zu ersetzen, aber es muss auch getan werden, um Ihre Site vollständig zu verschieben.

Regeneriere deine Permalinks

Speichern Sie zur Sicherheit Ihre Permalink-Einstellungen erneut, um die Permalinks erneut zu erstellen.

Überprüfen Sie Ihre Website

Vergessen Sie bitte nicht, Ihre Site nach der Übertragung WIRKLICH zu überprüfen. Überprüfen Sie alle Funktionen, insbesondere AJAX, Contactforms, Maps usw., da diese mit größerer Wahrscheinlichkeit fehlschlagen als reines PHP/HTML.

Zeit für Bier :)

Dinge, auf die Sie achten sollten !!

Wie immer ist nichts, was manuell erstellt, manuell übertragen und automatisch bearbeitet wurde, ausfallsicher. Hier sind ein paar Anfangsfallen, die leicht zu betreten sind, aber auch leicht vermieden werden können.

  • Schlecht codierte Plugins (Speichern Sie Ihre Website-URL anstelle des relativen Pfads und verwenden Sie die WordPress-Funktionen, um die vollständige URL abzurufen. Es kann auch viele Probleme mit Ihrer AjaxURL geben.)
  • Codierungsprobleme ( Achten Sie unbedingt darauf, dass Sie auf Ihren Servern und Datenbanken die gleiche Codierung verwenden !!! Wenn Sie mit dem empfohlenen UTF-8 arbeiten, sollte dies normalerweise in Ordnung sein.)
  • Serialisierte Daten (Dies ist das größte Problem, auf das Sie stoßen können. Wenn Sie ein Plugin wie Tablepress verwenden, in dem eine gesamte Tabelle in einem serialisierten Array gespeichert ist, bricht diese ab, sobald Sie automatisch etwas ersetzen. Wenn Sie solche Daten haben, schauen Sie für eine Export/Import-Funktion in diesen spezifischen Plugins, und verwenden Sie dies als zusätzlichen Schritt. Wenn sie diese Funktion nicht haben, müssen Sie es von Hand tun)
  • Servereinstellungen (Es kann leicht vorkommen, dass Ihre Site aufgrund der Standardeinstellungen nicht auf Ihrem neuen Server ausgeführt wird. Stellen Sie sicher, dass genügend Ressourcen verfügbar sind!)
  • Hardcoded URLs in Ihrem Theme (obwohl dies nicht passieren sollte, passiert es viel zu oft und zerstört Ihre Bilder und Links, sobald die alte Site nicht mehr verfügbar ist)
  • Caching-Probleme (Verwenden Sie nicht die gleichen Caching-Dateien wie auf Ihrem alten Server. Deaktivieren Sie das Caching am besten vor dem Exportieren der Site und leeren Sie alle Cachings.)
  • Angenommen, alles funktioniert, wenn Sie die Einstellungen zum zweiten Mal auf Ihrem Server ändern (immer alles erneut überprüfen)
  • Optionen in Ihren Plugins und Themes (Alte Emailadressen etc.)

Das sollte es sein. Es sieht nach viel zu tun aus, aber das meiste läuft automatisch. Sie müssen nur über alles nachdenken, was schief gehen kann, und prüfen, ob dies der Fall ist :)

Habe Spaß!

3
fischi

Es müssen keine Plugins, Skripte oder gar Kenntnisse von SQL verwendet werden. Ein einfacher Notizblock reicht für die Migration aus. Sie müssen alle WordPress-Dateien auf Ihren neuen Server hochladen und nur in Ihrer wp-config.php (in Ihrem WordPress-Hauptordner) 3 Werte ändern: define ('DB_NAME', 'your_new_db_name'); define ('DB_USER', 'your_db_username'); define ('DB_PASSWORD', 'your_db_password');

Wenn Sie einen MySQL-Client wie phpmyadmin auf Ihrem aktuellen Server verwenden, müssen Sie Ihre Datenbank in eine Datei exportieren, anschließend Ihre_db_dump.sql im Editor öffnen und alle Vorkommen suchen und ersetzen dass Sie diesen db_dump in Ihre neue Datenbank importieren müssen (die Sie unter wp-config.php definiert haben). Das ist alles.

1
bigwolk

Ich habe auf diese Weise eine Reihe von Websites von einem Server/einer Domäne auf einen anderen verschoben. In der Regel benötigen Sie lediglich ein Backup und Ihren WP-Content-Ordner, den Sie anscheinend haben. Hier ist die Methode, die ich folge:

  1. Installieren Sie Wordpress auf der neuen Site. Sie können jede Methode verwenden, die Sie möchten. Einige Hosts bieten One-Click-Installationen an. Andernfalls können Sie dies nach Ihrer bevorzugten Methode tun.
  2. Überschreiben Sie den Ordner "wp-content" mit der Kopie, die Sie haben. Dies stellt sicher, dass alle Ihre Plugins, hochgeladenen Dateien usw. auf Ihrem älteren Server installiert sind.
  3. Überschreiben Sie die Datenbank mit der Kopie, die Sie haben. Normalerweise benutze ich dazu phpMyAdmin mit der Importfunktion. Beachten Sie hierbei, dass Sie zuerst alle Tabellen in der Datenbank löschen müssen, wenn Ihre Sicherung keine DROP-Anweisungen enthält.
  4. Wenn Sie den Domainnamen ändern, müssen Sie Ihre wp_options-Tabelle in phpMyAdmin durchsuchen und Ihre "site_url" -Option aktualisieren. Es gibt eine andere Option namens "home", die Sie aktualisieren können, aber Sie müssen dies nicht tun, da dies in WordPress admin geändert werden kann, sobald Ihre Site betriebsbereit ist.

Erledigt!

Dies sollte alles sein, was Sie tun müssen, um Ihre Site zum Laufen zu bringen. Sobald es betriebsbereit ist, ist es ratsam, alle Plugin/Theme-spezifischen Einstellungen zu überprüfen, die auf Ihre alte Site verweisen, und Ihre Permalinks neu zu generieren.

0
Owen Cutajar

Eine frühere Antwort hatte dies, aber hier ist ein Schritt für Schritt mit einer anderen Eingabe:

  • Installieren Sie kein WP
  • Ftp das gesamte ursprüngliche WP -Verzeichnis in ein neues Verzeichnis (siehe unten, wenn etwas fehlt)
  • Importieren Sie die SQL-Datei mit phpmyadmin in Ihrem Server Control Panel.
  • Ftp searchreplacedb.php zum Verzeichnis WP ist in.
  • Rufe searchreplacedb.php in deinem Browser auf (lösche danach !!!)
  • Nehmen Sie sich Zeit und stellen Sie Ihrem Kunden 75 USD in Rechnung!

    (searchreplacedb.php ist KOSTENLOS verfügbar unter: interconnectit.com/products/search-and-replace-for-wordpress-databases ... sie haben auch Anweisungen).

Wenn Sie nur den Inhaltsordner WP haben, liegt ein anderes Problem vor. Sie müssen den Rest der WP -Installation der EXACT SAME VERSION herunterladen. Durchsuchen Sie die Datenbank, wenn Sie nicht wissen, welche Version WP ist. Es ist einfach, alte Versionen online herunterzuladen. Holen Sie sich alles wie bisher an den richtigen Ort und richten Sie die neuen Ordner mit ftp ein, wenn Sie möchten, dass es einfach so auftaucht, wie es vorher ausgesehen hat. Besuchen Sie die Site nicht nach dem Hochladen der db- und WP -Dateien, wenn Sie etwas vermissen. Andernfalls wird standardmäßig das Börsenthema verwendet oder die Plugins deaktiviert. Ich habe die Plugin-Einstellungen verloren und musste alles noch einmal machen. Denken Sie also einfach nach und gehen Sie langsam vor.

Wenn Sie bereits einen Unterordner oder ein Addon haben oder die neue Site einen benötigt, planen Sie voraus. Ersetzen Sie die URL nicht, bevor Sie den benötigten neuen Ordner oder das Fehlen eines neuen Ordners berücksichtigt haben. Möglicherweise müssen Sie searchreplacedb für "folder/url" ausführen, bevor Sie wieder "url" usw. suchen. Andernfalls können Sie ein "Addon" durcheinander bringen, indem Sie zu einer "Root-Anzeige mit Unterverzeichnis install" oder einem anderen Unsinn wechseln.

Wenn die neue Struktur mit der alten Struktur übereinstimmt und Sie das gesamte WP -Verzeichnis haben, können Sie dies einfacher und schneller tun als diesen Beitrag zu lesen! Stellen Sie das Programm in dasselbe Verzeichnis, in das Sie WP hochgeladen haben, um die besten Ergebnisse zu erzielen, wie in der Anweisung angegeben, da es über eine Autokonfiguration verfügt.

Wenn Sie keinen FTP- oder Controlpanel-Zugang oder SQL-Zugang haben, brauchen Sie wirklich einen besseren Server und haben möglicherweise Pech.


Versuchen Sie das in anderen Posts empfohlene Suchen und Ersetzen, und wenn Sie Glück haben, haben Sie eine ältere Version von WP und es passt in die erforderlichen Parameter, damit es funktioniert. Ein echtes Problem, um mit Ihrer Website russisches Roulette zu spielen.

Bearbeiten Sie niemals Daten im Editor, es sei denn, Sie wissen, dass es keine längeren Zeichenfolgen gibt, als dies zulässig ist. Jetzt gibt es einen netten Fehler, nach dem Sie möglicherweise Wochen lang suchen! Wenn Sie es anschauen müssen, schauen Sie nur, speichern Sie es nicht. Sie sollten vergessen, dass notepad existiert und notepad ++ verwenden, aber das manuelle Bearbeiten von serialisierten Daten in einem Texteditor ist genauso schlimm wie das Suchen und Ersetzen in phpmyadmin. tu es nicht.

Sie könnten nach "SQL serialisierten Daten" suchen. Die kurze Antwort lautet: Durch Suchen und Ersetzen werden serialisierte Daten in einem SQL-Code zusammengefasst. WP Heutzutage haben DBs Daten serialisiert.

Ich habe das zu oft gemacht und hatte nur marginale Erfolge und schlug meinen Kopf oft gegen eine Wand, bevor ich es endlich richtig recherchierte. Es ist jetzt ein Spaziergang im Park.

0
Don

Was ich mache ist:

  1. Erstellen Sie eine neue Datenbank auf dem empfangenden Host. Importieren Sie die SQL-Datei. Führen Sie die folgenden SQL-Abfragen in der neuen Datenbank aus:

    UPDATE wp_options SET option_value = replace(option_value, 'test.example.com', 'test.mydomain.com') WHERE option_name = 'home' OR option_name = 'siteurl';
    
    UPDATE wp_postmeta SET meta_value = replace(meta_value, 'test.example.com', 'test.mydomain.com') WHERE meta_key = '_menu_item_url';
    
    UPDATE wp_posts SET guid = replace(guid, 'test.example.com','test.mydomain.com');
    
    UPDATE wp_posts SET post_content = replace(post_content, 'test.example.com', 'test.mydomain.com');
    
  2. Laden Sie die WordPress-Dateien auf den empfangenden Server hoch.

  3. Laden Sie den Ordner wp-content hoch und überschreiben Sie die Standard-WordPress-Dateien.
  4. Richten Sie Ihre wp-config.php wie gewohnt ein und verwenden Sie den Datenbanknamen, den Benutzer und das Kennwort aus der von Ihnen erstellten Datenbank.
  5. Wechseln Sie zum Dashboard und ändern Sie manuell alle Instanzen von test.example.com in Widgets (diese können nicht über eine SQL-Abfrage geändert werden, da sie in der Datenbank serialisiert sind).
  6. Wenn es an der Zeit ist, zu myclientsdomain.com zu wechseln, führen Sie die obigen SQL-Abfragen und Widget-Korrekturen erneut durch.

Abhängig von Ihrem Thema und Ihren Plugins müssen Sie möglicherweise zusätzliche Änderungen in der Datenbank oder im Dashboard vornehmen. Diese müssen selbst entdeckt und geändert werden, sobald Sie sie finden.

Faire Warnung, dass es nicht perfekt ist und es ein Ärgernis sein kann, WordPress über Domains zu verschieben. Eine andere Sache, die ich auch gesehen habe, ist, das Folgende zu Ihrer wp-config-Datei hinzuzufügen:

define('WP_HOME','http://'. $_SERVER['SERVER_NAME']);
define('WP_SITEURL','http://'. $_SERVER['SERVER_NAME']);

Auf diese Weise kann die Site in jeder Domain verwendet werden, in der sie sich gerade befindet. Sie müssen sich jedoch weiterhin mit fest codierten URLs in Inhalten, Optionen und Menüs befassen. Ich habe das selbst nicht getestet und weiß nicht, ob Sie die entsprechenden Optionen aus Ihrer Datenbank entfernen müssen, damit sie funktionieren.

Update: Ich hätte vermuten sollen, dass es ein Plugin für den Datenbankbereich gibt http://wordpress.org/extend/plugins/wp-migrate-db/

0
Michael Dozark