Wiki-Quellcode von Nextcloud Upgrade

Version 2.18 von Tom Altenbrunn am 2024/11/04 15:51

Verstecke letzte Bearbeiter
Tom Altenbrunn 1.2 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.
2
3
Tom Altenbrunn 2.3 4 = Server aktualisieren =
Tom Altenbrunn 2.2 5
Tom Altenbrunn 2.3 6 Zunächst den Server mit den aktuellsten Updates versorgen und die aktuelle Puppet-Version 1.6.X installieren.
Tom Altenbrunn 2.2 7
Tom Altenbrunn 2.4 8 {{code language="bash"}}
9 root@ldhost:~ # ssh puppeteer
10 root@puppeteer:~ # ldupdate
11 {{/code}}
Tom Altenbrunn 2.2 12
Tom Altenbrunn 2.6 13 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 14
Tom Altenbrunn 2.7 15 {{code language="bash"}}
16 root@ldhost:~ # prun;prun
17 root@ldhost:~ # ssh logosrv
Tom Altenbrunn 2.3 18
Tom Altenbrunn 2.7 19 root@logosrv:~ # ldupdate
Tom Altenbrunn 2.6 20
Tom Altenbrunn 2.7 21 root@ldhost:~ # gprun;gprun
22 {{/code}}
23
24 = Nextcloud-Containeranpassungen =
25
Tom Altenbrunn 2.11 26 == Nextcloud-Instanz zerstören ==
Tom Altenbrunn 2.7 27
Tom Altenbrunn 2.11 28 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.
29
Tom Altenbrunn 2.12 30 (% class="box infomessage" %)
31 (((
32 Die Benutzerdaten bleiben erhalten, da diese im ldhost im Verzeichnis lxc.data vorliegen.
33 )))
34
35 {{code language="bash"}}
36 root@puppeteer:~ # puppet-master-remove-client nextcloud-g1
37 {{/code}}
38
Tom Altenbrunn 2.8 39 == Ubuntu-Version des LXC anheben ==
40
Tom Altenbrunn 2.9 41 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 42
Tom Altenbrunn 2.9 43 {{code language="bash"}}
44 root@puppeteer:~ # vi /etc/logodidact/hiera/custom.d/ldhost.yaml
45 {{/code}}
46
47 {{code language="bash"}}
48 profile::lxc::host:
49 guests:
50 nextcloud-g1:
51 ensure: running
52 release: jammy
53 {{/code}}
54
Tom Altenbrunn 2.15 55 Während der Dauer des Upgrades ist es vonnöten noch die korrekte PHP-Version statisch per Nextcloud-Konfiguration mitzugeben.
Tom Altenbrunn 1.1 56
Tom Altenbrunn 2.15 57 {{code language="bash"}}
58 root@puppeteer:~ # vi /etc/logodidact/hiera/custom.d/nextcloud-g1.yaml
59 {{/code}}
Tom Altenbrunn 2.13 60
Tom Altenbrunn 2.15 61 {{code language="bash"}}
62 php::globals::php_version: '8.1'
63 php::package_prefix: 'php8.1-'
64 ld_base::fixes::php::historic_php_versions:
65 - '8.3'
66 {{/code}}
Tom Altenbrunn 2.13 67
Tom Altenbrunn 2.16 68 Alle Änderungen an den Konfigurationen ins GIT commiten.
Tom Altenbrunn 2.13 69
Tom Altenbrunn 2.15 70
Tom Altenbrunn 2.17 71 == Re-Installation Nextcloud ==
Tom Altenbrunn 2.15 72
Tom Altenbrunn 2.17 73 Zunächst den jeweiligen LXC-Containerdienst im ldhost deaktivieren. Dadurch wird der LXC vollständig heruntergefahren.
Tom Altenbrunn 2.16 74
Tom Altenbrunn 2.17 75 {{code language="bash"}}
76 root@ldhost:~ # systemctl stop lxc@nextcloud-g1.service
77 {{/code}}
Tom Altenbrunn 2.16 78
Tom Altenbrunn 2.17 79 Danach den ausgeschalteten und nicht mehr benötigten Nextcloud-Container vom Host-System löschen.
Tom Altenbrunn 2.13 80
Tom Altenbrunn 2.18 81 {{code language="bash"}}
82 root@ldhost:~ # lxc-destroy -n nextcloud-g1 -f
83 {{/code}}
Tom Altenbrunn 1.1 84
Tom Altenbrunn 2.18 85 Ein darauf folgender prun baut den Container neu auf unter Berücksichtigung der in den vorangegangen Schritten getätigten Vorgaben.
Tom Altenbrunn 1.2 86
Tom Altenbrunn 2.18 87 {{code language="bash"}}
88 root@ldhost:~ # prun
89 {{/code}}
Tom Altenbrunn 1.1 90
Tom Altenbrunn 2.18 91 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 Ve
Tom Altenbrunn 1.1 92
93 1. root@nextcloud-g1:~~ # apt install ~-~-reinstall ld-nextcloud=27.1.9
94 1. root@nextcloud-g1:~~ # prun
95 1. root@nextcloud-g1:~~ # apt install ~-~-reinstall ld-nextcloud=28.0.5
96 1. root@nextcloud-g1:~~ # prun
97 1. root@nextcloud-g1:~~ # apt upgrade -y
98 1. root@nextcloud-g1:~~ # prun
99 1. Upgrade Anpassungen für nextcloud-g1 entfernen
100 1. root@nextcloud-g1:~~ # prun # eventuell 2x notwendig wegen PHP upgrade