{"id":432,"date":"2023-09-13T11:00:00","date_gmt":"2023-09-13T09:00:00","guid":{"rendered":"https:\/\/jet0jlh.de\/?p=432"},"modified":"2023-09-11T20:58:54","modified_gmt":"2023-09-11T18:58:54","slug":"nextcloud-bauen-mit-jet-64-bit-edition-09-migration","status":"publish","type":"post","link":"https:\/\/jet0jlh.de\/?p=432","title":{"rendered":"Nextcloud bauen mit Jet &#8211; 64 Bit Edition #09 &#8211; Migration"},"content":{"rendered":"\n<figure class=\"wp-block-embed is-provider-youtube wp-block-embed-youtube\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Der Wechsel des Betriebssystems von 32 Bit auf 64 Bit | Nextcloud bauen mit Jet 64 Bit #09\" width=\"625\" height=\"352\" src=\"https:\/\/www.youtube.com\/embed\/NsgY_JZznEM?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<figure class=\"wp-block-pullquote\"><blockquote><p>Alle Befehle in diesem Tutorial werden mit Administratorenrechten ausgef\u00fchrt.<br>Daher bitte einmal den Befehl <code>sudo -s<\/code> ausf\u00fchren, um Rootrechte zu erhalten.<\/p><\/blockquote><\/figure>\n\n\n\n<p>Wer seine Nextcloud mit der alten Serie gebaut hat, steht aktuell vor den Problem, dass ein 32 Bit Betriebssystem verwendet wurde und ein &#8222;Update&#8220; auf ein 64 Bit System nicht m\u00f6glich ist. Daher bleibt jetzt nur eine Neuinstallation \u00fcbrig. Aber keine Sorge, wir verlieren keinerlei Daten.<\/p>\n\n\n\n<p>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\u00e4rt werden muss.<\/p>\n\n\n\n<p>In dieser Anleitung gehe ich davon aus, dass die bestehende 32 Bit Cloud nach Anleitung der Tutorialserie erstellt wurde (Mit mindestens einem externen Datentr\u00e4ger). Wenn nicht, m\u00fcssen die Pfade in der Anleitung ggf. auf eure Umgebung angepasst werden.<\/p>\n\n\n\n<p>F\u00fcr diese Anleitung ben\u00f6tigt man keinerlei zus\u00e4tzliche Hardware. Wer sich einigerma\u00dfen gut an die Anleitung h\u00e4lt, hat keinen Datenverlust zu bef\u00fcrchten.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Cloud abschalten<\/h3>\n\n\n\n<p>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:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo -u www-data php \/var\/www\/nextcloud\/occ maintenance:mode --on\nsystemctl stop apache2<\/pre>\n\n\n\n<p>Die Cloud sollte nun nicht mehr erreichbar sein.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Datenbank sichern<\/h3>\n\n\n\n<p>Nun hei\u00dft es f\u00fcr uns die Datenbank zu sichern. Als Verzeichnis bietet sich der externe Datentr\u00e4ger an (Egal ob einzel oder RAID), auf dem sowieso schon die Daten der Cloud liegen.<br>Daher f\u00fchren wir nun eine Export der Datenbank (cloud) auf diesen Datentr\u00e4ger durch.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">mysqldump --single-transaction cloud > \/media\/festplatte\/cloud.sql<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Webseite sichern<\/h3>\n\n\n\n<p>Daten und Datenbank befinden sich nun auf dem externen Datentr\u00e4ger. Fehlen nur noch die Webseitdateien der Nextcloud selber.<\/p>\n\n\n\n<p>Hierzu kopieren wir nun besagte Dateien auch auf den Datentr\u00e4ger.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">cp -r \/var\/www\/nextcloud\/. \/media\/festplatte\/nextcloudWWW<\/pre>\n\n\n\n<p>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<\/p>\n\n\n\n<p>Wenn dem so ist, kann nun mit dem Neuaufsetzen begonnen werden.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Neuinstallation<\/h3>\n\n\n\n<p>Das alte System kann nun heruntergefahren werden und der Pi kann nach Anleitung von <a href=\"https:\/\/jet0jlh.de\/?p=380\" target=\"_blank\" rel=\"noreferrer noopener\">Part 1<\/a> neu aufgesetzt werden. Externe Speichermedien m\u00fcssen nicht zwingend entfernt werden.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Externes Speichermedium<\/h3>\n\n\n\n<p>Sobald der Pi nach Part 1 aufgesetzt wurde und nun wieder funktioniert, geht es nun an unseren externen Speicher. Hier m\u00fcssen wir nun sehr vorsichtig sein und k\u00f6nnen uns nicht an Part 2 der Tutorialserie orientieren, da sonst die Daten formatiert werden w\u00fcrden. F\u00fcr uns stellt sich erst einmal die Frage ob wir nur einen Speicher haben, oder ein RAID eingerichtet hatten. Bei einem RAID m\u00fcssen wir jetzt noch ggf. mdadm nachinstallieren und den Raspberry Pi neustarten. Danach sollte sich das RAID automatisch wieder zusammensetzen.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">apt install mdadm\nreboot<\/pre>\n\n\n\n<p> Wir sollten unseren Datentr\u00e4ger\/RAID mit dem <code data-enlighter-language=\"bash\" class=\"EnlighterJSRAW\">lsblk<\/code> Befehl sehen. Nun hei\u00dft es f\u00fcr uns die Partition automatisch einh\u00e4ngen zu lassen. Hierzu sollten wir allerdings nicht den Namen sondern die ID der Partition verwenden, damit diese zuverl\u00e4ssig eingeh\u00e4ngt wird. Den der Name wird bei jedem Systemstart eigenst\u00e4ndig vom Betriebssystem vergeben und m\u00fcssen nicht immer gleich zugewiesen werden.<br>Daher einmal den Befehl <code data-enlighter-language=\"bash\" class=\"EnlighterJSRAW\">blkid<\/code> ausf\u00fchren und sich die UUID der gew\u00fcnschten Partition kopieren.<\/p>\n\n\n\n<p>Danach f\u00fcgen wir in die Datei \/etc\/fstab eine neue Zeile ein und verwenden die eben kopierte UUID.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/dev\/disk\/by-uuid\/&lt;UUID>       \/media\/festplatte    ext4    nofail        0       2<\/pre>\n\n\n\n<p>Nun sollten wir noch das Verzeichnis \/media\/festplatte anlegen.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">mkdir \/media\/festplatte<\/pre>\n\n\n\n<p>Danach k\u00f6nnen wir den Befehl <code data-enlighter-language=\"bash\" class=\"EnlighterJSRAW\">mount -a<\/code> ausf\u00fchren. Dieser f\u00fchrt alle Mountoperationen durch, die in der \/etc\/fstab Datei definiert wurden.<br>Nun sollten wir mit dem <code data-enlighter-language=\"bash\" class=\"EnlighterJSRAW\">lsblk<\/code> Befehl sehen, dass unsere Festplatte nun einen Mountpoint besitzt.<br>Ebenso sollten wir nun auch all unsere Daten wieder sehen k\u00f6nnen wenn wir <code data-enlighter-language=\"bash\" class=\"EnlighterJSRAW\">ls \/media\/festplatte<\/code> eingeben.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Webserver konfigurieren<\/h3>\n\n\n\n<p>Hier kann 1 zu 1 der <a href=\"https:\/\/jet0jlh.de\/?p=394\" target=\"_blank\" rel=\"noreferrer noopener\">Part 3<\/a> des Tutorials umgesetzt werden.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Datenbank konfigurieren<\/h3>\n\n\n\n<p>Auch hier kann 1 zu 1 das Tutorial <a href=\"https:\/\/jet0jlh.de\/?p=397\" target=\"_blank\" rel=\"noreferrer noopener\">Part 4<\/a> umgesetzt werden.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Daten wiederherstellen<\/h3>\n\n\n\n<p>Nun geht es darum unsere Dateien der alten Cloud wieder nutzbar zu machen. Daher f\u00e4llt Part 5 der Serie weg, da wir die Cloud nicht neu installieren werden.<br>Als erstes importieren wir die Datenbanksicherung in unsere MariaDB Datenbank.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">mariadb cloud &lt; \/media\/festplatte\/cloud.sql<\/pre>\n\n\n\n<p>Danach m\u00fcssen noch die Webseitdateien an die richtige Stelle gebracht werden. Zur Sicherheit kopieren wir die Daten aber nur und verschieben sie nicht. Danach m\u00fcssen noch die Rechte f\u00fcr den www-data Benutzer gesetzt werden.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">cp -r \/media\/festplatte\/nextcloudWWW\/. \/var\/www\/nextcloud\/\nchown -R www-data:www-data \/media\/festplatte\/nextcloud\nchown -R www-data:www-data \/var\/www\/nextcloud<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Cloud startklar machen<\/h3>\n\n\n\n<p>Ab jetzt k\u00f6nnte die Cloud theoretisch genutzt werden. Allerdings ist auf der alten Cloud vermutlich noch ein Cache eingerichtet gewesen, welcher in unserer alten Cloud noch fehlt.<\/p>\n\n\n\n<p>Daher sollten jetzt noch <a rel=\"noreferrer noopener\" href=\"https:\/\/jet0jlh.de\/?p=406\" target=\"_blank\">Teil 6<\/a> der Tutorialserie durchgef\u00fchrt werden. Alle Parts, die die \/var\/www\/nextcloud\/config\/config.php Datei betreffen m\u00fcssen ggf. nicht umgesetzt werden, da diese bereits in der alten Serie angepackt wurden. Daher hier lieber zweimal drauf achten was zutun ist.<\/p>\n\n\n\n<p>Zum Schluss m\u00fcssen wir nur noch den Wartungsmodus wieder deaktivieren um die Cloud nutzen zu k\u00f6nnen:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo -u www-data php \/var\/www\/nextcloud\/occ maintenance:mode --off<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Cron<\/h3>\n\n\n\n<p>Solltet ihr die Hintergrundaufgaben in eurer alten Cloud bereits auf &#8222;Cron&#8220; umgestellt haben, so solltet ihr jetzt noch unbedingt <a rel=\"noreferrer noopener\" href=\"https:\/\/jet0jlh.de\/?p=421\" target=\"_blank\">Part 7<\/a> der Tutorialserie nachholen. Hier muss der Eintrag in dir Crontab erfolgen.<\/p>\n\n\n\n<p>Danach sollte die Nextcloud vollst\u00e4ndig migriert sein \ud83e\udd73<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Alle Befehle in diesem Tutorial werden mit Administratorenrechten ausgef\u00fchrt.Daher bitte einmal den Befehl sudo -s ausf\u00fchren, 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 &#8222;Update&#8220; auf ein 64 Bit System nicht&#8230; <a href=\"https:\/\/jet0jlh.de\/?p=432\">Read more &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[15,5],"tags":[],"class_list":["post-432","post","type-post","status-publish","format-standard","hentry","category-nextcloud","category-tutorials"],"_links":{"self":[{"href":"https:\/\/jet0jlh.de\/index.php?rest_route=\/wp\/v2\/posts\/432","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jet0jlh.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jet0jlh.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jet0jlh.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jet0jlh.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=432"}],"version-history":[{"count":7,"href":"https:\/\/jet0jlh.de\/index.php?rest_route=\/wp\/v2\/posts\/432\/revisions"}],"predecessor-version":[{"id":491,"href":"https:\/\/jet0jlh.de\/index.php?rest_route=\/wp\/v2\/posts\/432\/revisions\/491"}],"wp:attachment":[{"href":"https:\/\/jet0jlh.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=432"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jet0jlh.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=432"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jet0jlh.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=432"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}