WordPress Seite übertragen

von | Feb 19, 2018 | Admin, Wordpress-dev | 0 Kommentare

Problem: Ich möchte eine WordPress Installation von meinem Lokalen System auf einen Server übertragen. Für diese Aufgabe gibt es viele Plugins die mehr oder weniger gut funktionieren. Es ist aber auch nicht schwer die Seite per Hand zu übertragen.
HTTP Protokoll
Vorraussetzungen
  1. FTP Zugangsdaten (Benutzername // Passwort)
  2. MySQL Zugangsdaten (Datenbankname, Benutzername // Passwort)
  3. Zugang zur Datenbank (z.B. Plesk oder phpmyadmin)
Anpassen: wp-config.php

Im Basisverzeichnis deiner WordPressinstallation findest du die Datei: wp-config.php
Hier müssen folgende Werte angepasst werden:
Ich empfehle die Daten der Lokalen Installation auskommentiert in der Datei zu lassen. Das macht es leichter die Einstellungen zu wechseln.

/** MySQL Einstellungen - diese Angaben bekommst du von deinem Webhoster. */
/** Ersetze database_name_here mit dem Namen der Datenbank, die du verwenden möchtest. */
define('DB_NAME', 'livedatenbank');
// define('DB_NAME', 'lokaledatenbank');

/** Ersetze username_here mit deinem MySQL-Datenbank-Benutzernamen */
define('DB_USER', 'livedatenbanknutzer');
// define('DB_USER', 'lokalerdatenbanknutzer');

/** Ersetze password_here mit deinem MySQL-Passwort */
define('DB_PASSWORD', 'livepasswort');
// define('DB_PASSWORD', 'lokalespasswort');

/** Ersetze localhost mit der MySQL-Serveradresse */
define('DB_HOST', 'localhost'); // Diese Einstellung muss i.d.R. nicht angepasst werden

Dateien hochladen

Die Dateien vom lokalen Rechner auf das live System übertragen werden. Dafür benutzt man idealerweise FTP. Als FTP Client kann man z.B. FileZilla verwenden.

Servername ist i.d.R. der Name der Webseite, z.B. „meinewebseite.de“ oder „ftp.meinewebseite.de
Der Standard FTP-Port ist 21 und muss normalerweise nicht eingegeben werden da selten davon abgewichen wird.

Auf den meisten Servern liegt die Basis der Webseite nicht im Hauptverzeichnis sondern die Dateien müssen in ein sogg. webroot Verzeichnis kopiert werden. Auf Apache Systemen heisst dieses Verzeichnis i.d.R. /httpdocs/

Datenbank lokal exportieren

Die Datenbank auf demlokalen Rechner muss exportiert werden um sie auf das live System zu übertragen. In den meisten Fällen ist phpmyadmin bereits mit dem lokalen Serverstack installiert worden. Auf die Oberfläche von phpmyadmin kann man dann über folgenden Link zugreifen:

http://localhost/phpmyadmin

Hier kann man die gewünschte Datenbank als sql-Skript exportieren:

Datenbank remote importieren

Die exportierte Datenbank muss nun auf dem live System importiert werden. Dafür kann i.d.R. auch wieder phpmyadmin verwendet werden.

  1. gewünschte Datenbank auswählen
  2. Importieren -> Datei auswählen -> OK

 

Einstellungen in der Datenbank ersetzen

Da WordPress auch einige Einstellungen und jede Menge Verweise in der Datenbank speichert müssen diese Verweise ausgetauscht werden damit sie für die live Umgebung passen.

Die wichtigsten Einträge sind hierbei ’siteurl‘ und ‚home‘ in der ‚wp_options‘ Tabelle. Je nach Umfang der WordPress Seite kann es aber auch viele Verweise geben die auf die lokale Entwicklungsumgebung zugeschnitten sind. Um sicherzugehen das man alle Ändert empfiehlt es sich solche Einträge massenhaft in der Datenbank zu ersetzen. Dafür kann man z.B. das Search Replace DB tool von interconnect/it verwenden.

Das Tool muss dabei ins Hauptverzeichnis der Webseite (/httpdocs/) kopiert werden – also auf einer Ebene mit z.B. der wp-config.php Datei oder wp-config Ordner. Es übernimmt dann automatisch die Einstellungen der WordPress Installation und kann direkt auf die Datenbank zugreifen.

Vorsicht! Dieses Werkzeug ist für Entwickler gedacht und kann, falsch angewendet, die Webseite zerstören. Beim erstmaligen Hochladen ist das kein Problem da man bei Fehlern die Datenbank einfach nochmal hochladen kann.  Im laufenden Betrieb muss man sich aber sehr sicher sein was man tut und immer vorher ein Backup anlegen!

In einer lokalen Entwicklungsumgebung sehen diese Einträge i.d.R. wie folgt aus:
’siteurl‘ = ‚http://localhost‘

Diese Verweise auf localhost müssen entsprechend der URL der live Webseite abgeändert werden. also z.B.:
’siteur‘ = ‚https://meine-webseite.de‘

Um diese Ersetzung vorzunehmen trägt man bei search/replace DB die Werte wie folgt ein:
replace: ‚http://localhost‘ with ‚https://meine-webseite.de‘

Um sicherzugehen das die Abfrage glatt geht kann man erst einmal einen „dry run“ durchführen. Dabei wird die Abfrage nur getestet und nicht wirklich ausgeführt. Bei dem Test sollten mindestens 2 Änderungen in der wp_options zu erkennen sein.

Danach die gewünschten Änderungen per „live run“ ausführen.

Wichtig! Nach dem Suchen/Ersetzen muss das Tool unbedingt wieder vom Server gelöscht werden da es direkten Zugriff auf die Datenbank ermöglicht! Ganz unten gibt es dafür einen Button oder man entfernt löscht per FTP einfach das Verzeichnis.