Aktuelle 3CX auf PC Engines APU installieren
Das Installations-Image aus der Umstellungszeit von Askozia-zu-3CX ist mittlerweile veraltet und basiert noch auf Debian 8 Jessie. Man kann es zwar nach wie vor verwenden, darf dann allerdings sowohl für Debian als auch 3CX viele Updates installieren. Das letzte Mal als ich das so gemacht habe, hat es gut zwei Stunden in Anspruch genommen, die kann man sich zum Teil sparen, wenn man das aktuelle 3CX-Debian-Netinst-Image nimmt.
Leider klappt das nur zum Teil, das mit dem Zeit sparen, denn im Gegensatz zur regulären 3CX-Linux-Installation läuft das automatische Setup nach dem Neustart leider nicht weiter. Stattdessen kann bzw. muss man per Hand mit der 3CX-Installation fortfahren. Dazu später mehr.
Grundsätzlich gibt es zwei Möglichkeiten 3CX auf ein APU-Board zu bekommen. Entweder man installiert zunächst ein reguläres Debian und führt dann die restliche Installation von Hand durch oder man startet gleich mit dem 3CX-Debian-ISO. Letztgenanntes kommt für diesen Beitrag zum Einsatz.
USB-Stick vorbereiten
- Aktuelle 3CX Debian-ISO herunterladen: https://www.3cx.com/phone-system/download-links/
- Das Abbild mit Rufus auf den USB-Stick schreiben:
Nach dem Klick auf „START“ das Abbild im ISO-Modus auf den USB-Stick schreiben lassen.
Die folgenden Dateien auf dem Stick müssen angepasst werden:
Im Root des USB-Sticks die Datei „syslinux.cfg“ editieren und am Anfang die folgenden beiden Zeilen einfügen:
CONSOLE 0 SERIAL 0 115200
Im Ordner „isolinux“ die Datei „adtxt.cfg“:
label expert menu label E^xpert install kernel /install.amd/vmlinuz append priority=low vga=off console=ttyS0,115200n8 initrd=/install.amd/initrd.gz --- include rqtxt.cfg label auto menu label ^Automated install kernel /install.amd/vmlinuz append auto=true priority=critical vga=off console=ttyS0,115200n8 initrd=/install.amd/initrd.gz --- quiet
Im Ordner „isolinux“ die Datei „txt.cfg“ editieren. Die Zeile mit „append…“ muss wie folgt aussehen:
label install menu label ^Install kernel /install.amd/vmlinuz append vga=off console=ttyS0,115200n8 initrd=/install.amd/initrd.gz auto=true priority=high url=http://downloads.3cx.com/downloads/debian9iso/preseed_9.8.0.txt --- quiet THREECXMARKER=DEBIAN-3CX-ISO console=ttyS0,115200n8
Im wesentlichen werden über die Änderungen dem System mitgeteilt, das es statt via VGA über die serielle Schnittstelle die Ausgabe erledigen soll.
Zusätzlich für APU(1)-Boards muss noch die Firmware für die Realtek-Netzwerkkarten auf den Stick gepackt werden:
Die Datei firmware-realtek_20161130-4_all.deb herunterladen und auf dem Stick in den Ordner „Firmware“ kopieren.
Das obige Durchgestrichene entfällt bei neueren 3CX-ISOs, die auf Debian 9.8.0 basieren (Stand: 12.03.2019)
Da ich aktuell kein APU2-Board zur Hand habe, konnte nicht getestet werden, ob evtl. weitere Anpassungen von nöten sind.
Debian installieren (lassen)
- Das Board mit dem vorbereiteten Stick starten.
- „Install“ auswählen.
- „enp1s0“ als Netzwerkschnittstelle auswählen.
- Per Standard holt sich Debian eine IP-Adresse per DHCP. Möchte man während der Installation eine feste IP-Adresse vergeben, so muss man bei der Abfrage nach dem „Hostname“ „ESC“ drücken, dann „configure network manually“ auswählen, die IP-Adresse, das Gateway und den DNS-Server angeben.
Wichtig: Die IP-Adresse kann später nicht ohne weiteres bzw. nur mit Backup, Neuinst. und Restore geändert werden. Dies liegt nicht an Debian, sondern an 3CX, da Diese die Änderung der IP-Adresse auf OS-Ebene nicht richtig mitbekommt. - „Hostname“ eingeben.
- „Domain“ eingeben.
- „Sprache“ (eigentlich steht nur „English“ zur Auswahl) und „Land/Region“ auswählen. Letztgenanntes ist relevant! Um „Europe“ und folglich „Germany“ auswählen zu können, zunächst „other“ auswählen. Die „locales“-Auswahl wie vorgeschlagen lassen.
- Das „root“-Passwort festlegen und bestätigen.
- Bei „Partition disks“ „Guided – use entire disk“ auswählen.
- „sda“ für die mSATA SSD auswählen.
- „All files in one partition“ auswählen.
- „Finish partitioning and write changes to disk“ auswählen.
- Die Sicherheitsabfrage mit „Yes“ bestätigen. Letzte Chance um abzubrechen!
Die Installation benötigt ein paar Minuten, man muss also ein wenig Geduld haben.
Es erfolgt ein automatischer Neustart, an dieser Stelle sollte der USB-Stick entfernt werden.
Die eigentliche 3CX-Installation durchführen
Da es wie eingangs erwähnt nicht bis zum Ende mit der automatischen Installation klappt, muss man ein die folgenden Befehle an der Konsole oder via ssh, nachdem man sich als root angemeldet hat, ausführen:
wget -O- http://downloads-global.3cx.com/downloads/3cxpbx/public.key | apt-key add - echo "deb http://downloads-global.3cx.com/downloads/debian stretch main" | tee /etc/apt/sources.list.d/3cxpbx.list apt-get update apt-get install 3cxpbx apt-get install net-tools
An der seriellen Konsole gibt’s eine kleine Falle. Sieht man über längere Zeit nur folgendes Bild:
Scrollt man am besten mal nach unten und siehe da, das Setup wartet darauf, das man dem Lizenzvertrag zustimmt:
Abschließend noch „1“ drücken um „Using a Web Browser“ auszuwählen.
Ab hier geht’s dann von einem anderen Computer bzw. Web-Browser unter „http://<IP-Adresse des 3CX-Computers>:5015?V=2“ weiter. Nun kann man der Erstkonfiguration folgen:
OpenSSH-Server einrichten
Scheinbar hat sich bei neueren 3CX-Debian-Netinstall-ISOs (9.8.0) etwas geändert. Bei einer aktuellen, genau genommen meiner letzten Askozia-Umstellung fehlte bis hierhin der die Möglichkeit sich per ssh mit der 3CX verbinden zu können. Bei früheren Versionen wurde der Dienst automatisch eingerichtet. Möglich das es nur bei der APU-Variente nicht (mehr) klappt. Richten kann man es so:
- Via serielle Verbindung als root anmelden.
- „apt install openssh-server“ eingeben.
Damit die Anmeldung über ssh mittels Kennwort (wieder) möglich ist wie folgt vorgehen:
- nano /etc/ssh/sshd_config
- „PermitRootLogin Yes“ einfügen
- Die Änderung speichern und mittels „service sshd reload“ übernehmen.
Quellen:
3CX – Installieren der 3CX-Telefonanlage unter Debian Linux
3CX – Installing Debian for 3CX on a Mini PC
computing competence – Askozia Hardware für 3CX (Debian) nutzen
Update 12.03.2019
Kleinere Änderungen und Aktualisierungen durchgeführt. OpenSSH-Server ergänzt.
Schon immer Technik-Enthusiast, seit 2001 in der IT tätig und seit über 10 Jahren begeisterter Blogger. Mit meiner Firma IT-Service Weber kümmern wir uns um alle IT-Belange von gewerblichen Kunden und unterstützen zusätzlich sowohl Partner als auch Kollegen. Die Schwerpunkte liegen auf der Netzwerkinfrastruktur, den Betrieb von Servern und Diensten.
Hallo Andy,
vielen Dank für die tollen Infos.
Ich hatte mit dem Debian9 Image (clean Install auf pcengines, 3cxpbx Version 16.0.6.655) ein Problem bei der Aktivierung der Lizenz – Keine Verbindung zum Aktivierungsserver. Support und Forum haben nur auf die Firewall- bzw. Nameserver-Einstellungen verwiesen – das konnte es aber nicht sein, da es unter vorheriger Debain8 Installation in gleichem Netzwerk funktioniert hat.
Das Problem lag an den Zertifikaten und fehlendem ca-certificates Paket, wodurch die Postinstallation von 3cxpbx nicht ordnungsgemäß durchgeführt wurde.
Mit dem Debian9 Image (von 3cx) musste ich also noch vor der Installation von 3cxpbx das paket ca-certifiactes installieren (sudo apt-get install ca-certificates), da sonst update-ca-certificates nicht vorhanden ist.
Danach erst 3cxpbx installieren und alles hat perfekt gekleppt.
Viele Grüße und danke nochmals für die tolle Anleitung,
Petr