Wiki-Quellcode von Nextcloud Upgrade

Version 9.2 von Tom Altenbrunn am 2024/11/06 08:23

Verstecke letzte Bearbeiter
Tom Altenbrunn 3.1 1 {{toc/}}
2
3 ----
4
Tom Altenbrunn 3.2 5 Die Ubuntu-Basis der Nextcloud unter LD2.0 benötigt eine aktuellere Version als die derzeit genutzte Version **16.0.4** (Xenial Xerus), damit neuere Nextcloud-und PHP-Versionen installiert werden können. Im Nachfolgenden wird zunächst die Basis des **nextcloud-g1** Containers auf Version **22.04.5** (Jammy) angehoben und anschließend die Komponenten Nextcloud, sowie PHP aktualisiert.
Tom Altenbrunn 1.2 6
7
Tom Altenbrunn 2.3 8 = Server aktualisieren =
Tom Altenbrunn 2.2 9
Tom Altenbrunn 2.3 10 Zunächst den Server mit den aktuellsten Updates versorgen und die aktuelle Puppet-Version 1.6.X installieren.
Tom Altenbrunn 2.2 11
Tom Altenbrunn 2.4 12 {{code language="bash"}}
13 root@ldhost:~ # ssh puppeteer
14 root@puppeteer:~ # ldupdate
15 {{/code}}
Tom Altenbrunn 2.2 16
Tom Altenbrunn 3.2 17 Im Anschluss wie gewohnt mehrere pruns im **ldhost **durchlaufen lassen und ein ldupdate im **logosrv **durchführen. Danach noch 2 x gprun im **ldhost**, damit die Updates über alle Container-Instanzen hinweg installiert werden.
Tom Altenbrunn 2.3 18
Tom Altenbrunn 2.7 19 {{code language="bash"}}
20 root@ldhost:~ # prun;prun
21 root@ldhost:~ # ssh logosrv
Tom Altenbrunn 2.3 22
Tom Altenbrunn 2.7 23 root@logosrv:~ # ldupdate
Tom Altenbrunn 2.6 24
Tom Altenbrunn 2.7 25 root@ldhost:~ # gprun;gprun
26 {{/code}}
27
28 = Nextcloud-Containeranpassungen =
29
Tom Altenbrunn 2.11 30 == Nextcloud-Instanz zerstören ==
Tom Altenbrunn 2.7 31
Tom Altenbrunn 3.2 32 Nun wird die alte **nextcloud-g1** Instanz unter der alten Ubuntu-Basis zerstört, damit diese später mit der neuen Ubuntu-Version wieder aufgebaut werden kann.
Tom Altenbrunn 2.11 33
Tom Altenbrunn 2.12 34 (% class="box infomessage" %)
35 (((
Jonas Mayer 5.1 36 Die Nextcloud-Benutzerdaten bleiben erhalten, da diese im ldhost im Verzeichnis lxc.data des Containers vorliegen bzw. als externe SMB-Shares eingebunden sind.
Tom Altenbrunn 2.12 37 )))
38
39 {{code language="bash"}}
40 root@puppeteer:~ # puppet-master-remove-client nextcloud-g1
41 {{/code}}
42
Tom Altenbrunn 2.8 43 == Ubuntu-Version des LXC anheben ==
44
Tom Altenbrunn 3.2 45 Im **puppeteer **wird in der Konfigurations-Datei des **ldhost **für den **nextcloud-g1**-Container die Ubuntu-Release-Version auf Jammy gesetzt.
Tom Altenbrunn 2.8 46
Tom Altenbrunn 2.9 47 {{code language="bash"}}
Tom Altenbrunn 3.4 48 root@puppeteer:~ # cd /etc/logodidact/hiera/custom.d/
Tom Altenbrunn 3.5 49 root@puppeteer:/etc/logodidact/hiera/custom.d # vi ldhost.yaml
Tom Altenbrunn 2.9 50 {{/code}}
51
52 {{code language="bash"}}
53 profile::lxc::host:
54 guests:
55 nextcloud-g1:
56 ensure: running
57 release: jammy
58 {{/code}}
59
Tom Altenbrunn 2.20 60 == Upgrade Anpassungen ==
61
Tom Altenbrunn 3.2 62 Während der Dauer des Upgrades ist es vonnöten die korrekte PHP-Version statisch per Nextcloud-Konfiguration mitzugeben.
Tom Altenbrunn 1.1 63
Tom Altenbrunn 2.15 64 {{code language="bash"}}
Tom Altenbrunn 3.4 65 root@puppeteer:~ # cd /etc/logodidact/hiera/custom.d/
Tom Altenbrunn 3.5 66 root@puppeteer:/etc/logodidact/hiera/custom.d # vi nextcloud-g1.yaml
Tom Altenbrunn 2.15 67 {{/code}}
Tom Altenbrunn 2.13 68
Tom Altenbrunn 2.15 69 {{code language="bash"}}
70 php::globals::php_version: '8.1'
71 php::package_prefix: 'php8.1-'
72 ld_base::fixes::php::historic_php_versions:
73 - '8.3'
74 {{/code}}
Tom Altenbrunn 2.13 75
Tom Altenbrunn 2.16 76 Alle Änderungen an den Konfigurationen ins GIT commiten.
Tom Altenbrunn 2.13 77
Tom Altenbrunn 3.4 78 {{code language="bash"}}
Tom Altenbrunn 3.5 79 root@puppeteer:/etc/logodidact/hiera/custom.d # git add .
80 root@puppeteer:/etc/logodidact/hiera/custom.d # git commit -am "KÜRZEL: Temporäre Anpassungen für Nextcloud Upgrade vorgenommen."
Tom Altenbrunn 3.4 81 {{/code}}
Tom Altenbrunn 2.15 82
Tom Altenbrunn 3.4 83
Tom Altenbrunn 2.17 84 == Re-Installation Nextcloud ==
Tom Altenbrunn 2.15 85
Tom Altenbrunn 3.3 86 Zunächst den jeweiligen LXC-Containerdienst im **ldhost **deaktivieren. Dadurch wird der LXC vollständig heruntergefahren.
Tom Altenbrunn 2.16 87
Tom Altenbrunn 2.17 88 {{code language="bash"}}
89 root@ldhost:~ # systemctl stop lxc@nextcloud-g1.service
Tom Altenbrunn 7.2 90 root@ldhost:~ # lxc-stop -n nextcloud-g1
91
Tom Altenbrunn 2.17 92 {{/code}}
Tom Altenbrunn 2.16 93
Tom Altenbrunn 9.2 94 Zur Überprüfung kann mittels lxc-ls -f der ausgeschaltete Zustand des Containers bestätigt werden.
95
96
Tom Altenbrunn 2.17 97 Danach den ausgeschalteten und nicht mehr benötigten Nextcloud-Container vom Host-System löschen.
Tom Altenbrunn 2.13 98
Tom Altenbrunn 2.18 99 {{code language="bash"}}
100 root@ldhost:~ # lxc-destroy -n nextcloud-g1 -f
101 {{/code}}
Tom Altenbrunn 1.1 102
Tom Altenbrunn 2.18 103 Ein darauf folgender prun baut den Container neu auf unter Berücksichtigung der in den vorangegangen Schritten getätigten Vorgaben.
Tom Altenbrunn 1.2 104
Tom Altenbrunn 2.18 105 {{code language="bash"}}
106 root@ldhost:~ # prun
107 {{/code}}
Tom Altenbrunn 1.1 108
Tom Altenbrunn 3.3 109 (% class="box warningmessage" %)
110 (((
111 **Gegebenenfalls sind je nach Geschwindigkeit des Servers noch weitere pruns notwendig.**
112 )))
113
Tom Altenbrunn 2.19 114 Nachdem der Container vollständig aufgebaut ist, die Nextcloud-Version nach und nach auf die nächsthöheren Versionen 27 und 28 aktualisieren. Ein Upgrade der Anwendung über mehrere Versionen hinweg ist nicht möglich.
Tom Altenbrunn 2.20 115
Tom Altenbrunn 1.1 116
Tom Altenbrunn 2.20 117 {{code language="bash"}}
118 root@nextcloud-g1:~ # apt install --reinstall ld-nextcloud=27.1.9
119
120 root@nextcloud-g1:~ # prun
121
122 root@nextcloud-g1:~ # apt install --reinstall ld-nextcloud=28.0.5
123
124 root@nextcloud-g1:~ # prun
125
126 root@nextcloud-g1:~ # apt upgrade -y
127
128 root@nextcloud-g1:~ # prun
129 {{/code}}
130
131 Damit ist der eigentliche Aktualisierungsvorgang abgeschlossen.
132
Tom Altenbrunn 3.3 133
Tom Altenbrunn 2.20 134 == Upgrade Anpassungen entfernen ==
135
Tom Altenbrunn 2.21 136 Abschließend die gesetzten Upgrade-Anpassungen wieder entfernen und die Änderungen ins GIT commiten.
Tom Altenbrunn 2.20 137
138 {{code language="bash"}}
Tom Altenbrunn 3.4 139 root@puppeteer:~ # cd /etc/logodidact/hiera/custom.d/
140 root@puppeteer:/etc/logodidact/hiera/custom.d # vi nextcloud-g1.yaml
Tom Altenbrunn 2.20 141 {{/code}}
142
Tom Altenbrunn 3.4 143 {{code language="bash"}}
144 root@puppeteer:/etc/logodidact/hiera/custom.d # git add .
145 root@puppeteer:/etc/logodidact/hiera/custom.d # git commit -am "KÜRZEL: Temporäre Anpassungen für Nextcloud Upgrade zurückgesetzt."
146 {{/code}}
Tom Altenbrunn 2.20 147
148 == Abschluss ==
149
Tom Altenbrunn 2.21 150 Im Nextcloud-Container die Änderungen durch prun übernehmen. Dadurch wird ggf. auch eine neuere PHP-Version installiert.
Tom Altenbrunn 2.20 151
Tom Altenbrunn 2.21 152 {{code language="bash"}}
153 root@nextcloud-g1:~ # prun;prun
154 {{/code}}
Tom Altenbrunn 8.2 155
156 [[https:~~/~~/github.com/nextcloud/server/wiki/Releases-and-PHP-versions>>https://github.com/nextcloud/server/wiki/Releases-and-PHP-versions]]