[SOLVED] Error binding RPC servers (2): Error: Could not start listening on port 80: Permission denied

Ich habe heute meine Homegear Installation aktualisiert und bekommt zahlreiche Fehlermeldungen die mich verunsichern.

openHAB und Homegear laufen auf einer openhabian Installation.
Was hab ich gemacht: apt homegear Paketquelle umgestellt auf

deb Index of /raspberry_pi_os/buster/homegear/stable/ buster main

danach ein apt-get update und dist-upgrade gemacht
es wurden nur updates aus dem homegear repository aktualisiert.
Ich hab den debugLevel noch auf 5 hochgedreht.

Homegear startet aber bringt folgende Fehler im homegear.err log:

1/10/22 22:11:33.314 Error binding RPC servers (2): Error: Could not start listening on port 80: Permission denied Retrying in 5 seconds…

01/10/22 22:16:57.302 Error in file DeviceDescription/DeviceTranslations.cpp line 82 in function std::unordered_set<std::__cxx11::basic_string > BaseLib::DeviceDescription::DeviceTranslations::getLanguages(): Could not open directory “/etc/homegear/devices/0/l10n/”

01/10/22 22:17:00.521 RPC Server (Port 80): Error: Server could not start listening on port 80: Permission denied
01/10/22 22:17:00.540 RPC Server (Port 443): Error: Server could not start listening on port 443: Permission denied

Die Meldungen deuten darauf hin, dass du bereits einen Webserver auf Port 80 und 443 laufen hast. Typischerweise Apache oder nginx.
Homegear nutzt mittlerweile die default ports (http/https) für das admin-ui, node-blue, etc.

Benötigst du einen Webserver? Wenn ja kannst du die Ports in /etc/homegear/rpcservers.conf umstellen. Früher waren die 2001-2003.

Es kann auch darauf hindeuten, dass der User keine privilegierten Ports (< 1024) öffnen darf.

Das dachte ich auch zuerst aber es läuft auf dem Port 80 und 443 nichts. Hab ich mit netztet überprüft.

Wie kann ich das testen und ggf. ändern?

Also, unter Linux darf nur “root” Ports unter 1.024 oder ein von root gestarteter Service. Homegear benutzt m.W. einen eigenen Benutzer (homegear), kann aber sein, dass der “priviledge-drop” erst nach dem Öffnen der Ports stattfindet.

Die Port selber können sicherlich in einer Konfiguration geändert werden, hab aber keine Ahnung wo.

Ich hab es geschafft über die Konfiguration rpcservers-conf die beiden port Nummern von 80 & 443 auf 9080 und 9443 zu verlegen jetzt sind die Fehlermeldungen weg. Danke!

Könntest du das etwas genauer beschreiben? Also welche Datei, wo und wie geändert oder so ähnlich. Das könnte ja für andere Leute hier auch interessant sein, die die Kurzform evtl. so nicht verstehen.
Danke

Sehr gerne …

Die Datei /etc/homegear/rpcservers.conf enthält zahlreiche Portkonfigurationen für den RPC server.
Da findet sich dann der folgende Abschnitt den ich modifiziert habe - port war ursprünglich 80:

'# The port number to bind the RPC server to. This setting is mandatory.
port = 9080

Die zweite von mir modifizierte Stelle in der gleichen Datei ist - port war vorher 443:

'# The port number to bind the RPC server to. This setting is mandatory.
port = 9443

Danach Neustart und alles war gut :slight_smile:

2 Likes