3CX Linux Server und SBC Upgrade von v18 auf v20
Das 3CX Upgrade von Version 18 auf Version 20 bereit einige Fallstricke und gelingt in einigen Fällen nicht so einfach.
Viele Änderungen und Restriktionen in Version 20
Abgesehen von den vielen Änderungen in Version 20 und fehlenen Funktionen, die einige Kunden aus der Version 18 kennen und nutzen, gibt es auch beim Upgrade auf Version 20 strikte Restriktionen.
Insbesondere bei der Verwendung von Gruppen oder Call Flows sollte man für die Umstellung und Prüfung etwas mehr Zeit einplanen, da hier ggf. Anpasungen erforderlich werden.
Ist auf dem 3CX Linux Server eine third party Software installiert, wird das Upgrade auf Version 20 abgebrochen. Man erhält eine E-Mail mit der Logdatei.
Die häufigste Ursache ist unserer Erfahrung nach die Verwendung von Monitoring Clients wie Zabbix. Die hier beschriebene Lösung funktionert aber genauso auch für andere third party Software.
3CX-Statusmeldung: Fehler beim Aktualisieren des Debian-Betriebssystems
Wer diese E-Mail kurz nach dem Klick auf Upgrade bekommt, wird feststellen, dass 3CX immer noch mit der alten Version 18 läuft. Das Upgrade wurde abgebrochen.
Dafür kann es mehrere Gründe geben. Der E-Mail liegt eine Logdatei bei. Diese verät weitere Details über den Abbruch.
Die häufigste Ursache ist die Installation von thrid party Software, welche von 3CX nicht support wird und vom Upgrade Script erkannt wird.
In unserem Fall verwenden wir einen Zabbix Agent für das Monitoring der 3CX Anlagen und der Eintrag in der Logdatei sieht wie folgt aus:
"result": "aborted",
"time": "19-09-2024 20:48:41",
"title": "Third party source list found",
"message": "A third party source list was found in /etc/apt/sources.list.d/: zabbix.list. Please remove it and retry."
Wie lösen wir das Problem mit third party Software?
In diesem Fall müssen wir den Zabbix Agent deinstallieren und die Einträge in der sources.list.d entfernen.
Dazu zunächst den Zabbix Agent entfernen:
sudo apt-get purge --auto-remove zabbix-agent2
und anschließend den Eintrag in der sources.list.d entfernen. Wir wechseln in das Verzeichnis:
cd /etc/apt/sources.list.d
schauen uns den Inhalt an:
ls
Der könnte wie folgt aussehen:
root@-3cx:/etc/apt/sources.list.d# ls
3cxpbx-testing.list 3cxpbx.list zabbix-agent2-plugins.list zabbix.list
Die Einträge 3cxpbx-testing.list und 3cxpbx.list sind von 3CX und müssten bestehen bleiben. Die beiden Einträge von Zabbix müssen wir löschen:
rm zabbix*
Anschließend schauen wir uns noch den Inhalt der sources.list an:
nano /etc/apt/sources.list
Hier sollten nur die folgenden zwei Einträge vorhanden sein:
deb [arch=amd64 by-hash=yes signed-by=/usr/share/keyrings/3cx-archive-keyring.gpg] http://repo.3cx.com/debian/1809 buster main
deb [arch=amd64 by-hash=yes signed-by=/usr/share/keyrings/3cx-archive-keyring.gpg] http://repo.3cx.com/debian-security/1809 buster main
Sollten noch weitere Einträge dort stehen, müssen diese gelöscht werden. Anschließend steht dem Upgrade auf Version 20 nichts mehr im Wege und das Upgrade kann ganz normal über die WebGui gestartet werden.
Nach dem Upgrade auf Version 20 ist es wieder möglich, third party Software wie Zabbix zu installieren. Leider muss dieses umständliche Prozedere sehr warscheinlich für jedes Versionsupgrade erneut ausgeführt werden.
Wie kann ich den SBC upgraden ohne Neuinstallation?
Der SBC Upgradet sich Stand jetzt nicht automatisch. Laut einigen älteren Beiträgen im 3CX Forum ist der empfohlene Weg eine Neuinstallation.
Aber das ist oft schwierig da der SBC in entfernten Zweigstellen steht und es daher sehr Zeitaufwendig und somit für den Endkunden unnötig teuer wird.
3CX hat in seinem eigenen Blog eine Möglichkeit für das Upgrade von Raspberry Pi 5 veröffentlich. Dieser Weg hat bei uns auch auf einem normalen Debian ohne Probleme funktioniert:
wget https://downloads-global.3cx.com/downloads/sbcosupgrade/sbcosupgrade.sh
chmod +x sbcosupgrade.sh
sudo bash sbcosupgrade.sh
Auch hier gilt wieder, third party Software wie Zabbix muss vorher entfernt werden wie oben beschrieben.