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

Von Version 1.1
bearbeitet von Tom Altenbrunn
am 2024/10/25 15:40
Änderungskommentar: Es gibt keinen Kommentar für diese Version
Auf Version 3.1
bearbeitet von Tom Altenbrunn
am 2024/11/04 16:05
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

Details

Seiteneigenschaften
Inhalt
... ... @@ -1,39 +1,133 @@
1 -Die Lösung für dieses Problem unter LD20 wird so sein, dass das vorhandene nextcloud-g1 Container auf Basis von jammy aktualisiert wird. Hier beschreibe ich grob das Vorgehen, wie man vorhandenen nextcloud-g1 Container neu aufbaut.
1 +{{toc/}}
2 2  
3 +----
3 3  
4 -1. ldupdate im puppeteer => Update auf ld-puppet10 in Version 1.6.x
5 -1. root@puppeteer:~~ # puppet-master-remove-client nextcloud-g1
6 -1. Release von nextcloud-g1 auf jammy ändern:
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.
7 7  
8 -{{{root@puppeteer:~ # cat /etc/logodidact/hiera/custom.d/ldhost.yaml
9 -}}}(((
10 -profile::lxc::host:
11 11  
12 - guests: nextcloud-g1: { ensure: running, release: jammy }
8 += Server aktualisieren =
9 +
10 +Zunächst den Server mit den aktuellsten Updates versorgen und die aktuelle Puppet-Version 1.6.X installieren.
11 +
12 +{{code language="bash"}}
13 +root@ldhost:~ # ssh puppeteer
14 +root@puppeteer:~ # ldupdate
15 +{{/code}}
16 +
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.
18 +
19 +{{code language="bash"}}
20 +root@ldhost:~ # prun;prun
21 +root@ldhost:~ # ssh logosrv
22 +
23 +root@logosrv:~ # ldupdate
24 +
25 +root@ldhost:~ # gprun;gprun
26 +{{/code}}
27 +
28 += Nextcloud-Containeranpassungen =
29 +
30 +== Nextcloud-Instanz zerstören ==
31 +
32 +Nun wird die alte nextcloud-g1 Instanz unter der alten Ubuntu-Basis zerstört, damit diese im Anschluss mit der neuen Ubuntu-Version wieder aufgebaut werden kann.
33 +
34 +(% class="box infomessage" %)
35 +(((
36 +Die Benutzerdaten bleiben erhalten, da diese im ldhost im Verzeichnis lxc.data vorliegen.
13 13  )))
14 -1. Um das Upgrade von Version 26 bis auf Version 29 erfolgreich durchführen zu können braucht man für die Dauer des Upgrades folgende Anpassungen für nextcloud-g1:
15 15  
16 -{{{
17 - }}}
39 +{{code language="bash"}}
40 +root@puppeteer:~ # puppet-master-remove-client nextcloud-g1
41 +{{/code}}
18 18  
19 -{{{
20 - }}}root@puppeteer:/etc/logodidact # cat hiera/custom.d/nextcloud-g1.yaml(((
21 -php::globals::php_version: '8.1'
43 +== Ubuntu-Version des LXC anheben ==
22 22  
23 -php::package_prefix: 'php8.1-'
45 +Im puppeteer wird in der Konfigurations-Datei des ldhost für den nextcloud-g1-Container die Ubuntu-Release-Version auf Jammy gesetzt.
24 24  
47 +{{code language="bash"}}
48 +root@puppeteer:~ # vi /etc/logodidact/hiera/custom.d/ldhost.yaml
49 +{{/code}}
50 +
51 +{{code language="bash"}}
52 +profile::lxc::host:
53 + guests:
54 + nextcloud-g1:
55 + ensure: running
56 + release: jammy
57 +{{/code}}
58 +
59 +== Upgrade Anpassungen ==
60 +
61 +Während der Dauer des Upgrades ist es vonnöten noch die korrekte PHP-Version statisch per Nextcloud-Konfiguration mitzugeben.
62 +
63 +{{code language="bash"}}
64 +root@puppeteer:~ # vi /etc/logodidact/hiera/custom.d/nextcloud-g1.yaml
65 +{{/code}}
66 +
67 +{{code language="bash"}}
68 +php::globals::php_version: '8.1'
69 +php::package_prefix: 'php8.1-'
25 25  ld_base::fixes::php::historic_php_versions:
71 + - '8.3'
72 +{{/code}}
26 26  
27 -  - '8.3'
28 -)))
29 -1. root@ldhost:~~ # systemctl stop lxc@nextcloud-g1.service
30 -1. root@ldhost:~~ # lxc-destroy -n nextcloud-g1 -f
31 -1. root@ldhost:~~ # prun
32 -1. root@nextcloud-g1:~~ # apt install ~-~-reinstall ld-nextcloud=27.1.9
33 -1. root@nextcloud-g1:~~ # prun
34 -1. root@nextcloud-g1:~~ # apt install ~-~-reinstall ld-nextcloud=28.0.5
35 -1. root@nextcloud-g1:~~ # prun
36 -1. root@nextcloud-g1:~~ # apt upgrade -y
37 -1. root@nextcloud-g1:~~ # prun
38 -1. Upgrade Anpassungen für nextcloud-g1 entfernen
39 -1. root@nextcloud-g1:~~ # prun # eventuell 2x notwendig wegen PHP upgrade
74 +Alle Änderungen an den Konfigurationen ins GIT commiten.
75 +
76 +
77 +== Re-Installation Nextcloud ==
78 +
79 +Zunächst den jeweiligen LXC-Containerdienst im ldhost deaktivieren. Dadurch wird der LXC vollständig heruntergefahren.
80 +
81 +{{code language="bash"}}
82 +root@ldhost:~ # systemctl stop lxc@nextcloud-g1.service
83 +{{/code}}
84 +
85 +Danach den ausgeschalteten und nicht mehr benötigten Nextcloud-Container vom Host-System löschen.
86 +
87 +{{code language="bash"}}
88 +root@ldhost:~ # lxc-destroy -n nextcloud-g1 -f
89 +{{/code}}
90 +
91 +Ein darauf folgender prun baut den Container neu auf unter Berücksichtigung der in den vorangegangen Schritten getätigten Vorgaben.
92 +
93 +{{code language="bash"}}
94 +root@ldhost:~ # prun
95 +{{/code}}
96 +
97 +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.
98 +
99 +
100 +{{code language="bash"}}
101 +root@nextcloud-g1:~ # apt install --reinstall ld-nextcloud=27.1.9
102 +
103 +root@nextcloud-g1:~ # prun
104 +
105 +root@nextcloud-g1:~ # apt install --reinstall ld-nextcloud=28.0.5
106 +
107 +root@nextcloud-g1:~ # prun
108 +
109 +root@nextcloud-g1:~ # apt upgrade -y
110 +
111 +root@nextcloud-g1:~ # prun
112 +{{/code}}
113 +
114 +Damit ist der eigentliche Aktualisierungsvorgang abgeschlossen.
115 +
116 +== Upgrade Anpassungen entfernen ==
117 +
118 +Abschließend die gesetzten Upgrade-Anpassungen wieder entfernen und die Änderungen ins GIT commiten.
119 +
120 +{{code language="bash"}}
121 +root@puppeteer:~ # vi /etc/logodidact/hiera/custom.d/nextcloud-g1.yaml
122 +{{/code}}
123 +
124 +
125 +== Abschluss ==
126 +
127 +Im Nextcloud-Container die Änderungen durch prun übernehmen. Dadurch wird ggf. auch eine neuere PHP-Version installiert.
128 +
129 +{{code language="bash"}}
130 +root@nextcloud-g1:~ # prun;prun
131 +{{/code}}
132 +
133 +