Nextcloud bauen mit Jet – 64 Bit Edition #09 – Migration

Alle Befehle in diesem Tutorial werden mit Administratorenrechten ausgeführt.
Daher bitte einmal den Befehl sudo -s ausführen, um Rootrechte zu erhalten.

Wer seine Nextcloud mit der alten Serie gebaut hat, steht aktuell vor den Problem, dass ein 32 Bit Betriebssystem verwendet wurde und ein „Update“ auf ein 64 Bit System nicht möglich ist. Daher bleibt jetzt nur eine Neuinstallation übrig. Aber keine Sorge, wir verlieren keinerlei Daten.

Allerdings sei schon einmal vorab gesagt, dass hier viel Doppelung zur eigentlichen Installation der 64 Bit Cloud herscht. Daher wird es immer wieder querverweise geben, damit nicht alles komplett neu erklärt werden muss.

In dieser Anleitung gehe ich davon aus, dass die bestehende 32 Bit Cloud nach Anleitung der Tutorialserie erstellt wurde (Mit mindestens einem externen Datenträger). Wenn nicht, müssen die Pfade in der Anleitung ggf. auf eure Umgebung angepasst werden.

Für diese Anleitung benötigt man keinerlei zusätzliche Hardware. Wer sich einigermaßen gut an die Anleitung hält, hat keinen Datenverlust zu befürchten.

Cloud abschalten

Damit sich die Altcloud in einem sauberen Zustand befindet, werden wir diese erst einmal in den Wartungsmodus bringen und zur Sicherheit auch noch den Webserver abschalten. Das tun wir wie folgt:

sudo -u www-data php /var/www/nextcloud/occ maintenance:mode --on
systemctl stop apache2

Die Cloud sollte nun nicht mehr erreichbar sein.

Datenbank sichern

Nun heißt es für uns die Datenbank zu sichern. Als Verzeichnis bietet sich der externe Datenträger an (Egal ob einzel oder RAID), auf dem sowieso schon die Daten der Cloud liegen.
Daher führen wir nun eine Export der Datenbank (cloud) auf diesen Datenträger durch.

mysqldump --single-transaction cloud > /media/festplatte/cloud.sql

Webseite sichern

Daten und Datenbank befinden sich nun auf dem externen Datenträger. Fehlen nur noch die Webseitdateien der Nextcloud selber.

Hierzu kopieren wir nun besagte Dateien auch auf den Datenträger.

cp -r /var/www/nextcloud/. /media/festplatte/nextcloudWWW

Nun haben wir soweit alles gesichert was wir auf dem neuen System brauchen. Im Verzeichnis /media/festplatte sollten sich nun die Verzeichnisse nextcloud (Datenverzeichnis) und nextcloudWWW (Webseitenverzeichnis) befinden. Ebenso die Datei cloud.sql

Wenn dem so ist, kann nun mit dem Neuaufsetzen begonnen werden.

Neuinstallation

Das alte System kann nun heruntergefahren werden und der Pi kann nach Anleitung von Part 1 neu aufgesetzt werden. Externe Speichermedien müssen nicht zwingend entfernt werden.

Externes Speichermedium

Sobald der Pi nach Part 1 aufgesetzt wurde und nun wieder funktioniert, geht es nun an unseren externen Speicher. Hier müssen wir nun sehr vorsichtig sein und können uns nicht an Part 2 der Tutorialserie orientieren, da sonst die Daten formatiert werden würden. Für uns stellt sich erst einmal die Frage ob wir nur einen Speicher haben, oder ein RAID eingerichtet hatten. Bei einem RAID müssen wir jetzt noch ggf. mdadm nachinstallieren und den Raspberry Pi neustarten. Danach sollte sich das RAID automatisch wieder zusammensetzen.

apt install mdadm
reboot

Wir sollten unseren Datenträger/RAID mit dem lsblk Befehl sehen. Nun heißt es für uns die Partition automatisch einhängen zu lassen. Hierzu sollten wir allerdings nicht den Namen sondern die ID der Partition verwenden, damit diese zuverlässig eingehängt wird. Den der Name wird bei jedem Systemstart eigenständig vom Betriebssystem vergeben und müssen nicht immer gleich zugewiesen werden.
Daher einmal den Befehl blkid ausführen und sich die UUID der gewünschten Partition kopieren.

Danach fügen wir in die Datei /etc/fstab eine neue Zeile ein und verwenden die eben kopierte UUID.

/dev/disk/by-uuid/<UUID>       /media/festplatte    ext4    nofail        0       2

Nun sollten wir noch das Verzeichnis /media/festplatte anlegen.

mkdir /media/festplatte

Danach können wir den Befehl mount -a ausführen. Dieser führt alle Mountoperationen durch, die in der /etc/fstab Datei definiert wurden.
Nun sollten wir mit dem lsblk Befehl sehen, dass unsere Festplatte nun einen Mountpoint besitzt.
Ebenso sollten wir nun auch all unsere Daten wieder sehen können wenn wir ls /media/festplatte eingeben.

Webserver konfigurieren

Hier kann 1 zu 1 der Part 3 des Tutorials umgesetzt werden.

Datenbank konfigurieren

Auch hier kann 1 zu 1 das Tutorial Part 4 umgesetzt werden.

Daten wiederherstellen

Nun geht es darum unsere Dateien der alten Cloud wieder nutzbar zu machen. Daher fällt Part 5 der Serie weg, da wir die Cloud nicht neu installieren werden.
Als erstes importieren wir die Datenbanksicherung in unsere MariaDB Datenbank.

mariadb cloud < /media/festplatte/cloud.sql

Danach müssen noch die Webseitdateien an die richtige Stelle gebracht werden. Zur Sicherheit kopieren wir die Daten aber nur und verschieben sie nicht. Danach müssen noch die Rechte für den www-data Benutzer gesetzt werden.

cp -r /media/festplatte/nextcloudWWW/. /var/www/nextcloud/
chown -R www-data:www-data /media/festplatte/nextcloud
chown -R www-data:www-data /var/www/nextcloud

Cloud startklar machen

Ab jetzt könnte die Cloud theoretisch genutzt werden. Allerdings ist auf der alten Cloud vermutlich noch ein Cache eingerichtet gewesen, welcher in unserer alten Cloud noch fehlt.

Daher sollten jetzt noch Teil 6 der Tutorialserie durchgeführt werden. Alle Parts, die die /var/www/nextcloud/config/config.php Datei betreffen müssen ggf. nicht umgesetzt werden, da diese bereits in der alten Serie angepackt wurden. Daher hier lieber zweimal drauf achten was zutun ist.

Zum Schluss müssen wir nur noch den Wartungsmodus wieder deaktivieren um die Cloud nutzen zu können:

sudo -u www-data php /var/www/nextcloud/occ maintenance:mode --off

Cron

Solltet ihr die Hintergrundaufgaben in eurer alten Cloud bereits auf „Cron“ umgestellt haben, so solltet ihr jetzt noch unbedingt Part 7 der Tutorialserie nachholen. Hier muss der Eintrag in dir Crontab erfolgen.

Danach sollte die Nextcloud vollständig migriert sein 🥳

Schreibe einen Kommentar