Mit XAMPP kann schnell eine Umgebung mit Webserver, PHP und Datenbank aufgebaut werden mit der WordPress lokal auf einem Windows Computer betrieben werden kann. Soll WordPress später dann auf einen Server im Internet umziehen ist dies mit einigen Hürden verbunden. Dies ist überwiegend der unterschiedlichen Behandlung von Groß- und Kleinschreibung zwischen den Betriebssystemen und den absoluten Hyperlinks in der Datenbank bei der Verwendung von Permalinks geschuldet. Wird eine Migration unter Beibehaltung der URL durchgeführt, so reicht das Kopieren der WordPress Dateien und der Datenbank mit Anpassung der der Datenbankverbindung auf den neuen Server. Beachtet werden sollte auch der von WordPress.
Im folgenden werden die wichtigsten Punkte zur schwierigeren Migration mit geänderter URL/ Verzeichnissen kurz erklärt:
Kopieren der Dateien auf den neuen Server
Mittels FTP müssen zunächst alle Dateien des WordPress System von dem alten Server auf den neuen Server kopiert werden. Dazu bietet sich der kostenlose FTP Client FileZilla an.
Datenbank Export auf dem Altsystem und Import auf dem neuen System
Die Datenbank muss von dem bestehenden System auf den neuen Datenbankserver übertragen werden. Ist Zugang zur Windows Konsole oder der Linux Shell vorhanden, so können die mit MySQL installierten Tools verwendet werden:
Export:
mysqldump --opt -u root -p --DATENBANKNAME > wordpress_backup.sql
Import (Datenbank muss bereits vorhanden sein):
mysql -u root -p DATENBANKNAME < wordpress_backup.sql
Ist ein Zugang zur Shell nicht vorhanden so stehen bei XAMPP und den meisten Hostern mit phpMyAdmin ein Webbasierter MySQL Client zur Verfügung. Dort wählt man die WordPress Datenbank aus und kann über die Tabs Exportieren und Importieren SQL-Dateien erzeugen, die sämtliche Create und Insert Statements enthalten um die Datenbank auf einen Server zu übertragen. Siehe Screenshot:
Anpassen der Parameter in der Options-Tabelle
In der Tabelle „wp_options“ müssen auf dem neuen System die folgenden Parameter angepasst werden:
- siteurl : Muss auf die neue URL verweisen
- home: Muss auf die neue URL verweisen
Anpassen der absoluten Pfade in der neu eingespielten Datenbank
Auf dem neuen Server passen die absoluten Pfade in der Datenbank nicht zu der neuen URL / Domain. Daher müssen alle Vorkommen in der Datenbank ersetzt werden. Dazu kann am einfachsten das Search and replace Tool for WordPress genutzt werden. Hiermit werden alle vorkommen der alten URL (z.B. http//localhost/wordpress) durch die neue URL (z.B. http://www.meinsuperblog.com) ersetzt.
wp-config.php anpassen
Die Datei wp-config.php im Hauptverzeichnis von WordPress muss auf dem neuen Server angepasst werden. Insbesondere muss auf die neue Datenbank verwiesen werden:
- DB_NAME = Datenbankname
- DB_USER = Datenbank User
- DB_PASSWORD = Datenbank User Passwort
- DB_HOST = Host Adresse des MySQL Servers
Achtung:Zieht das WordPress System von einem Windows System auf ein Linux System um, kann es sein das in der wp-config.php der Tabellen Präfix in Großbuchstaben steht, aber auf der Datenbank bei der Erstinstallation Tabellen mit kleingeschrieben Präfixen angelegt wurden. Dies führt dazu das WordPress auf dem neuen Server nicht aufrufbar ist und wieder eine Installation durchführen möchte. Daher muss die Groß- und Kleinschreibung in der wp-config.php mit denen in der Datenbank übereinstimmen und ggf. angepasst werden.
$table_prefix = 'wp_';
Anpassen der .htaccess Datei
War Worpress vorher in einem anderen Verzeichnis installiert als auf dem neuen Server, so muss die .htaccess Datei im Root Verzeichnis der neuen Installation bei den Parametern „RewriteBase“ und „RewriteRule“ angepasst werden. Liegt WordPress auf dem neuen Server im Root-Verzeichnis des Webservers, so muss hier ein / stehen. Siehe unten:
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
Migration überprüfen
Abschließend sollten überprüft werden ob das System alle Seiten fehlerfrei lädt und die Verlinkungen funktionieren.