Nextcloud 29 Upgrade unter LogoDIDACT 2.0
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.
Server aktualisieren
Zunächst den Server mit den aktuellsten Updates versorgen und die aktuelle Puppet-Version 1.7.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 später 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.
root@puppeteer:/etc/logodidact/hiera/custom.d # vi ldhost.yaml
guests:
nextcloud-g1:
ensure: running
release: jammy
Upgrade Anpassungen
Für das Upgrade ist es außerdem nötig, eine höhere PHP-Version 8.1 statisch in der Nextcloud LXC-Konfiguration mitzugeben.
root@puppeteer:/etc/logodidact/hiera/custom.d # vi nextcloud-g1.yaml
php::package_prefix: 'php8.1-'
ld_base::fixes::php::historic_php_versions:
- '8.3'
Alle Änderungen an den Konfigurationsdateien ins GIT commiten.
root@puppeteer:/etc/logodidact/hiera/custom.d # git commit -am "KÜRZEL: Temporäre Anpassungen für Nextcloud Upgrade vorgenommen."
Re-Installation Nextcloud
Zunächst den LXC-Containerdienst von Nextcloud im ldhost deaktivieren. Dadurch wird der LXC gestoppt.
root@ldhost:~ # lxc-stop -n nextcloud-g1
Zur Überprüfung kann mittels des Befehls lxc-info -n nextcloud-g1 der ausgeschaltete Zustand des Containers bestätigt werden.
Danach den ausgeschalteten Nextcloud-Container temporär vom Host-System löschen.
Ein darauf folgender prun baut den Container neu auf unter Berücksichtigung der vorherigen Einstellungen, also mit einem Ubuntu Jammy OS.
Verbinden Sie sich nun mit dem Container und starten diesen nach einem erfolgreichen prun neu, um die richtige IP-Adresse darin zu erhalten.
root@nextcloud-g1:~ # prun
root@nextcloud-g1:~ # /sbin/reboot
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.
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.
root@puppeteer:/etc/logodidact/hiera/custom.d # vi nextcloud-g1.yaml
# Folgende Zeilen löschenphp::globals::php_version: '8.1'
php::package_prefix: 'php8.1-'
ld_base::fixes::php::historic_php_versions:
- '8.3'
root@puppeteer:/etc/logodidact/hiera/custom.d # git commit -am "KÜRZEL: Temporäre Anpassungen für Nextcloud Upgrade zurückgesetzt."
Abschluss
Im Nextcloud-Container die Änderungen nochmals durch prun übernehmen. Durch das vorangegangene Entfernen der PHP-Version 8.1 in nextcloud-g1.yaml wird nun stattdessen die neueste PHP-Version 8.2 im LXC-Container eingespielt.