Wiki-Quellcode von Nextcloud Upgrade

Version 9.1 von Tom Altenbrunn am 2024/11/05 16:53

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 2.17 94 Danach den ausgeschalteten und nicht mehr benötigten Nextcloud-Container vom Host-System löschen.
Tom Altenbrunn 2.13 95
Tom Altenbrunn 2.18 96 {{code language="bash"}}
97 root@ldhost:~ # lxc-destroy -n nextcloud-g1 -f
98 {{/code}}
Tom Altenbrunn 1.1 99
Tom Altenbrunn 2.18 100 Ein darauf folgender prun baut den Container neu auf unter Berücksichtigung der in den vorangegangen Schritten getätigten Vorgaben.
Tom Altenbrunn 1.2 101
Tom Altenbrunn 2.18 102 {{code language="bash"}}
103 root@ldhost:~ # prun
104 {{/code}}
Tom Altenbrunn 1.1 105
Tom Altenbrunn 3.3 106 (% class="box warningmessage" %)
107 (((
108 **Gegebenenfalls sind je nach Geschwindigkeit des Servers noch weitere pruns notwendig.**
109 )))
110
Tom Altenbrunn 2.19 111 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 112
Tom Altenbrunn 1.1 113
Tom Altenbrunn 2.20 114 {{code language="bash"}}
115 root@nextcloud-g1:~ # apt install --reinstall ld-nextcloud=27.1.9
116
117 root@nextcloud-g1:~ # prun
118
119 root@nextcloud-g1:~ # apt install --reinstall ld-nextcloud=28.0.5
120
121 root@nextcloud-g1:~ # prun
122
123 root@nextcloud-g1:~ # apt upgrade -y
124
125 root@nextcloud-g1:~ # prun
126 {{/code}}
127
128 Damit ist der eigentliche Aktualisierungsvorgang abgeschlossen.
129
Tom Altenbrunn 3.3 130
Tom Altenbrunn 2.20 131 == Upgrade Anpassungen entfernen ==
132
Tom Altenbrunn 2.21 133 Abschließend die gesetzten Upgrade-Anpassungen wieder entfernen und die Änderungen ins GIT commiten.
Tom Altenbrunn 2.20 134
135 {{code language="bash"}}
Tom Altenbrunn 3.4 136 root@puppeteer:~ # cd /etc/logodidact/hiera/custom.d/
137 root@puppeteer:/etc/logodidact/hiera/custom.d # vi nextcloud-g1.yaml
Tom Altenbrunn 2.20 138 {{/code}}
139
Tom Altenbrunn 3.4 140 {{code language="bash"}}
141 root@puppeteer:/etc/logodidact/hiera/custom.d # git add .
142 root@puppeteer:/etc/logodidact/hiera/custom.d # git commit -am "KÜRZEL: Temporäre Anpassungen für Nextcloud Upgrade zurückgesetzt."
143 {{/code}}
Tom Altenbrunn 2.20 144
145 == Abschluss ==
146
Tom Altenbrunn 2.21 147 Im Nextcloud-Container die Änderungen durch prun übernehmen. Dadurch wird ggf. auch eine neuere PHP-Version installiert.
Tom Altenbrunn 2.20 148
Tom Altenbrunn 2.21 149 {{code language="bash"}}
150 root@nextcloud-g1:~ # prun;prun
151 {{/code}}
Tom Altenbrunn 8.2 152
153 [[https:~~/~~/github.com/nextcloud/server/wiki/Releases-and-PHP-versions>>https://github.com/nextcloud/server/wiki/Releases-and-PHP-versions]]