Wiki-Quellcode von Nextcloud Upgrade

Version 3.2 von Tom Altenbrunn am 2024/11/04 16:09

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 3.2 45 == ==
46
Tom Altenbrunn 2.8 47 == Ubuntu-Version des LXC anheben ==
48
Tom Altenbrunn 3.2 49 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 50
Tom Altenbrunn 2.9 51 {{code language="bash"}}
52 root@puppeteer:~ # vi /etc/logodidact/hiera/custom.d/ldhost.yaml
53 {{/code}}
54
55 {{code language="bash"}}
56 profile::lxc::host:
57 guests:
58 nextcloud-g1:
59 ensure: running
60 release: jammy
61 {{/code}}
62
Tom Altenbrunn 3.2 63 == ==
64
Tom Altenbrunn 2.20 65 == Upgrade Anpassungen ==
66
Tom Altenbrunn 3.2 67 Während der Dauer des Upgrades ist es vonnöten die korrekte PHP-Version statisch per Nextcloud-Konfiguration mitzugeben.
Tom Altenbrunn 1.1 68
Tom Altenbrunn 2.15 69 {{code language="bash"}}
70 root@puppeteer:~ # vi /etc/logodidact/hiera/custom.d/nextcloud-g1.yaml
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 2.15 82
Tom Altenbrunn 2.17 83 == Re-Installation Nextcloud ==
Tom Altenbrunn 2.15 84
Tom Altenbrunn 2.17 85 Zunächst den jeweiligen LXC-Containerdienst im ldhost deaktivieren. Dadurch wird der LXC vollständig heruntergefahren.
Tom Altenbrunn 2.16 86
Tom Altenbrunn 2.17 87 {{code language="bash"}}
88 root@ldhost:~ # systemctl stop lxc@nextcloud-g1.service
89 {{/code}}
Tom Altenbrunn 2.16 90
Tom Altenbrunn 2.17 91 Danach den ausgeschalteten und nicht mehr benötigten Nextcloud-Container vom Host-System löschen.
Tom Altenbrunn 2.13 92
Tom Altenbrunn 2.18 93 {{code language="bash"}}
94 root@ldhost:~ # lxc-destroy -n nextcloud-g1 -f
95 {{/code}}
Tom Altenbrunn 1.1 96
Tom Altenbrunn 2.18 97 Ein darauf folgender prun baut den Container neu auf unter Berücksichtigung der in den vorangegangen Schritten getätigten Vorgaben.
Tom Altenbrunn 1.2 98
Tom Altenbrunn 2.18 99 {{code language="bash"}}
100 root@ldhost:~ # prun
101 {{/code}}
Tom Altenbrunn 1.1 102
Tom Altenbrunn 2.19 103 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 104
Tom Altenbrunn 1.1 105
Tom Altenbrunn 2.20 106 {{code language="bash"}}
107 root@nextcloud-g1:~ # apt install --reinstall ld-nextcloud=27.1.9
108
109 root@nextcloud-g1:~ # prun
110
111 root@nextcloud-g1:~ # apt install --reinstall ld-nextcloud=28.0.5
112
113 root@nextcloud-g1:~ # prun
114
115 root@nextcloud-g1:~ # apt upgrade -y
116
117 root@nextcloud-g1:~ # prun
118 {{/code}}
119
120 Damit ist der eigentliche Aktualisierungsvorgang abgeschlossen.
121
122 == Upgrade Anpassungen entfernen ==
123
Tom Altenbrunn 2.21 124 Abschließend die gesetzten Upgrade-Anpassungen wieder entfernen und die Änderungen ins GIT commiten.
Tom Altenbrunn 2.20 125
126 {{code language="bash"}}
127 root@puppeteer:~ # vi /etc/logodidact/hiera/custom.d/nextcloud-g1.yaml
128 {{/code}}
129
130
131 == Abschluss ==
132
Tom Altenbrunn 2.21 133 Im Nextcloud-Container die Änderungen durch prun übernehmen. Dadurch wird ggf. auch eine neuere PHP-Version installiert.
Tom Altenbrunn 2.20 134
Tom Altenbrunn 2.21 135 {{code language="bash"}}
136 root@nextcloud-g1:~ # prun;prun
137 {{/code}}
Tom Altenbrunn 2.20 138
Tom Altenbrunn 2.21 139