Version 21.1 von Jonas Mayer am 2024/11/12 09:57

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 2.3 10 Zunächst den Server mit den aktuellsten Updates versorgen und die aktuelle Puppet-Version 1.6.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"}}
20 root@ldhost:~ # prun;prun
21 root@ldhost:~ # ssh logosrv
Tom Altenbrunn 2.3 22
Tom Altenbrunn 2.7 23 root@logosrv:~ # ldupdate
Tom Altenbrunn 2.6 24
Tom Altenbrunn 2.7 25 root@ldhost:~ # gprun;gprun
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 18.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
Tom Altenbrunn 11.1 124 root@nextcloud-g1:~ # reboot
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
Jonas Mayer 16.1 144 Damit ist der Aktualisierungsvorgang abgeschlossen.