Nextcloud Upgrade
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.
Server aktualisieren
Zunächst den Server mit den aktuellsten Updates versorgen und die aktuelle Puppet-Version 1.6.X installieren.
root@puppeteer:~ # ldupdate
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.
root@ldhost:~ # ssh logosrv
root@logosrv:~ # ldupdate
root@ldhost:~ # gprun;gprun
Nextcloud-Containeranpassungen
Nextcloud-Instanz zerstören
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.
Ubuntu-Version des LXC anheben
Im puppeteer wird in der Konfigurations-Datei des ldhost für den nextcloud-g1-Container die Ubuntu-Release-Version auf Jammy gesetzt.
guests:
nextcloud-g1:
ensure: running
release: jammy
Upgrade Anpassungen
Während der Dauer des Upgrades ist es vonnöten noch die korrekte PHP-Version statisch per Nextcloud-Konfiguration mitzugeben.
php::package_prefix: 'php8.1-'
ld_base::fixes::php::historic_php_versions:
- '8.3'
Alle Änderungen an den Konfigurationen ins GIT commiten.
Re-Installation Nextcloud
Zunächst den jeweiligen LXC-Containerdienst im ldhost deaktivieren. Dadurch wird der LXC vollständig heruntergefahren.
Danach den ausgeschalteten und nicht mehr benötigten Nextcloud-Container vom Host-System löschen.
Ein darauf folgender prun baut den Container neu auf unter Berücksichtigung der in den vorangegangen Schritten getätigten Vorgaben.
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.
root@nextcloud-g1:~ # prun
root@nextcloud-g1:~ # apt install --reinstall ld-nextcloud=28.0.5
root@nextcloud-g1:~ # prun
root@nextcloud-g1:~ # apt upgrade -y
root@nextcloud-g1:~ # prun
Damit ist der eigentliche Aktualisierungsvorgang abgeschlossen.
Upgrade Anpassungen entfernen
Abschließend die gesetzten Upgrade-Anpassungen wieder entfernen und die Änderungen ins GIT commiten.
Abschluss
Im Nextcloud-Container die Änderungen durch prun übernehmen. Dadurch wird ggf. auch eine neuere PHP-Version installiert.