Websites manuell auf einen neuen Server migrieren (Linux)
Bitte verwenden sie die "Drucken" Funktion am Seitenende, um ein PDF zu erstellen.
In diesem Artikel erfahren Sie, wie Sie:
- die erforderlichen Website-Daten und die Konfigurationsdateien in Apache und Nginx ermitteln
- die verwendete MySQL-Datenbank sichern
- die Website-Dateien und die exportierte MySQL-Datenbank lokal auf Ihrem Computer speichern
- Anwendungen wie z. B. Apache, Nginx, MySQL/MariaDB, PHP, Plesk und WordPress installieren
- die Website-Dateien importieren
- einen WordPress-Blog umziehen
Warnung
Wenn Sie Ihre Serverdaten manuell auf einen neuen Server migrieren, müssen Sie vor der Migration Ihre Domains und Ihre E-Mail-Postfächer migrieren. Darüber hinaus müssen Sie nach dem Umzug Ihrer Domains die DNS-Einstellungen anpassen. Andernfalls droht Datenverlust.
Eine detaillierte Anleitung, wie Sie Ihre Serverdaten manuell auf einen aktuellen VPS migrieren, finden Sie im folgenden Artikel:
Serverdaten manuell auf einen aktuellen VPS migrieren
Hinweise
- Die erfolgreiche Migration einer Website erfordert eine sorgfältige Planung und Durchführung.
- Prüfen Sie vor der Migration, welche Sicherheitseinstellungen und -konfigurationen auf dem neuen Server vorgenommen werden müssen. Führen Sie diese Einstellungen im Rahmen der Migration durch. Dies gilt sowohl für das installierte Betriebssystem als auch für die installierten Anwendungen.
- Stellen Sie nach der Migration sicher, dass die Funktionalität Ihrer Websites, Anwendungen und Skripte sorgfältig geprüft wird. Planen Sie daher für die Tests und für die Behebung von Fehlern genug Zeit ein.
- Informieren Sie ggf. Ihre Nutzer über geplante Ausfallzeiten.
- Bitte beachten Sie, dass die Migration von Websites nicht in unserem Supportumfang enthalten ist. Falls erforderlich, wenden Sie sich bitte an einen Webentwickler, um zu erfahren, wie Sie Ihre Website am besten umziehen können. Wenn Sie die Dienste eines Website-Entwicklers in Anspruch nehmen möchten, suchen Sie bitte in unserem Partnernetzwerk nach einem geeigneten Fachmann.
Website-Dateien ermitteln
Um die erforderlichen Website-Dateien zu ermitteln, gehen Sie wie folgt vor:
Apache
Stellen Sie eine SSH-Verbindung zu Ihrem bisher verwendeten Server her und loggen Sie sich als Administrator ein.
Um in allen Dateien im Verzeichnis /etc/apache2/sites-enabled und dessen Unterverzeichnissen nach Text zu suchen, in dem der Name Ihrer Domain enthalten ist, ersetzen Sie im unten stehenden Befehl den Platzhalter. Geben Sie anschließend den Befehl ein.
[root@localhost ~]# grep -Ril "DOMAINNAME" /etc/apache2/sites-enabled
Beispiel:[root@localhost ~]# grep -Ril "example.com" /etc/apache2/sites-enabled
Anschließend wird der Dateipfad für die Konfigurationsdatei Ihrer Website angezeigt. Beispiel:
/etc/apache2/sites-enabled/example.com.conf
Öffnen Sie die Datei mit dem Editor vi. Passen Sie hierzu den unten stehenden Befehl an und geben Sie diesen anschließend ein:
[root@localhost ~]# vi /etc/PFAD/PFAD/DATEINAME.conf
Beispiel:[root@localhost ~]# vi /etc/apache2/sites-enabled/example.com.conf
Notieren Sie den Pfad zu den Website-Dateien, der in der Zeile DocumentRoot aufgeführt ist. Im unten aufgeführten Beispiel handelt sich um das Verzeichnis /var/www/html.
[root@localhost ~]# vi /etc/apache2/sites-enabled/example.com.conf
VirtualHost *:80>
…
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
…
ErrorLog ${APACHE LOG DIR}/error.log
CustomLog ${APACHE LOG DIR}/access.log combined- Drücken Sie die Taste [ESC].
- Um vi zu beenden und die Datei zu speichern, geben Sie den Befehl :wq ein und drücken Sie anschließend Enter.
Nginx
- Stellen Sie eine SSH-Verbindung zu Ihrem bisher verwendeten Server her und loggen Sie sich als Administrator ein.
Öffnen Sie das Nginx-Konfigurationsverzeichnis.
[root@localhost ~]# cd /etc/nginx
Öffnen Sie die Hauptkonfigurationsdatei von Nginx mit dem Editor vi. In der Regel handelt es sich um die Datei nginx.conf. Passen Sie hierzu den unten stehenden Befehl an und geben Sie diesen anschließend ein:
[root@localhost ~]# vi /etc/nginx/nginx.conf
- Suchen Sie in der Hauptkonfigurationsdatei nach Zeilen, die include beinhalten. Prüfen Sie anschließend, welche weiteren Konfigurationsdateien oder -verzeichnisse geladen werden (z. B., sites-enabled/*).
- Notieren Sie die benötigten Konfigurationsdateien oder -verzeichnisse und deren Pfade.
Um das root-Direktiv zu finden, das den Pfad zu den Website-Dateien angibt, geben Sie den folgenden Befehl ein:
[root@localhost ~]# grep -R 'root' /etc/nginx/
Dieser Befehl durchsucht alle Dateien unterhalb von /etc/nginx nach der Zeichenfolge root. Die Ausgabe zeigt Ihnen die Dateien und die zugehörigen Zeilen an, in denen das root-Direktiv gesetzt ist.
Die Ausgabe von grep kann mehrere Zeilen enthalten, wenn Nginx z. B. mehrere Websites (Server Blocks) hostet. Jede Zeile zeigt den Pfad der Konfigurationsdatei und die Zeile an, in der das root-Direktiv gesetzt ist. Beispiel:/etc/nginx/sites-available/example.com: root /var/www/example.com/html;
In diesem Beispiel wird der Pfad /var/www/example.com/html als Wurzelverzeichnis für die Website example.com verwendet.
- Notieren Sie den Pfad des Wurzelverzeichnisses.
Prüfen Sie den Inhalt des Wurzelverzeichnisses. Um den Inhalt anzuzeigen, geben Sie den folgenden Befehl ein:
[root@localhost ~]# ls -l /PFAD
Beispiel:
[root@localhost ~]# ls -l /var/www/example.com/html
MySQL-Datenbank sichern
Um die MySQL-Datenbank für Ihre Website zu migrieren, müssen Sie die Zugangsdaten der MySQL-Datenbank kennen. Darüber hinaus benötigen Sie zusätzlich die folgenden Informationen:
- Port
- Host
- Name der Datenbank
Wenn Ihnen die Zugangsdaten der MySQL-Datenbank bekannt sind, können Sie diesen Abschnitt überspringen.
Zugangsdaten ermitteln
Im Folgenden wird erklärt, wo Sie die MySQL-Zugangsdaten finden:
WordPress
In WordPress finden Sie die MySQL-Zugangsdaten in der Datei wp-config.php. Diese befindet sich im Stammverzeichnis Ihrer WordPress-Installation.
Typische Pfade sehen z. B. wie folgt aus:
/var/www/html/wp-config.php
oder
/var/www/example.com/wp-config.php
/** The name of the database for WordPress */
define('DB_NAME', 'db123456789');
/** MySQL database username */
define('DB_USER', 'dbo123456789');
/** MySQL database password */
define('DB_PASSWORD', 'Geheimes_Passwort');
/** MySQL hostname */
define('DB_HOST', 'db123456789.hosting-data.io');
/** WordPress Database Table prefix.
$table_prefix = 'abcd';
Websites ohne CMS
Für Websites, die direkt auf eine Datenbank zugreifen und kein CMS verwenden, hängt die Speicherung der Zugangsdaten von der individuellen Konfiguration ab. Häufig sind die Zugangsdaten in Konfigurationsdateien gespeichert, die von den jeweiligen Skripten verwendet werden. Um in diesem Fall die Zugangsdaten zu finden, müssen Sie in den PHP-, Python-, Java- oder anderen Backend-Dateien nach Datenbankverbindungsparametern suchen.
MySQL-Datenbank exportieren
Um eine MySQL-Datenbank zu sichern, verwenden Sie das Tool mysqldump, das mit den meisten MySQL-Installationen geliefert wird. Ersetzen Sie im unten aufgeführten Befehl die Platzhalter und geben Sie den Befehl anschließend ein.
mysqldump --no-tablespaces --port PORTNUMMER --host=HOSTNAME --user=BENUTZERNAME --password=PASSWORT DATENBANKNAME | gzip > /root/dbdump.sql.gz
Nach der Eingabe des Befehls wird die Datenbank in das Root-Verzeichnis exportiert. Der Dateiname lautet hierbei dbdump.sql.gz.
Hinweis
Wenn Ihre Dateinamen, Passwörter oder Benutzernamen Sonderzeichen enthalten, müssen Sie diese im mysqldump- oder mysql-Befehl in einfache Anführungszeichen (') setzen.
Beispiel: mysqldump […] --password='%gCjmnrmLk!xnSefw'
Website-Dateien und die exportierte MySQL-Datenbank lokal speichern
Speichern Sie die Kopie der Website-Dateien und die exportierte MySQL-Datenbank auf einem lokalen Computer. Hierfür können Sie das Programm FileZilla verwenden. FileZilla wird für Computer mit Windows-, MacOS- und Linux-Betriebssystem angeboten.
Sie können die aktuelle Installationsdatei für Ihr Betriebssystem auf der folgenden Seite herunterladen:
https://filezilla-project.org/download.php?type=client
Um mit FileZilla eine Verbindung zu Ihrem Server herzustellen und die Kopie der Website-Dateien sowie die exportierte MySQL-Datenbank auf einen lokalen Computer herunterzuladen, gehen Sie wie folgt vor:
- Starten Sie FileZilla.
- Geben Sie im Feld Server die IP-Adresse des Servers ein.
- Geben Sie im Feld Benutzer den Benutzernamen root ein.
- Geben Sie im Feld Passwort das Passwort ein, dass Sie festgelegt haben.
- Geben Sie im Feld Port den Port 22 ein.
- Klicken Sie auf Verbinden.
Die Verbindung zum Server wird hergestellt. Im Bereich links werden die Verzeichnisse angezeigt, die sich auf Ihrem Client befinden. Im Bereich rechts werden die Verzeichnisse angezeigt, die sich auf Ihrem Server befinden. - Erstellen Sie ein Verzeichnis auf Ihrem lokalen Computer.
- Öffnen Sie das Wurzelverzeichnis Ihres Webservers.
- Markieren Sie auf Ihrem Server das Wurzelverzeichnis und kopieren Sie dieses anschließend mittels Drag-and-drop in das gewünschte Verzeichnis, das sich auf Ihrem lokalen Computer befindet.
- Kopieren Sie zusätzlich die benötigten Konfigurationsdateien oder -verzeichnisse mittels Drag-and-drop in das gewünschte Verzeichnis, das sich auf Ihrem lokalen Computer befindet.
- Öffnen Sie das Root-Verzeichnis.
- Markieren Sie die exportierte Datenbank. Der Dateiname lautet dbdump.sql.gz. Kopieren Sie die Datei anschließend mittels Drag-and-drop in das gewünschte Verzeichnis, das sich auf Ihrem lokalen Computer befindet.
Anwendungen auf dem neuen Server installieren
Bevor Sie die Website-Dateien und die exportierte Datenbank importieren, müssen Sie auf Ihrem neuen Server die Anwendungen installieren, die Sie auch auf Ihrem bisher verwendeten Server nutzen.
Achtung
Prüfen vor der Installation die erforderlichen Systemvoraussetzungen. Informieren Sie sich darüber hinaus auf den Seiten der Softwarehersteller über eventuelle Kompatibilitätsprobleme.
Apache, MySQL/MariaDB und PHP installieren
Eine Anleitung, wie Sie Apache, MySQL/MariaDB und PHP installieren, finden Sie in den folgenden Artikeln:
LAMP-Stack auf einem Server mit CentOS Stream 9 installieren
Nginx installieren
Eine Anleitung, wie Sie Nginx installieren, ist im folgenden Artikel aufgeführt:
Plesk installieren
Eine Anleitung, wie Sie Plesk installieren, finden Sie in den folgenden Artikeln:
WordPress installieren
Eine Anleitung, wie Sie WordPress auf einem Server installieren, finden Sie in der WordPress Dokumentation. Diese finden Sie auf der folgenden Seite:
Betriebssystem und Anwendung absichern
Passen Sie alle erforderlichen Sicherheitseinstellungen und -konfigurationen des neuen Servers an. Dies gilt sowohl für das installierte Betriebssystem als auch für die installierten Anwendungen.
Informationen zu einigen grundsätzlich wichtigen Sicherheitsmaßnahmen finden Sie im folgenden Artikel:
Wichtige Sicherheitsinformationen für Ihren Linux-Server (Teil 2 von 2)
Importieren der Website-Dateien
Apache
- Stellen Sie eine SSH-Verbindung zu Ihrem neuen Server her und loggen Sie sich als Administrator ein.
- Öffnen Sie zusätzlich Filezilla.
- Kopieren Sie die gesicherten Daten und Konfigurationsdateien mit FileZilla mittels Drag-and-drop in die entsprechenden Verzeichnisse auf Ihrem neuen Server.
- Prüfen Sie die Konfigurationsdateien sowie die Pfade und Einstellungen, die spezifisch auf die alte Serverumgebung ausgerichtet waren und passen Sie diese ggf. an.
Um Apache neu zu starten, wechseln Sie zum Programm, mit dem Sie die SSH-Verbindung hergestellt haben und geben Sie den folgenden Befehl ein:
[root@localhost ~]# sudo /etc/init.d/apache2 restart
- Prüfen Sie die von Ihnen verwendeten Skripte und passen Sie diese ggf. an.
- Testen Sie die Website und die Konfiguration.
Nginx
- Stellen Sie eine SSH-Verbindung zu Ihrem neuen Server her und loggen Sie sich als Administrator ein.
- Öffnen Sie zusätzlich Filezilla.
- Kopieren Sie die gesicherten Daten und Konfigurationsdateien mit FileZilla mittels Drag-and-drop in die entsprechenden Verzeichnisse auf Ihrem neuen Server.
- Prüfen Sie die Konfigurationsdateien sowie die Pfade und Einstellungen, die auf die alte Serverumgebung ausgerichtet waren und passen Sie diese ggf. an.
Um Nginx neu zu starten, wechseln Sie zum Programm, mit dem Sie die SSH-Verbindung hergestellt haben und geben Sie den folgenden Befehl ein:
[root@localhost ~]# sudo systemctl restart nginx
- Prüfen Sie die von Ihnen verwendeten Skripte und passen Sie diese ggf. an.
- Testen Sie die Website und die Konfiguration.
MySQL-Datenbank importieren
- Öffnen Sie FileZilla.
- Kopieren Sie die exportierte Datenbank mittels Drag-and-drop in das entsprechende Verzeichnis auf Ihrem neuen Server.
- Wechseln Sie zum Programm, mit dem Sie die SSH-Verbindung hergestellt haben.
- Öffnen Sie das Verzeichnis, in dem sich die exportierte Datenbank befindet.
Um Ihre Daten wiederherzustellen, führen Sie den Befehl mysql nach dem unten aufgeführten Schema aus. Ersetzen Sie hierbei die in Großbuchstaben geschriebenen Platzhalter durch die Zugangsdaten der Datenbank, in der Sie die Daten wiederherstellen möchten.
gunzip -c DATEINAME | mysql --user=BENUTZERNAME --password=PASSWORT DATENBANK
- Prüfen Sie die Sicherheitseinstellungen Ihrer MySQL-Datenbank.
WordPress-Blog umziehen
Eine Anleitung, wie Sie Ihren WordPress Blog umziehen, finden Sie auf der folgenden Seite: