Zuletzt geändert von Tom Altenbrunn am 2025/03/26 08:25

Verstecke letzte Bearbeiter
Tom Altenbrunn 3.1 1 {{toc/}}
2
3 ----
4
Jonas Mayer 19.1 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 betrieben werden können. Im Nachfolgenden wird zunächst die Basis des **nextcloud-g1** Containers auf Version **22.04** (Jammy) angehoben und anschließend die Komponenten Nextcloud, sowie PHP aktualisiert.
Tom Altenbrunn 1.2 6
7
Tom Altenbrunn 30.2 8 (% class="box errormessage" %)
9 (((
10 (% style="font-size:16px" %)Vor der Aktualisierung stellen Sie bitte sicher, dass die aktuell genutzte Nextcloud-Version im Container (% style="font-size: 16px; color: rgb(0, 0, 0)" %)**nextcloud-g1 **(% style="font-size:16px" %)der Version 26.X.X entspricht und die Datenbank der Nextcloud im Container (% style="font-size: 16px; color: rgb(0, 0, 0)" %)**pgsql13** (% style="font-size:16px" %)liegt und verwendet wird.
11 )))
12
Tom Altenbrunn 2.3 13 = Server aktualisieren =
Tom Altenbrunn 2.2 14
Tom Altenbrunn 25.2 15 Zunächst den Server mit den aktuellsten Updates versorgen und die aktuelle Puppet-Version 1.7.X installieren.
Tom Altenbrunn 2.2 16
Tom Altenbrunn 2.4 17 {{code language="bash"}}
18 root@ldhost:~ # ssh puppeteer
19 root@puppeteer:~ # ldupdate
20 {{/code}}
Tom Altenbrunn 2.2 21
Tom Altenbrunn 3.2 22 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 23
Tom Altenbrunn 2.7 24 {{code language="bash"}}
Jonas Mayer 24.1 25 root@ldhost:~ # prun; prun
Tom Altenbrunn 2.7 26 root@ldhost:~ # ssh logosrv
Tom Altenbrunn 2.3 27
Tom Altenbrunn 2.7 28 root@logosrv:~ # ldupdate
Tom Altenbrunn 2.6 29
Jonas Mayer 24.1 30 root@ldhost:~ # gprun; gprun
Tom Altenbrunn 2.7 31 {{/code}}
32
Jonas Mayer 18.1 33
Tom Altenbrunn 2.7 34 = Nextcloud-Containeranpassungen =
35
Tom Altenbrunn 2.11 36 == Nextcloud-Instanz zerstören ==
Tom Altenbrunn 2.7 37
Tom Altenbrunn 3.2 38 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 39
Tom Altenbrunn 2.12 40 (% class="box infomessage" %)
41 (((
Tom Altenbrunn 12.3 42 Die Nextcloud-Benutzerdaten bleiben erhalten, da diese im ldhost im Verzeichnis lxc.data des Containers vorliegen.
Tom Altenbrunn 2.12 43 )))
44
45 {{code language="bash"}}
46 root@puppeteer:~ # puppet-master-remove-client nextcloud-g1
47 {{/code}}
48
Jonas Mayer 18.1 49
Tom Altenbrunn 2.8 50 == Ubuntu-Version des LXC anheben ==
51
Tom Altenbrunn 3.2 52 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 53
Tom Altenbrunn 2.9 54 {{code language="bash"}}
Tom Altenbrunn 3.4 55 root@puppeteer:~ # cd /etc/logodidact/hiera/custom.d/
Tom Altenbrunn 3.5 56 root@puppeteer:/etc/logodidact/hiera/custom.d # vi ldhost.yaml
Tom Altenbrunn 2.9 57 {{/code}}
58
59 {{code language="bash"}}
60 profile::lxc::host:
61 guests:
62 nextcloud-g1:
63 ensure: running
64 release: jammy
65 {{/code}}
66
Jonas Mayer 18.1 67
Tom Altenbrunn 2.20 68 == Upgrade Anpassungen ==
69
Jonas Mayer 18.1 70 Für das Upgrade ist es außerdem nötig, eine höhere PHP-Version 8.1 statisch in der Nextcloud LXC-Konfiguration mitzugeben.
Tom Altenbrunn 1.1 71
Tom Altenbrunn 2.15 72 {{code language="bash"}}
Tom Altenbrunn 3.4 73 root@puppeteer:~ # cd /etc/logodidact/hiera/custom.d/
Tom Altenbrunn 3.5 74 root@puppeteer:/etc/logodidact/hiera/custom.d # vi nextcloud-g1.yaml
Tom Altenbrunn 2.15 75 {{/code}}
Tom Altenbrunn 2.13 76
Tom Altenbrunn 2.15 77 {{code language="bash"}}
78 php::globals::php_version: '8.1'
79 php::package_prefix: 'php8.1-'
80 ld_base::fixes::php::historic_php_versions:
81 - '8.3'
82 {{/code}}
Tom Altenbrunn 2.13 83
Jonas Mayer 18.1 84 Alle Änderungen an den Konfigurationsdateien ins GIT commiten.
Tom Altenbrunn 2.13 85
Tom Altenbrunn 3.4 86 {{code language="bash"}}
Tom Altenbrunn 3.5 87 root@puppeteer:/etc/logodidact/hiera/custom.d # git add .
88 root@puppeteer:/etc/logodidact/hiera/custom.d # git commit -am "KÜRZEL: Temporäre Anpassungen für Nextcloud Upgrade vorgenommen."
Tom Altenbrunn 3.4 89 {{/code}}
Tom Altenbrunn 2.15 90
Tom Altenbrunn 3.4 91
Tom Altenbrunn 2.17 92 == Re-Installation Nextcloud ==
Tom Altenbrunn 2.15 93
Jonas Mayer 18.1 94 Zunächst den LXC-Containerdienst von Nextcloud im **ldhost **deaktivieren. Dadurch wird der LXC gestoppt.
Tom Altenbrunn 2.16 95
Tom Altenbrunn 2.17 96 {{code language="bash"}}
97 root@ldhost:~ # systemctl stop lxc@nextcloud-g1.service
Tom Altenbrunn 7.2 98 root@ldhost:~ # lxc-stop -n nextcloud-g1
99
Tom Altenbrunn 2.17 100 {{/code}}
Tom Altenbrunn 2.16 101
Jonas Mayer 18.1 102 Zur Überprüfung kann mittels des Befehls {{box}}lxc-info -n nextcloud-g1{{/box}} der ausgeschaltete Zustand des Containers bestätigt werden.
Tom Altenbrunn 9.2 103
Jonas Mayer 20.1 104 [[image:1731401812839-349.png]]
Tom Altenbrunn 9.2 105
Tom Altenbrunn 13.1 106
Jonas Mayer 29.1 107 Danach den ausgeschalteten Nextcloud-Container temporär vom Host-System löschen.
Tom Altenbrunn 2.13 108
Tom Altenbrunn 2.18 109 {{code language="bash"}}
Jonas Mayer 30.1 110 root@ldhost:~ # lxc-destroy -n nextcloud-g1
Tom Altenbrunn 2.18 111 {{/code}}
Tom Altenbrunn 1.1 112
Jonas Mayer 18.1 113 Ein darauf folgender prun baut den Container neu auf unter Berücksichtigung der vorherigen Einstellungen, also mit einem Ubuntu Jammy OS.
Tom Altenbrunn 1.2 114
Tom Altenbrunn 2.18 115 {{code language="bash"}}
116 root@ldhost:~ # prun
117 {{/code}}
Tom Altenbrunn 1.1 118
Tom Altenbrunn 3.3 119 (% class="box warningmessage" %)
120 (((
Jonas Mayer 18.1 121 **Je nach Geschwindigkeit des Servers dauert dieser Schritt etwas länger, ca. 10-15 Minuten.**
Tom Altenbrunn 3.3 122 )))
123
Jonas Mayer 18.1 124 Verbinden Sie sich nun mit dem Container und starten diesen nach einem erfolgreichen prun neu, um die richtige IP-Adresse darin zu erhalten.
Tom Altenbrunn 11.1 125
126 {{code language="bash"}}
127 root@ldhost:~ # lxc-attach -n nextcloud-g1
Jonas Mayer 18.1 128 root@nextcloud-g1:~ # prun
Jonas Mayer 27.1 129 root@nextcloud-g1:~ # /sbin/reboot
Tom Altenbrunn 11.1 130 {{/code}}
131
132
Tom Altenbrunn 14.1 133 Nachdem der Container vollständig aufgebaut ist, die Nextcloud-Version nach und nach auf die nächsthöheren Versionen 27 und 28, sowie 29 aktualisieren. Ein Upgrade der Anwendung über mehrere Versionen hinweg ist nicht möglich.
Tom Altenbrunn 1.1 134
Tom Altenbrunn 2.20 135 {{code language="bash"}}
136 root@nextcloud-g1:~ # apt install --reinstall ld-nextcloud=27.1.9
137
138 root@nextcloud-g1:~ # prun
139
140 root@nextcloud-g1:~ # apt install --reinstall ld-nextcloud=28.0.5
141
142 root@nextcloud-g1:~ # prun
143
144 root@nextcloud-g1:~ # apt upgrade -y
145
146 root@nextcloud-g1:~ # prun
147 {{/code}}
148
superadmin 22.1 149 Damit ist der eigentliche Aktualisierungsvorgang abgeschlossen.
150
superadmin 23.1 151
superadmin 22.1 152 == Upgrade Anpassungen entfernen ==
153
154 Abschließend die gesetzten Upgrade-Anpassungen wieder entfernen und die Änderungen ins GIT commiten.
155
156 {{code language="bash"}}
157 root@puppeteer:~ # cd /etc/logodidact/hiera/custom.d/
158 root@puppeteer:/etc/logodidact/hiera/custom.d # vi nextcloud-g1.yaml
159 {{/code}}
160
Jonas Mayer 24.1 161 (% class="box" %)
162 (((
163 (% style="color:#408080" %)### Folgende Zeilen löschen##(%%)
164 --##php::globals::php_version: '8.1'
165 php::package_prefix: 'php8.1-'
166 ld_base::fixes::php::historic_php_versions:##--
167 ## --- '8.3'--##
168 )))
169
superadmin 22.1 170 {{code language="bash"}}
171 root@puppeteer:/etc/logodidact/hiera/custom.d # git add .
172 root@puppeteer:/etc/logodidact/hiera/custom.d # git commit -am "KÜRZEL: Temporäre Anpassungen für Nextcloud Upgrade zurückgesetzt."
173 {{/code}}
174
superadmin 23.1 175
superadmin 22.1 176 == Abschluss ==
177
Tom Altenbrunn 24.2 178 Im Nextcloud-Container die Änderungen nochmals durch prun übernehmen. Durch das vorangegangene Entfernen der PHP-Version 8.1 in nextcloud-g1.yaml wird nun stattdessen die neueste PHP-Version 8.2 im LXC-Container eingespielt.
superadmin 22.1 179
180 {{code language="bash"}}
superadmin 23.1 181 root@nextcloud-g1:~ # prun; prun
superadmin 22.1 182 {{/code}}