Anleitung – Website, Domain & Emails umziehen – So gehts!

Dieser Beitrag enthält Werbung und Werbelinks.

Egal, für welchen Hostinganbieter man sich entscheidet, früher oder später kommt vielleicht der Wunsch, den Provider zu wechseln. Die Problematik, die sich dabei ergibt, ist das Einwandfreie umziehen aller Inhalte. Oft liegen mehrere Websites mit und ohne Datenbank, Domains und Email Postfächer auf dem Server, die man natürlich alle mitnehmen möchte.

Der Wechsel ist eigentlich ganz einfach, wenn man weiß, wie es geht. Denn bei einem Umzug geht es darum, der Website genau die gleiche Umgebung zur Verfügung zu stellen, die sie vorher auch hatte. Das geht nicht immer, weil sich möglicherweise die PHP Version ändert oder bestimmte PHP Module nicht verfügbar sind. Aber grundsätzlich funktioniert meine hier beschriebene Prozedur ganz gut für jede Art von Website.

Schritt 1: Backups erstellen

FTP-Backup

Als Erstes sollte man eine Sicherheitskopie aller Daten auf dem FTP Server erstellen. Dazu kann man jeden beliebigen FTP Client nutzen. Ich nutze gern Filezilla oder WinSCP. So ein Backup sollte man abends starten und nachts durchlaufen lassen, denn je nach Größe kann das mehrere Stunden oder Tage dauern. Zusätzlich sollte man den Ruhezustand des Computers unterbinden. Das funktioniert gut mit dem Programm Don’tSleep für Windows oder NoSleep für Mac OS X.

So lege ich ein FTP-Backup an:
1. Ich erstelle einen neuen Ordner auf meinem PC mit dem Namen „Backup-Servername-Datum“.
2. Unterordner mit dem Namen „FTPBackup“ erstellen.
3. FTP Client Filezilla oder WinSCP starten und mit FTP Server verbinden.
4. Auf der linken Seite zum Ordner „Backup-Servername-Datum“ navigieren.
5. Alle Ordner und Dateien des Hauptverzeichnis (/) des FTP Servers zum Backup Ordner „FTPBackup“ links kopieren.

Am nächsten Morgen checke ich, ob das Backup erfolgreich war. Meist lege ich noch ein 2. Backup an und überprüfe die Dateigröße sowie Anzahl der Dateien und Ordner (Rechtsklick auf den Ordner -> Eigenschaften) der beiden Backups. Stimmen diese überein, war das Backup höchstwahrscheinlich erfolgreich. Es empfiehlt sich, auch Stichproben einzelner Dateien zu machen. Das heißt auf dem Server mal eine Datei in XY Ordner aussuchen und schauen, ob diese im Backup vorhanden ist.

Meine Empfehlung: Führt man den kompletten Umzug so durch, dass man noch 1 – 2 Wochen Zugriff auf den FTP Server des alten Hosters hat, könnte man bei einem Fehler die Sicherung nochmals starten. Also lieber etwas Zeit lassen und Vertrag 1 Monat länger laufen lassen als geplant.

Datenbank Backup

Einige Websites benötigen auch eine Datenbank, um zu funktionieren. Die muss man natürlich auch sichern, sonst ist das FTP-Backup wertlos. Wer nur eine statische HTML-Website umziehen möchte, der kann diesen Schritt überspringen. WordPress, Joomla und Shopware Nutzern müssen auf jeden Fall eine Sicherung der Datenbanken anlegen.

Eine Sicherung der Datenbank legt man am besten über das Datenbankkonfigurationstool PHPMyAdmin an. In den meisten Fällen, findet man den Link zu dieser Verwaltungsoberfläche dort, wo man auch Datenbank erstellen würde, bzw. sich eine Übersicht der Datenbanken anzeigen lassen kann. Der Login Screen sieht meist so aus:

Ist man eingeloggt, bekommt man eine Übersicht aller Tabellen. Das interessiert jetzt aber grad nicht. Klickt man oben im Menu auf Exportieren, bekommt man mehrere Exportoptionen angezeigt. Ein schneller Export genügt völlig. Man bekommt eine .SQL Datei als Download. Diese Datei nennt man auch SQL Dump. Das ist die eigentliche Datenbank für die entsprechende Website. Das mache ich mit allen Datenbanken und lege für jede Website einen Ordner in meinem Backup Ordner an. Darin liegt dann ein weiterer Ordner mit dem Namen „Datenbank“. Dorthin kopiere ich die .SQL Datei. Ordnung ist hier sehr wichtig, damit man später nichts durcheinanderbringt. Das mache ich dann für jede Datenbank, die zu sichern ist.

Email Backup

Ein Email Backup ist ein bisschen tricky und wird von vielen vergessen. Zieht man die Domain um, ohne ein Backup der Email Postfächer zu machen, sind alle Mails weg. Ich bin zwar kein Fan davon, das Email Postfach als Datenbank für alles zu benutzten, aber es gibt immer noch genug Menschen, die das machen. Aber naja, gesichert werden muss es trotzdem.

Es wäre tip top, wenn der neue Hoster das Anlegen von Domains und Email Postfächern im Voraus erlaubt, ohne das man die eigentliche Domain schon registriert hat. Denn dann kann man schon vorher die Postfächer erstellen und kann gleich nahtlos mit den neuen Zugangsdaten weitermachen. Ich weiß, dass es bei All-Inkl.com geht, denn da habe ich meinen Server. Außerdem unterstützt die Webmail Oberfläche von All-Inkl.com den Import von externen E-Mail-Postfächern. Das macht den Umzug von Email Postfächer zum Kinderspiel. Geht das beim Zielhoster nicht, muss man auf andere Methoden zurückgreifen.

Wenn man die Mails sichern möchte, dann gibt es mehrere mögliche Szenarien:
1. Die Emails werden über den Browser ähnlich wie bei GMX, Web.de oder GMail abgerufen.
2. Die Emails werden über POP3 auf den eigenen Computer mit einem Email Client z.B. Outlook oder Thunderbird abgerufen.
3. Die Emails werden über IMAP von mehreren Geräten über einen Email Client abgerufen.

Ich bevorzuge zur Sicherung von E-Mail-Postfächern das Programm Thunderbird. Jetzt muss man erst mal wissen, wie die Konfiguration der Mails vorher aussah. POP3 oder IMAP?

Nutzt man POP3, dann werden beim Abrufen alle Mails vom Mailserver auf den eigenen Computer heruntergeladen. Die Mails werden anschließend vom Server gelöscht.

Nutzt man IMAP, ist der Vorgang gleich, nur die Mails werden beim Abrufen nicht vom Server gelöscht.

Ich erkläre das, weil logischerweise eine Sicherung der Emails mit einem POP3 Konto nur auf dem entsprechendem Computer durchgeführt werden kann, der auch alle Mails hat. Daher ist es ratsam von vornherein IMAP zu nutzen, weil dann könnte man selbst bei einem Verlust oder Defekt des Computers, einfach einen Neuen kaufen und alle Emails vom Server laden. Die Prozedur zur Sicherung der Mails unterscheidet sich also nur in dem Sinne, dass man schauen muss, auf welchem Computer sich die Mails befinden. Ich habe schon manche Leute gesehen, die hatten mehrere Geräte mit mehreren Mail-Programmen und hatten dann wegen falscher Konfiguration manche Mails hier und andere da. In dem Fall muss man die Sicherung dann auf allen Geräten durchführen.

Ich zeige hier die Sicherung von Mails mit dem Email-Client Thunderbird:
1. Thunderbird herunterladen und installieren.
2. Thunderbird starten und Email Postfach (IMAP) einrichten.
3. Oben links auf „Abrufen“ klicken, um Emails abzurufen.
4. Eine Email anklicken und mit der Tastenkombination STRG + A alle Emails markieren.
5. Mit einem Rechtsklick auf eine beliebige Mail das Kontextmenu öffnen und „Speicher unter…“ auswählen.
6. Neuen Ordner erstellen mit dem Namen „Email-Sicherung-emailadressename“ und „Speichern / Ordner auswählen“ klicken.

Die Emails kann man dann später einfach per Drag & Drop wieder in das Postfach kopieren.

Schritt 2: Datenbank und FTP Backups auf neuen Hoster hochladen

Sind alle Backups erstellt, ist es an der Zeit die Backups auf den Server des neuen Hostinganbieters hochzuladen.

FTP-Backup hochladen

Dazu nimmt man sich wieder einen FTP-Client und loggt sich auf dem FTP Server auf den man umziehen möchte ein. Dann kopiert man einfach von links nach rechts alle Daten in ins Hauptverzeichnis (/) des neuen FTP Servers. Wichtig ist, dass man auch wirklich die gleiche Struktur beibehält. Sonst muss man später möglicherweise noch einige Fehler mehr beheben.

Sah also das Hauptverzeichnis des alten FTP Servers z.B. so aus:
/www
/abc
/xyz

dann sieht man natürlich ein dem Ordner „FTPBackup“, den man vorher auf dem Computer angelegt hat, auch wieder diese Ordner. Man lädt also nicht den Ordner „FTPBackup“ hoch, sondern die Ordner www, abc und xyz.

Auch das kann wieder eine Weile dauern, deshalb am besten den Upload abends starten und morgen schauen, wie es gelaufen ist. Schlafmodus unterbinden nicht vergessen.

Datenbanken hochladen

Dann müssen noch die Datenbanken hochgeladen werden. Ich mache es so, dass ich für jede Datenbank die ich wiederherstellen möchte, erst mal eine neue Datenbank auf dem Server erstelle. Ist das erledigt, logge ich mich wieder über die PHPMyAdmin Oberfläche ein und importieren die Tabellen der alten Datenbank.

Das geht so:
1. Neue Datenbank erstellen.
2. In die neue Datenbank via PHPMyAdmin einloggen.
3. Auf Tab importieren klicken.
4. Entsprechende SQL Datei auswählen.
5. Auf OK klicken, um den Vorgang zu starten.

Bricht der Vorgang ab, weil die Datei z. B. zu groß ist oder die Verbindung unterbrochen wurde, kann man den Vorgang einfach noch mal starten, bereits importiere Tabellen, werden dann übersprungen. Nutzt man Google Chrome um den SQL-Dump hochzuladen, kann man auch unten links den Fortschritt des Uploads beobachten.

War der Upload erfolgreich, wird die Seite neu geladen und man bekommt eine grüne Erfolgsmeldung angezeigt.

Email Postfächer einrichten und alte Emails wiederherstellen

Wenn man die Möglichkeit hat, Email Postfächer vor dem Umzug der Domain anzulegen, dann kann man jetzt die alten Mails ins neue Postfach importieren. Falls man die Domain noch nicht anlegen kann, kann man diesen Schritt auch nach dem Umzug der Domain erledigen.

Um die Mails wiederherzustellen, macht man Folgendes:
1. Email Postfach in der Administrationsoberfläche des neuen Hostinganbieters erstellen.
2. Postfach in Thunderbird einrichten.
3. In den Ordner mit den gesicherten Emails navigieren und mit der Tastenkombination STRG + A alle Emails markieren und via Drag & Drop in den Posteingang kopieren.

Schritt 3: Auth-Code für Domain anfordern

Ist alles vorbereitet, sollte man den Auth-Code für die Domain anfordern. Der bisherige Webhoster stellt meist ein Formular dafür zur Verfügung. Sobald die Bestätigung samt Auth-Code angekommen ist, trägt man die Daten beim neuen Hoster ein. Wo genau das geht, ist unterschiedlich, aber ich denke, jeder Kundenservice wird einem das schnell erklären.

Ist der Umzug eingeleitet, kommt vielleicht noch eine Bestätigungsmail. Dort befindet sich ein Link, den man anklicken muss, um den Umzug auch wirklich durchzuführen.

Der Umzug an sich dauert 1 – 24 Stunden. Am besten kann man testen, ob der Umzug wirklich fertig ist, indem man in der Eingabeaufforderung (CMD) oder Terminal am Unix Computer einen Ping durchführt und die IP Adressen vergleicht. Unter Windows öffnet man also die Kommandozeile, indem man die Windows Taste drückt und die Buchstaben „cmd“ eingibt. Dann Enter drücken und dieses Fenster öffnet sich. Dort schreibt man nun „ping www.deinewebsite.de“ und drückt wieder die Enter Taste, um den Befehl abzuschicken. Es werden 4 PING Befehle aufgeführt und eine IP-Adresse (85.13.138.199) angezeigt. Vor dem Umzug der Domain sollte man das einmal machen und sich die IP-Adresse notieren. Während des Umzugs kann man dann immer wieder einen PING-Befehl ausführen. Ändert sich die IP-Adresse, ist der Umzug wohlmöglich vollzogen.

Schritt 4: Anpassungen vornehmen

Bei einer statischen HTML-Website, muss man nur noch die Domain auf das entsprechende Verzeichnis der index.html weiterleiten. Die Einstellungen dazu findet man in der Administrationsoberfläche des neuen Hostinganbieters, meist unter dem Punkt Domains. Bei Websites mit Datenbank ist noch ein weiterer Schritt erforderlich.

Beim Punkt „Datenbank hochladen“ habe ich bereits den Import der alten Datenbanktabellen in eine neue Datenbank erklärt. Hier ist letztendlich eine Kopie der alten Datenbanktabellen in eine neue Datenbank importiert worden, allerdings ändern sich die Zugangsdaten der Datenbank und das muss man natürlich noch der Website mitteilen.

Ich ziehe meist WordPress Websites um, daher erkläre ich die Vorgehensweise dafür.

Bei WordPress findet man im WordPress Verzeichnis auf dem FTP Server (meist mit dem Namen „wordpress“) eine Datei namens wp-config.php. In dieser Datei stehen die Zugangsdaten für die Datenbank. Hat man die Domain auf das WordPress Verzeichnis „wordpress“ weitergeleitet und ruft die Domain auf, kommt die Meldung „Fehler beim Aufbau einer / der Datenbankverbindung“. Das liegt daran, dass die alten Zugangsdaten für die Datenbank nicht mehr passen.

So sieht die wp-config.php aus:


/**
* The base configuration for WordPress
*
* The wp-config.php creation script uses this file during the
* installation. You don't have to use the web site, you can
* copy this file to "wp-config.php" and fill in the values.
*
* This file contains the following configurations:
*
* * MySQL settings
* * Secret keys
* * Database table prefix
* * ABSPATH
*
* @link https://codex.wordpress.org/Editing_wp-config.php
*
* @package WordPress
*/

// ** MySQL settings – You can get this info from your web host ** //
/** The name of the database for WordPress */
define(‚DB_NAME‘, ‚database_name_here‘);

/** MySQL database username */
define(‚DB_USER‘, ‚username_here‘);

/** MySQL database password */
define(‚DB_PASSWORD‘, ‚password_here‘);

/** MySQL hostname */
define(‚DB_HOST‘, ‚localhost‘);

/** Database Charset to use in creating database tables. */
define(‚DB_CHARSET‘, ‚utf8‘);

/** The Database Collate type. Don’t change this if in doubt. */
define(‚DB_COLLATE‘, “);

/**#@+
* Authentication Unique Keys and Salts.
*
* Change these to different unique phrases!
* You can generate these using the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}
* You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again.
*
* @since 2.6.0
*/
define(‚AUTH_KEY‘, ‚put your unique phrase here‘);
define(‚SECURE_AUTH_KEY‘, ‚put your unique phrase here‘);
define(‚LOGGED_IN_KEY‘, ‚put your unique phrase here‘);
define(‚NONCE_KEY‘, ‚put your unique phrase here‘);
define(‚AUTH_SALT‘, ‚put your unique phrase here‘);
define(‚SECURE_AUTH_SALT‘, ‚put your unique phrase here‘);
define(‚LOGGED_IN_SALT‘, ‚put your unique phrase here‘);
define(‚NONCE_SALT‘, ‚put your unique phrase here‘);

/**#@-*/

/**
* WordPress Database Table prefix.
*
* You can have multiple installations in one database if you give each
* a unique prefix. Only numbers, letters, and underscores please!
*/
$table_prefix = ‚wp_‘;

/**
* For developers: WordPress debugging mode.
*
* Change this to true to enable the display of notices during development.
* It is strongly recommended that plugin and theme developers use WP_DEBUG
* in their development environments.
*
* For information on other constants that can be used for debugging,
* visit the Codex.
*
* @link https://codex.wordpress.org/Debugging_in_WordPress
*/
define(‚WP_DEBUG‘, false);

/* That’s all, stop editing! Happy blogging. */

/** Absolute path to the WordPress directory. */
if ( !defined(‚ABSPATH‘) )
define(‚ABSPATH‘, dirname(FILE) . ‚/‘);

/** Sets up WordPress vars and included files. */
require_once(ABSPATH . ‚wp-settings.php‘);

Für uns sind in diesem Fall diese Zeilen interessant:

define(‚DB_NAME‘, ‚database_name_here‘);
define(‚DB_USER‘, ‚username_here‘);
define(‚DB_PASSWORD‘, ‚password_here‘);
define(‚DB_HOST‘, ‚localhost‘);

Hier trägt man dann die Daten der neuen Datenbank ein. Am besten via FTP einloggen, entsprechende Datei herunterladen, mit Notepad++ oder ähnlichem Codeeditor die entsprechenden Felder bearbeiten und die Datei wieder hochladen. Dabei sollte das Original überschrieben werden. Man sollte auch prüfen, ob der neue Hoster einen anderen Server für die Datenbanken nutzt, falls der Eintrag localhost nicht funktioniert. Manchmal nutzen Hoster einen weiteren Server nur für Datenbanken, einen Hinweis dazu findet man meist beim Erstellen einer Datenbank. Wenn man jetzt die Website erneut aufruft, dann könnte es durch Caching-Plugins immer noch vorkommen, dass ein Fehler angezeigt wird. Die entsprechende Fehlermeldung wird dann mit Sicherheit auf ein Plugin hinweisen. Dann kann man einfach den Plugin Ordner im WordPress Ordner Plugins löschen und später wieder neu installieren.

Diese Prozedur verläuft natürlich ähnlich bei Joomla, Shopware oder anderen CMS Systemen. Ich habe hier einfach WordPress als Beispiel genommen, da es wohl in den meisten Fällen eingesetzt wird.

Das ist so die Prozedur um eine Website von einem Server zum anderen zu kopieren. Je nach Szenario ändern sich ein paar Kleinigkeiten. Aber wer ein bisschen Ahnung von PHP, MYSQL und HTML hat, der wird auch diese Probleme lösen können. Im Zweifel gibt es immer noch die Möglichkeiten einen Webdesigner zu beauftragen, der den Umzug für dich vornimmt.

Bleiben wir in Kontakt?

Aktuell sind wir sehr aktiv auf TikTok und hin und wieder gibt es einen Newsletter. Mehr Infos dazu in der Datenschutzerklärung.