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

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:

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:

Erstkonfiguration der 3CX-PBX

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.

Update 12.10.2021

Für 3CX V18 bzw. Debian 10 Buster sind die Schritte ähnlich wie oben beschrieben. Der USB-Stick und die Konfigurationsdateien müssen wie zuvor beschrieben angepasst werden.

Je nach Alter bzw. Modell des PC Engines-Boards muss man ggf. weitere Treiber auf den USB-Stick packen. Bei APU(1)-Boards gilt dies für die dortigen Realtek-Netzwerkkarten:

Die Datei firmware-realtek_20161130-5_all.deb (evtl. auch weitere, zu finden unter http://ftp.de.debian.org/debian/pool/non-free/f/firmware-nonfree/) herunterladen und auf den USB-Stick in den Ordner „Firmware“ kopieren.

Soweit vorbereitet kann man mit der eigentlichen Installation starten.

Als weitere Möglichkeit, die manuelle Eingabe der Netzwerkkonfiguration zu erzwingen kann man das System zunächst ohne Netzwerkverbindung starten und warten bis das automatische Beziehen der IP-Adresse via DHCP fehlgeschlagen ist. Nach Bestätigung der entsprechenden Meldung bekommt man die Möglichkeit eine manuelle Konfiguration vorzunehmen:

Für gewöhnlich konfiguriert man die Schnittstelle LAN1 (“enp1s0”), das ist der Anschluss der dem COM-Port am nächsten ist, für den Zugang vom Netzwerk. Hat man das Netzwerk konfiguriert, schließt man das System mit einem Netzwerkkabel an und fährt fort.

Zwischenzeitlich kommt eine Abfrage, welche Version der Datei

/etc/nftables.conf

man behalten möchte, einfach Enter oder explizit “N” eingeben und dies bestätigen. Hierbei handelt es sich um die Firewall-Einstellungen. Die vorhandene Datei enthält die 3CX-spezifischen Regeln, würde man diese Überschreiben, hat man lediglich die Debian-Standard-Regeln.

Trotz das man im wesentlichen die Original-3CX-Installation-ISO verwendet startet das System irgendwann neu und es fehlt die eigentliche 3CX-Installation. Diese holt man mit folgenden Befehlen nach:

wget -O- http://downloads-global.3cx.com/downloads/3cxpbx/public.key | apt-key add -
echo "deb http://downloads-global.3cx.com/downloads/debian buster main" | tee /etc/apt/sources.list.d/3cxpbx.list
apt-get update
apt-get install 3cxpbx

Der weitere Ablauf ist wie oben oder direkt bei 3CX in Installing 3CX using 3CX Debian ISO beschrieben.

4 Kommentare

  • 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

  • Pingback: 3CX: Von V16 unter Windows zu V18 unter Linux – Andy's Blog

  • Ja, das funktioniert auch noch mit einer 3CX v18.

    Wir haben dafür extra eine Debian 10 netinstall (einmal Standard und einmal nonfree) als headless mit ssh aufgemotzt (siehe https://wiki.debian.org/DebianInstaller/Preseed/EditIso und evtl. gar noch http://techbotch.org/blog/debian-headless-installation/index.html). Damit kommt man bis zum ersten Prompt. Danach div. Anpassungen am Debian vornehmen (Netzwerk, evtl. Aktualisierung, certbot) und die 3CX wie von Andy beschrieben installieren, siehe auch https://www.3cx.de/forum/threads/3cx-linux-l%C3%A4sst-sich-nicht-installieren.100242/post-332749 .

    Aber wie immer: alles was inzwischen nicht mit einer original 3CX ISO installiert wurde bekommt keinen oder nur sehr wenig Support.

    Auch daher haben wir größtenteils auf IPU bzw. NUC gewechselt.

  • Alle APUs die ich wie beschrieben installiert habe funktionieren bis heute und ließen sich ohne Probleme auf V18 inkl. Debian Buster aktualisieren.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.