3cxpbx v16 / RaspberryPi 4 / Raspbian Buster Lite (July 19)

herrlan

Free User
Mitglied seit
20. August 2019
Beiträge
5
Hallo,

leider bootet das Raspbian Stretch Image, welches für die Installation von 3CX auf einen RaspberryPi angeboten wird, nicht auf einem Raspberry Pi 4.
Als Workaround habe ich Raspbian Buster Lite (July 19) installiert. Sollte man nun der Anleitung zur Installation auf den Raspberry Pi weiter folgen, stößt man auf folgende Probleme:
  1. es fehlen bestimmte libraries: u.a. libicu57 und libcurl3
    Lösung: Hinzufügen von "deb http://raspbian.raspberrypi.org/raspbian/ stretch main contrib non-free rpi" in /etc/apt/sources.list, anschließend apt-get update und per "sudo apt-get install libcurl3" libcurl3 installieren.
  2. nach Hinzufügen der libraries scheitert die Installation von 3cx wie folgt: "Errors were encountered while processing: nginx-full nginx 3cxpbx"
    Lösung: nginx-full und nginx per "sudo apt-get remove..." entfernen und zunächst nginx, anschließend nginx einzeln installieren. Nun wieder 3cxpbx installieren... voila die Software läuft... fast!
  3. Nach der Einrichtung über einen Webbrowser wird noch ein Reboot des Pis nötig sein. Anschließend lässt sich die 3CX Phone System Management Console per Browser ansteuern und man kann sich als Admin einloggen. ABER der 3CX Phone System Database Server Dienst steht dauerhaft auf Beendet. Besitzer des Ordners /var/lib/3cxpbx ist der von 3cx angelegte Nutzer "phonesystem" mit Rechten 755. Besitzer des Ordners /usr/lib/3cxpbx ist root mit Rechten 755.
An dieser Stelle finde ich keine Lösung. Internes Telefonieren zu Testzwecken funktionieren einwandfrei, man fragt sich wofür der Dienst überhaupt gebraucht wird. Ein Abgleich der Besitzer und Rechte von einer weiteren Debian Installation zeigt keine Auffälligkeiten (Debian auf einem Intel i3, hier funktioniert der Dienst!)

Hat jemand einen Vorschlag wie ich den Dienst zum laufen bekomme?

Mit freundlichen Grüßen und vielen Dank für jeglichen Mühen im Voraus.
 
  1. Nach der Einrichtung über einen Webbrowser wird noch ein Reboot des Pis nötig sein. Anschließend lässt sich die 3CX Phone System Management Console per Browser ansteuern und man kann sich als Admin einloggen. ABER der 3CX Phone System Database Server Dienst steht dauerhaft auf Beendet. Besitzer des Ordners /var/lib/3cxpbx ist der von 3cx angelegte Nutzer "phonesystem" mit Rechten 755. Besitzer des Ordners /usr/lib/3cxpbx ist root mit Rechten 755.

Hi,

guck mal was die Dienste im systemctl sagen. "systemctl status 3CX*"
Wenn die Datenbank nicht läuft dürfte wirklich nichts klappen. Vielleicht bekommt der Check, welcher den Dienst prüft, nicht das erwartete Ergebnis und zeigt deswegen "Beendet" an.

Alternativ prüf einmal ob die postgres richtig läuft
 
Hi,

guck mal was die Dienste im systemctl sagen. "systemctl status 3CX*"
Wenn die Datenbank nicht läuft dürfte wirklich nichts klappen. Vielleicht bekommt der Check, welcher den Dienst prüft, nicht das erwartete Ergebnis und zeigt deswegen "Beendet" an.

Alternativ prüf einmal ob die postgres richtig läuft

Hallo Herr Machens,

Danke für den Tipp, habe es mal mit "systemctl --all" ausprobiert, da "systemctl status 3CX*" (und ähnliche) nichts ausgespuckt haben. Unten habe ich die hoffentlich relevanten Ausgaben gelistet (im Anhang auch nochmal die komplette Ausgabe). Zum Abgleich habe ich diese Abfrage auch über ein 2. System (Intel i3 mit Debian und 3CXPBX) mit aktiven Database Server laufen lassen.

Das Ergebnis (für alle 3CX-Service und postgres) ist identisch bis auf das 3CXHotelModule01.service:
Dieser Service gibt auf dem Pi "loaded failed failed" aus, hingegen auf dem Debian-System taucht er gar nicht erst auf!
Die Konfiguration der beiden Systeme ist ungefähr identisch, bis auf die Betriebssysteme, laufen beide mit einer Test-Lizenz, welche noch alle Features enthält.

Hast du vielleicht eine Idee, wie ich von hier aus am besten weitermachen kann?

Ausgabe von "systemctl --all" auf dem Raspberry Pi 4:

3CXAudioProvider01.service loaded active running 3CX PhoneSystem 01 Audio Provider Server
3CXCallFlow01.service loaded active running 3CX PhoneSystem 01 CallFlow Server
3CXCfgServ01.service loaded active running 3CX PhoneSystem Configuration Service
3CXEventNotificationManager.service loaded active running 3CX Event Notification Manager
● 3CXHotelModule01.service loaded failed failed 3CX PhoneSystem 01 Hotel Module
3CXIVR01.service loaded active running 3CX PhoneSystem 01 IVR Server
3CXMediaServer.service loaded active running 3CX PhoneSystem Media Server
3CXPhoneSystem01.service loaded active running 3CX PhoneSystem 01 SIP Server
3CXPhoneSystemMC01.service loaded active running 3CX PhoneSystem 01 Management Console
3CXQueueManager01.service loaded active running 3CX PhoneSystem 01 Queue Manager Server
3CXSystemService01.service loaded active running 3CX PhoneSystem 01 System Server
3CXTunnel01.service loaded active running 3CX PhoneSystem 01 SIP/RTP Tunneling Proxy

postgresql.service loaded active exited PostgreSQL RDBMS
[email protected] loaded active running PostgreSQL Cluster 11-main
 

Anhänge

Ich möchte mal kurz Logs hinzufügen, welche ich auslesen konnte:
1. Postgresql Log
2. Nginx Error Log

/var/log/postgresql/postgresql-11-main.log.1:

2019-08-20 12:50:08.339 BST [10488] LOG: listening on IPv6 address "::1", port 5432
2019-08-20 12:50:08.339 BST [10488] LOG: listening on IPv4 address "127.0.0.1", port 5432
2019-08-20 12:50:08.355 BST [10488] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2019-08-20 12:50:08.435 BST [10489] LOG: database system was shut down at 2019-08-20 12:49:59 BST
2019-08-20 12:50:08.463 BST [10488] LOG: database system is ready to accept connections
2019-08-20 12:50:08.992 BST [10502] [unknown]@[unknown] LOG: incomplete startup packet
2019-08-20 13:03:58.867 BST [10488] LOG: received fast shutdown request
2019-08-20 13:03:58.883 BST [10488] LOG: aborting any active transactions
2019-08-20 13:03:58.891 BST [10488] LOG: background worker "logical replication launcher" (PID 10495) exited with exit code 1
2019-08-20 13:03:58.897 BST [10490] LOG: shutting down
2019-08-20 13:04:00.811 BST [10488] LOG: database system is shut down
2019-08-20 13:04:23.843 BST [617] LOG: listening on IPv6 address "::1", port 5432
2019-08-20 13:04:23.844 BST [617] LOG: listening on IPv4 address "127.0.0.1", port 5432
2019-08-20 13:04:23.860 BST [617] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2019-08-20 13:04:23.979 BST [619] LOG: database system was shut down at 2019-08-20 13:04:00 BST
2019-08-20 13:04:24.039 BST [617] LOG: database system is ready to accept connections
2019-08-20 13:04:24.558 BST [626] [unknown]@[unknown] LOG: incomplete startup packet
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@$
2019-08-20 13:27:05.339 BST [607] LOG: listening on IPv4 address "127.0.0.1", port 5432
2019-08-20 13:27:05.432 BST [607] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2019-08-20 13:27:05.881 BST [609] LOG: database system was interrupted; last known up at 2019-08-20 13:21:36 BST
2019-08-20 13:27:06.150 BST [609] LOG: database system was not properly shut down; automatic recovery in progress
2019-08-20 13:27:06.527 BST [609] LOG: redo starts at 0/2A55E88
2019-08-20 13:27:06.544 BST [609] LOG: invalid record length at 0/2A68E30: wanted 24, got 0
2019-08-20 13:27:06.544 BST [609] LOG: redo done at 0/2A68E08
2019-08-20 13:27:06.544 BST [609] LOG: last completed transaction was at log time 2019-08-20 13:27:03.718149+01
2019-08-20 13:27:07.132 BST [607] LOG: database system is ready to accept connections
2019-08-20 13:27:07.668 BST [616] [unknown]@[unknown] LOG: incomplete startup packet
2019-08-21 13:59:46.295 BST [604] LOG: listening on IPv6 address "::1", port 5432


2019-08-21 13:59:46.296 BST [604] LOG: listening on IPv4 address "127.0.0.1", port 5432
2019-08-21 13:59:46.308 BST [604] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2019-08-21 13:59:46.432 BST [606] LOG: database system was interrupted; last known up at 2019-08-21 14:06:45 BST
2019-08-21 13:59:46.569 BST [606] LOG: database system was not properly shut down; automatic recovery in progress
2019-08-21 13:59:46.600 BST [606] LOG: redo starts at 0/2ADB628
2019-08-21 13:59:46.600 BST [606] LOG: invalid record length at 0/2ADB708: wanted 24, got 0
2019-08-21 13:59:46.600 BST [606] LOG: redo done at 0/2ADB6D0
2019-08-21 13:59:46.711 BST [604] LOG: database system is ready to accept connections
2019-08-21 13:59:47.227 BST [613] [unknown]@[unknown] LOG: incomplete startup packet

/var/log/nginx/error.log.1:

2019/08/20 12:50:13 [emerg] 10592#10592: open() "/etc/nginx/sites-enabled/3cxpbx" failed (2: No such file or directory) in /etc/nginx/nginx.conf:62
2019/08/20 12:51:37 [emerg] 12231#12231: open() "/etc/nginx/sites-enabled/3cxpbx" failed (2: No such file or directory) in /etc/nginx/nginx.conf:62
2019/08/20 12:51:55 [emerg] 12395#12395: open() "/etc/nginx/sites-enabled/3cxpbx" failed (2: No such file or directory) in /etc/nginx/nginx.conf:62
2019/08/20 13:59:51 [emerg] 15623#15623: open() "/etc/nginx/sites-enabled/3cxpbx" failed (2: No such file or directory) in /etc/nginx/nginx.conf:62
 
Problem scheint gelöst: Es war möglicherweise ein Versions-Konflikt mit Postgre V11.

Lösung:
Zunächst habe ich 3CXPBX, postgre gelöscht. Anschließend Postgre V9.6.13 installiert. Erneut 3CXPBX und (automatisch) postgre V11 installiert. Jetzt läuft der Postgre V11 Client auf dem Postgre V9.6.13 Server. Und bei 3CXPBX sind nun alle Dienste gestartet!

Empfehlenswert ist es also bei einer kompletten Neuinstallation zunächst die Postgre V9.6.13 zu installieren.

Leider scheint der Service "3CXHotelModule01.service" immer noch Probleme zu haben, zum Glück benötige ich diesen nicht.
 

Statistik des Forums

Themen
44.414
Beiträge
232.721
Mitglieder
78.331
Neuestes Mitglied
b2daniel