Wiki-Quellcode von Nextcloud Upgrade

Version 4.1 von Tom Altenbrunn am 2024/11/04 16:22

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
Tom Altenbrunn 3.2 28 = =
29
Tom Altenbrunn 2.7 30 = Nextcloud-Containeranpassungen =
31
Tom Altenbrunn 2.11 32 == Nextcloud-Instanz zerstören ==
Tom Altenbrunn 2.7 33
Tom Altenbrunn 3.2 34 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 35
Tom Altenbrunn 2.12 36 (% class="box infomessage" %)
37 (((
38 Die Benutzerdaten bleiben erhalten, da diese im ldhost im Verzeichnis lxc.data vorliegen.
39 )))
40
41 {{code language="bash"}}
42 root@puppeteer:~ # puppet-master-remove-client nextcloud-g1
43 {{/code}}
44
Tom Altenbrunn 2.8 45 == Ubuntu-Version des LXC anheben ==
46
Tom Altenbrunn 3.2 47 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 48
Tom Altenbrunn 2.9 49 {{code language="bash"}}
Tom Altenbrunn 3.4 50 root@puppeteer:~ # cd /etc/logodidact/hiera/custom.d/
Tom Altenbrunn 3.5 51 root@puppeteer:/etc/logodidact/hiera/custom.d # vi ldhost.yaml
Tom Altenbrunn 2.9 52 {{/code}}
53
54 {{code language="bash"}}
55 profile::lxc::host:
56 guests:
57 nextcloud-g1:
58 ensure: running
59 release: jammy
60 {{/code}}
61
Tom Altenbrunn 3.2 62 == ==
63
Tom Altenbrunn 2.20 64 == Upgrade Anpassungen ==
65
Tom Altenbrunn 3.2 66 Während der Dauer des Upgrades ist es vonnöten die korrekte PHP-Version statisch per Nextcloud-Konfiguration mitzugeben.
Tom Altenbrunn 1.1 67
Tom Altenbrunn 2.15 68 {{code language="bash"}}
Tom Altenbrunn 3.4 69 root@puppeteer:~ # cd /etc/logodidact/hiera/custom.d/
Tom Altenbrunn 3.5 70 root@puppeteer:/etc/logodidact/hiera/custom.d # vi nextcloud-g1.yaml
Tom Altenbrunn 2.15 71 {{/code}}
Tom Altenbrunn 2.13 72
Tom Altenbrunn 2.15 73 {{code language="bash"}}
74 php::globals::php_version: '8.1'
75 php::package_prefix: 'php8.1-'
76 ld_base::fixes::php::historic_php_versions:
77 - '8.3'
78 {{/code}}
Tom Altenbrunn 2.13 79
Tom Altenbrunn 2.16 80 Alle Änderungen an den Konfigurationen ins GIT commiten.
Tom Altenbrunn 2.13 81
Tom Altenbrunn 3.4 82 {{code language="bash"}}
Tom Altenbrunn 3.5 83 root@puppeteer:/etc/logodidact/hiera/custom.d # git add .
84 root@puppeteer:/etc/logodidact/hiera/custom.d # git commit -am "KÜRZEL: Temporäre Anpassungen für Nextcloud Upgrade vorgenommen."
Tom Altenbrunn 3.4 85 {{/code}}
Tom Altenbrunn 2.15 86
Tom Altenbrunn 3.4 87
Tom Altenbrunn 2.17 88 == Re-Installation Nextcloud ==
Tom Altenbrunn 2.15 89
Tom Altenbrunn 3.3 90 Zunächst den jeweiligen LXC-Containerdienst im **ldhost **deaktivieren. Dadurch wird der LXC vollständig heruntergefahren.
Tom Altenbrunn 2.16 91
Tom Altenbrunn 2.17 92 {{code language="bash"}}
93 root@ldhost:~ # systemctl stop lxc@nextcloud-g1.service
94 {{/code}}
Tom Altenbrunn 2.16 95
Tom Altenbrunn 2.17 96 Danach den ausgeschalteten und nicht mehr benötigten Nextcloud-Container vom Host-System löschen.
Tom Altenbrunn 2.13 97
Tom Altenbrunn 2.18 98 {{code language="bash"}}
99 root@ldhost:~ # lxc-destroy -n nextcloud-g1 -f
100 {{/code}}
Tom Altenbrunn 1.1 101
Tom Altenbrunn 2.18 102 Ein darauf folgender prun baut den Container neu auf unter Berücksichtigung der in den vorangegangen Schritten getätigten Vorgaben.
Tom Altenbrunn 1.2 103
Tom Altenbrunn 2.18 104 {{code language="bash"}}
105 root@ldhost:~ # prun
106 {{/code}}
Tom Altenbrunn 1.1 107
Tom Altenbrunn 3.3 108 (% class="box warningmessage" %)
109 (((
110 **Gegebenenfalls sind je nach Geschwindigkeit des Servers noch weitere pruns notwendig.**
111 )))
112
Tom Altenbrunn 2.19 113 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 114
Tom Altenbrunn 1.1 115
Tom Altenbrunn 2.20 116 {{code language="bash"}}
117 root@nextcloud-g1:~ # apt install --reinstall ld-nextcloud=27.1.9
118
119 root@nextcloud-g1:~ # prun
120
121 root@nextcloud-g1:~ # apt install --reinstall ld-nextcloud=28.0.5
122
123 root@nextcloud-g1:~ # prun
124
125 root@nextcloud-g1:~ # apt upgrade -y
126
127 root@nextcloud-g1:~ # prun
128 {{/code}}
129
130 Damit ist der eigentliche Aktualisierungsvorgang abgeschlossen.
131
Tom Altenbrunn 3.3 132
Tom Altenbrunn 2.20 133 == Upgrade Anpassungen entfernen ==
134
Tom Altenbrunn 2.21 135 Abschließend die gesetzten Upgrade-Anpassungen wieder entfernen und die Änderungen ins GIT commiten.
Tom Altenbrunn 2.20 136
137 {{code language="bash"}}
Tom Altenbrunn 3.4 138 root@puppeteer:~ # cd /etc/logodidact/hiera/custom.d/
139 root@puppeteer:/etc/logodidact/hiera/custom.d # vi nextcloud-g1.yaml
Tom Altenbrunn 2.20 140 {{/code}}
141
Tom Altenbrunn 3.4 142 {{code language="bash"}}
143 root@puppeteer:/etc/logodidact/hiera/custom.d # git add .
144 root@puppeteer:/etc/logodidact/hiera/custom.d # git commit -am "KÜRZEL: Temporäre Anpassungen für Nextcloud Upgrade zurückgesetzt."
145 {{/code}}
Tom Altenbrunn 2.20 146
147 == Abschluss ==
148
Tom Altenbrunn 2.21 149 Im Nextcloud-Container die Änderungen durch prun übernehmen. Dadurch wird ggf. auch eine neuere PHP-Version installiert.
Tom Altenbrunn 2.20 150
Tom Altenbrunn 2.21 151 {{code language="bash"}}
152 root@nextcloud-g1:~ # prun;prun
153 {{/code}}
Tom Altenbrunn 2.20 154