WordPress zwischen zwei Linux Servern migrieren

Hinweis:

  • Dieses Material ist für erfahrene Admins gedacht.

  • Außerdem sollte man als Admin angemeldet sein, oder sudo verwenden dürfen.

  • Datenverlust möglich!



Auf dem bisherigen Server

Datenbank exportieren, sichern und wichtige Verzeichnisse sichern:

Datum=$(date +%F)

#apt install -y p7zip-full -y

mysqldump -uUSER -pPASSWORD --all-databases --add-drop-table > /temp/$Datum-db-backup.sql

tar --exclude=/test -cf /temp/$Datum-backup-www.example.com.tar /home /etc /usr/local /usr/share /root /var/www

7z a -t7z -pPASSWORD /temp/$Datum-backup-www.example.com.tar.7z /temp/$Datum-db-backup.sql /temp/$Datum-backup-www.example.com.tar

Die Dateien auf dem neuen Server hochladen:

cd /temp

scp -P 1234 FILENAME.7z user@123.123.123.123:/home/user

Auf dem neuen Server

#apt install -y apache2 php php-mysql mariadb-server p7zip-full

mysql

USE mysql;

DROP DATABASE mysql;

exit

Verzeichnisse erstellen und Archive entpacken:

mkdir temp

mv *.7z temp

cd temp

7z x FILENAME

#Passwort eingeben

tar xf FILENAME.tar

mysqldump -uUSER -pPASSWORD < ~/$Datum-db-backup.sql

Kopieren Sie die Inhalte des Webserver an den entsprechenden Ort, z.B. /var/www/html/wordpress

Kopieren Sie die SSL/TLS Zertifikate an die passenden Orte z.B. /etc/ssl/certs und /etc/ssl/private

Kopieren Sie die .conf Datei Ihrer Webseite an den Ort /etc/apache2/sites-available

Abschließend aktivieren Sie die notwendigen mods und starten den Server einmal neu, damit die DB korrekt ausgelesen wird.

a2enmod ssl

a2enmod rewrite

a2ensite www.example.com

reboot

Tipps und Tricks:

Falls der apache2.service Probleme melden sollte, sehen sie so nach: journalctl -xeu apache2.service

Testen der Funktionalität: Passen Sie die Datei /etc/hosts an und sehen nach ob Ihre WordPress Seite einwandfrei funktioniert, auf dem neuen Server. Wenn ja, können Sie die DNS Einträge abändern.