Version 29.1 von Jonas Mayer am 2025/03/07 10:36

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 2.3 8 = Server aktualisieren =
Tom Altenbrunn 2.2 9
Tom Altenbrunn 25.2 10 Zunächst den Server mit den aktuellsten Updates versorgen und die aktuelle Puppet-Version 1.7.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"}}
Jonas Mayer 24.1 20 root@ldhost:~ # prun; prun
Tom Altenbrunn 2.7 21 root@ldhost:~ # ssh logosrv
Tom Altenbrunn 2.3 22
Tom Altenbrunn 2.7 23 root@logosrv:~ # ldupdate
Tom Altenbrunn 2.6 24
Jonas Mayer 24.1 25 root@ldhost:~ # gprun; gprun
Tom Altenbrunn 2.7 26 {{/code}}
27
Jonas Mayer 18.1 28
Tom Altenbrunn 2.7 29 = Nextcloud-Containeranpassungen =
30
Tom Altenbrunn 2.11 31 == Nextcloud-Instanz zerstören ==
Tom Altenbrunn 2.7 32
Tom Altenbrunn 3.2 33 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 34
Tom Altenbrunn 2.12 35 (% class="box infomessage" %)
36 (((
Tom Altenbrunn 12.3 37 Die Nextcloud-Benutzerdaten bleiben erhalten, da diese im ldhost im Verzeichnis lxc.data des Containers vorliegen.
Tom Altenbrunn 2.12 38 )))
39
40 {{code language="bash"}}
41 root@puppeteer:~ # puppet-master-remove-client nextcloud-g1
42 {{/code}}
43
Jonas Mayer 18.1 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
Jonas Mayer 18.1 62
Tom Altenbrunn 2.20 63 == Upgrade Anpassungen ==
64
Jonas Mayer 18.1 65 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 66
Tom Altenbrunn 2.15 67 {{code language="bash"}}
Tom Altenbrunn 3.4 68 root@puppeteer:~ # cd /etc/logodidact/hiera/custom.d/
Tom Altenbrunn 3.5 69 root@puppeteer:/etc/logodidact/hiera/custom.d # vi nextcloud-g1.yaml
Tom Altenbrunn 2.15 70 {{/code}}
Tom Altenbrunn 2.13 71
Tom Altenbrunn 2.15 72 {{code language="bash"}}
73 php::globals::php_version: '8.1'
74 php::package_prefix: 'php8.1-'
75 ld_base::fixes::php::historic_php_versions:
76 - '8.3'
77 {{/code}}
Tom Altenbrunn 2.13 78
Jonas Mayer 18.1 79 Alle Änderungen an den Konfigurationsdateien ins GIT commiten.
Tom Altenbrunn 2.13 80
Tom Altenbrunn 3.4 81 {{code language="bash"}}
Tom Altenbrunn 3.5 82 root@puppeteer:/etc/logodidact/hiera/custom.d # git add .
83 root@puppeteer:/etc/logodidact/hiera/custom.d # git commit -am "KÜRZEL: Temporäre Anpassungen für Nextcloud Upgrade vorgenommen."
Tom Altenbrunn 3.4 84 {{/code}}
Tom Altenbrunn 2.15 85
Tom Altenbrunn 3.4 86
Tom Altenbrunn 2.17 87 == Re-Installation Nextcloud ==
Tom Altenbrunn 2.15 88
Jonas Mayer 18.1 89 Zunächst den LXC-Containerdienst von Nextcloud im **ldhost **deaktivieren. Dadurch wird der LXC gestoppt.
Tom Altenbrunn 2.16 90
Tom Altenbrunn 2.17 91 {{code language="bash"}}
92 root@ldhost:~ # systemctl stop lxc@nextcloud-g1.service
Tom Altenbrunn 7.2 93 root@ldhost:~ # lxc-stop -n nextcloud-g1
94
Tom Altenbrunn 2.17 95 {{/code}}
Tom Altenbrunn 2.16 96
Jonas Mayer 18.1 97 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 98
Jonas Mayer 20.1 99 [[image:1731401812839-349.png]]
Tom Altenbrunn 9.2 100
Tom Altenbrunn 13.1 101
Jonas Mayer 29.1 102 Danach den ausgeschalteten Nextcloud-Container temporär vom Host-System löschen.
Tom Altenbrunn 2.13 103
Tom Altenbrunn 2.18 104 {{code language="bash"}}
105 root@ldhost:~ # lxc-destroy -n nextcloud-g1 -f
106 {{/code}}
Tom Altenbrunn 1.1 107
Jonas Mayer 18.1 108 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 109
Tom Altenbrunn 2.18 110 {{code language="bash"}}
111 root@ldhost:~ # prun
112 {{/code}}
Tom Altenbrunn 1.1 113
Tom Altenbrunn 3.3 114 (% class="box warningmessage" %)
115 (((
Jonas Mayer 18.1 116 **Je nach Geschwindigkeit des Servers dauert dieser Schritt etwas länger, ca. 10-15 Minuten.**
Tom Altenbrunn 3.3 117 )))
118
Jonas Mayer 18.1 119 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 120
121 {{code language="bash"}}
122 root@ldhost:~ # lxc-attach -n nextcloud-g1
Jonas Mayer 18.1 123 root@nextcloud-g1:~ # prun
Jonas Mayer 27.1 124 root@nextcloud-g1:~ # /sbin/reboot
Tom Altenbrunn 11.1 125 {{/code}}
126
127
Tom Altenbrunn 14.1 128 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 129
Tom Altenbrunn 2.20 130 {{code language="bash"}}
131 root@nextcloud-g1:~ # apt install --reinstall ld-nextcloud=27.1.9
132
133 root@nextcloud-g1:~ # prun
134
135 root@nextcloud-g1:~ # apt install --reinstall ld-nextcloud=28.0.5
136
137 root@nextcloud-g1:~ # prun
138
139 root@nextcloud-g1:~ # apt upgrade -y
140
141 root@nextcloud-g1:~ # prun
142 {{/code}}
143
superadmin 22.1 144 Damit ist der eigentliche Aktualisierungsvorgang abgeschlossen.
145
superadmin 23.1 146
superadmin 22.1 147 == Upgrade Anpassungen entfernen ==
148
149 Abschließend die gesetzten Upgrade-Anpassungen wieder entfernen und die Änderungen ins GIT commiten.
150
151 {{code language="bash"}}
152 root@puppeteer:~ # cd /etc/logodidact/hiera/custom.d/
153 root@puppeteer:/etc/logodidact/hiera/custom.d # vi nextcloud-g1.yaml
154 {{/code}}
155
Jonas Mayer 24.1 156 (% class="box" %)
157 (((
158 (% style="color:#408080" %)### Folgende Zeilen löschen##(%%)
159 --##php::globals::php_version: '8.1'
160 php::package_prefix: 'php8.1-'
161 ld_base::fixes::php::historic_php_versions:##--
162 ## --- '8.3'--##
163 )))
164
superadmin 22.1 165 {{code language="bash"}}
166 root@puppeteer:/etc/logodidact/hiera/custom.d # git add .
167 root@puppeteer:/etc/logodidact/hiera/custom.d # git commit -am "KÜRZEL: Temporäre Anpassungen für Nextcloud Upgrade zurückgesetzt."
168 {{/code}}
169
superadmin 23.1 170
superadmin 22.1 171 == Abschluss ==
172
Tom Altenbrunn 24.2 173 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 174
175 {{code language="bash"}}
superadmin 23.1 176 root@nextcloud-g1:~ # prun; prun
superadmin 22.1 177 {{/code}}