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

Von Version 2.2
bearbeitet von Tom Altenbrunn
am 2024/11/04 14:41
Änderungskommentar: (Autosaved)
Auf Version 7.1
bearbeitet von Jonas Mayer
am 2024/11/05 09:19
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

Details

Seiteneigenschaften
Dokument-Autor
... ... @@ -1,1 +1,1 @@
1 -XWiki.TomAltenbrunn@sbede
1 +XWiki.jonasmayer@sbede
Inhalt
... ... @@ -1,48 +1,149 @@
1 -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.
1 +{{toc/}}
2 2  
3 +----
3 3  
4 -Server
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.
5 5  
6 6  
8 += Server aktualisieren =
7 7  
8 -1. ldupdate im puppeteer => Update auf ld-puppet10 in Version 1.6.x
9 -1. root@puppeteer:~~ # puppet-master-remove-client nextcloud-g1
10 -1. Release von nextcloud-g1 auf jammy ändern:
10 +Zunächst den Server mit den aktuellsten Updates versorgen und die aktuelle Puppet-Version 1.6.X installieren.
11 11  
12 -{{{root@puppeteer:~ # cat /etc/logodidact/hiera/custom.d/ldhost.yaml
13 -}}}
12 +{{code language="bash"}}
13 +root@ldhost:~ # ssh puppeteer
14 +root@puppeteer:~ # ldupdate
15 +{{/code}}
14 14  
15 -(((
16 -profile::lxc::host:
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.
17 17  
18 - guests: nextcloud-g1: { ensure: running, release: jammy }
19 -)))
19 +{{code language="bash"}}
20 +root@ldhost:~ # prun;prun
21 +root@ldhost:~ # ssh logosrv
20 20  
21 -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:
23 +root@logosrv:~ # ldupdate
22 22  
23 -{{{
24 - }}}
25 +root@ldhost:~ # gprun;gprun
26 +{{/code}}
25 25  
26 -root@puppeteer:/etc/logodidact # cat hiera/custom.d/nextcloud-g1.yaml
28 += Nextcloud-Containeranpassungen =
27 27  
30 +== Nextcloud-Instanz zerstören ==
31 +
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.
33 +
34 +(% class="box infomessage" %)
28 28  (((
29 -php::globals::php_version: '8.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.
37 +)))
30 30  
31 -php::package_prefix: 'php8.1-'
39 +{{code language="bash"}}
40 +root@puppeteer:~ # puppet-master-remove-client nextcloud-g1
41 +{{/code}}
32 32  
43 +== Ubuntu-Version des LXC anheben ==
44 +
45 +Im **puppeteer **wird in der Konfigurations-Datei des **ldhost **für den **nextcloud-g1**-Container die Ubuntu-Release-Version auf Jammy gesetzt.
46 +
47 +{{code language="bash"}}
48 +root@puppeteer:~ # cd /etc/logodidact/hiera/custom.d/
49 +root@puppeteer:/etc/logodidact/hiera/custom.d # vi ldhost.yaml
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 +
60 +== Upgrade Anpassungen ==
61 +
62 +Während der Dauer des Upgrades ist es vonnöten die korrekte PHP-Version statisch per Nextcloud-Konfiguration mitzugeben.
63 +
64 +{{code language="bash"}}
65 +root@puppeteer:~ # cd /etc/logodidact/hiera/custom.d/
66 +root@puppeteer:/etc/logodidact/hiera/custom.d # vi nextcloud-g1.yaml
67 +{{/code}}
68 +
69 +{{code language="bash"}}
70 +php::globals::php_version: '8.1'
71 +php::package_prefix: 'php8.1-'
33 33  ld_base::fixes::php::historic_php_versions:
73 + - '8.3'
74 +{{/code}}
34 34  
35 - - '8.3'
76 +Alle Änderungen an den Konfigurationen ins GIT commiten.
77 +
78 +{{code language="bash"}}
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."
81 +{{/code}}
82 +
83 +
84 +== Re-Installation Nextcloud ==
85 +
86 +Zunächst den jeweiligen LXC-Containerdienst im **ldhost **deaktivieren. Dadurch wird der LXC vollständig heruntergefahren.
87 +
88 +{{code language="bash"}}
89 +root@ldhost:~ # systemctl stop lxc@nextcloud-g1.service
90 +{{/code}}
91 +
92 +Danach den ausgeschalteten und nicht mehr benötigten Nextcloud-Container vom Host-System löschen.
93 +
94 +{{code language="bash"}}
95 +root@ldhost:~ # lxc-destroy -n nextcloud-g1 -f
96 +{{/code}}
97 +
98 +Ein darauf folgender prun baut den Container neu auf unter Berücksichtigung der in den vorangegangen Schritten getätigten Vorgaben.
99 +
100 +{{code language="bash"}}
101 +root@ldhost:~ # prun
102 +{{/code}}
103 +
104 +(% class="box warningmessage" %)
105 +(((
106 +**Gegebenenfalls sind je nach Geschwindigkeit des Servers noch weitere pruns notwendig.**
36 36  )))
37 37  
38 -1. root@ldhost:~~ # systemctl stop lxc@nextcloud-g1.service
39 -1. root@ldhost:~~ # lxc-destroy -n nextcloud-g1 -f
40 -1. root@ldhost:~~ # prun
41 -1. root@nextcloud-g1:~~ # apt install ~-~-reinstall ld-nextcloud=27.1.9
42 -1. root@nextcloud-g1:~~ # prun
43 -1. root@nextcloud-g1:~~ # apt install ~-~-reinstall ld-nextcloud=28.0.5
44 -1. root@nextcloud-g1:~~ # prun
45 -1. root@nextcloud-g1:~~ # apt upgrade -y
46 -1. root@nextcloud-g1:~~ # prun
47 -1. Upgrade Anpassungen für nextcloud-g1 entfernen
48 -1. root@nextcloud-g1:~~ # prun # eventuell 2x notwendig wegen PHP upgrade
109 +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.
110 +
111 +
112 +{{code language="bash"}}
113 +root@nextcloud-g1:~ # apt install --reinstall ld-nextcloud=27.1.9
114 +
115 +root@nextcloud-g1:~ # prun
116 +
117 +root@nextcloud-g1:~ # apt install --reinstall ld-nextcloud=28.0.5
118 +
119 +root@nextcloud-g1:~ # prun
120 +
121 +root@nextcloud-g1:~ # apt upgrade -y
122 +
123 +root@nextcloud-g1:~ # prun
124 +{{/code}}
125 +
126 +Damit ist der eigentliche Aktualisierungsvorgang abgeschlossen.
127 +
128 +
129 +== Upgrade Anpassungen entfernen ==
130 +
131 +Abschließend die gesetzten Upgrade-Anpassungen wieder entfernen und die Änderungen ins GIT commiten.
132 +
133 +{{code language="bash"}}
134 +root@puppeteer:~ # cd /etc/logodidact/hiera/custom.d/
135 +root@puppeteer:/etc/logodidact/hiera/custom.d # vi nextcloud-g1.yaml
136 +{{/code}}
137 +
138 +{{code language="bash"}}
139 +root@puppeteer:/etc/logodidact/hiera/custom.d # git add .
140 +root@puppeteer:/etc/logodidact/hiera/custom.d # git commit -am "KÜRZEL: Temporäre Anpassungen für Nextcloud Upgrade zurückgesetzt."
141 +{{/code}}
142 +
143 +== Abschluss ==
144 +
145 +Im Nextcloud-Container die Änderungen durch prun übernehmen. Dadurch wird ggf. auch eine neuere PHP-Version installiert.
146 +
147 +{{code language="bash"}}
148 +root@nextcloud-g1:~ # prun;prun
149 +{{/code}}