FHEMWEB komplett abschalten und durch apache2 ersetzen?

Begonnen von sven.luebke, 16 April 2021, 11:19:09

Vorheriges Thema - Nächstes Thema

sven.luebke

Hallo FHEM-Community!

Ich frage mich, ob es möglich und sinnvoll ist, FHEMWEB komplett abzuschalten und durch apache2 zu ersetzen. Bisher habe ich vermutl. immer nur Anleitungen gefunden, in der apache als ReverseProxy zwecks höherer Sicherheit genutzt wurde. Bin noch nicht so lange FHEM-Nutzer und hoffe, dass ich für die Frage nicht gesteinigt werde.

Danke Euch für Eure Antworten!

JoWiemann

Hm, eigentlich möchtest Du die WebServer Komponente durch einen Apache2 ersetzen. Das FhemWeb ist aber ein Modul, dass die HTML Seiten generiert und an den WebServer von Fhem ausliefert. Es gibt ja schon einige Lösungen, die nicht FhemWeb benutzen, sondern eigene Webseiten, über dann auch andere WebServer ausliefern.

Eine aktuelle Lösung ist die FhemApp.

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

sven.luebke

Ja, genau das möchte ich machen. Deiner Beschreibung nach ist FHEMWEB also nicht nur der Webserver, sondern auch für die Generierung der Webseiten zuständig. Dadurch macht meine Frage also nicht mehr so richtig Sinn. Wie Du schon schreibst würde ich also vielmehr gerne den FHEM-Webserver abschalten. Es klingt aber so, als wäre diese Komponente nicht mal so eben per Config von dem Rest zu trennen.

justme1968

bitte nicht falsch verstehen... aber warum möchtest du das? wie kommt man auf so eine idee?

wenn man apache so wenig kennt das man so eine frage stellt sollte man die finger davon lassen. genauso von den ganze reverse proxy ideen. ohne sich wirklich damit auszukennen erhöhen man nicht die sicherheit sondern schafft neue baustellen und fehlerquellen. mal ganz abgesehen davon das man fhem schlicht und einfach nicht ins internet freigeben sollte. ganz egal auf welche art. das ist einfach der falsche ansatz.

wenn man von außen zugreifen will ist ein vpn einfacher, sicherer und auch für anfänger geeignet. es gibt (fast) keinen grund sich nicht damit zu befassen. zumal es noch viele andere dinge ermöglicht.

oder ein dialog mit telegram, einbinden in siri oder alexa aber um himmels willen nicht direkt freigeben.

oder falls es um ein unsicheres lokales netz geht: zum einen hast du dann noch sehr viel mehr probleme die nicht mit fhem zu tun haben und zum anderen sollte man das ganze dann erst mal auf netzwerk ebene z.b. über vlans absichern.

ps: ich weiss du hast nichts von freigeben gesagt, aber ich kann mir gerade keinen anderen hintergrund vorstellen.

pps: natürlich kann man fhemwb komplett deaktivieren. aber auch das mach nur sehr begrenzt sinn.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

sven.luebke

#4
Stimmt, ich hatte vor, meinen Hintergrund zu verschweigen mit der Befürchtung, dass man es mir ausreden möchte  ;). Ich lasse FHEM auf einer Fritzbox 7490 laufen und habe das Problem, das hier auch schon öfter erwähnt wurde...aber scheinbar nicht so richtig gelöst. FHEM läuft ohne Probleme im Hintergrund...bis ich die FHEM-Webseite öffne. Laut strace bleibt perl bei _newselect() einfach stehen und macht absolut NICHTS mehr. Ich kann das Problem leider totsicher zu 100% nachstellen. Config-Änderungen bringen auch keine Verbesserung. Erst schien es mir ein RAM-Problem zu sein, aber selbst bei 35MB freiem Speicher tritt es auf. Nach weiterer Forschung scheint es so zu sein, dass nach der Übertragung von www/pgm2/jquery-ui.min.js ALLES still steht. Jetzt hab ich mal versucht diese Datei umzubenennen und meine FHEM-Weboberfläche läuft wunderbar...sogar eigentlich schneller als vorher. Ich vermute mal, dass die Datei vielleicht zu groß ist und es dadurch zu Problemen kommt.

Es gibt hier im Forum auch schon ein paar andere Einträge, aber eine Lösung habe ich noch nicht gefunden. Weil mein apache2 aber seit Jahren "sicher" auf der Fritzbox 7490 läuft (ja, auch von außerhalb erreichbar), wollte ich wissen, ob ich dieses Problem einfach durch den apache2 umgehen kann.

JoWiemann

Zitat von: sven.luebke am 16 April 2021, 11:40:08
Ja, genau das möchte ich machen. Deiner Beschreibung nach ist FHEMWEB also nicht nur der Webserver, sondern auch für die Generierung der Webseiten zuständig. Dadurch macht meine Frage also nicht mehr so richtig Sinn. Wie Du schon schreibst würde ich also vielmehr gerne den FHEM-Webserver abschalten. Es klingt aber so, als wäre diese Komponente nicht mal so eben per Config von dem Rest zu trennen.

Sieh es mal so. FhemWeb dient primär der Administration von Fhem. Für die Visualisierung gibt es mittlerweile viele hervorragende Lösungen. Sofern Du FhemWeb nicht mehr möchtest müsstest Du die komplette Administration neu entwickeln. Kann man machen, muss man aber nicht. "Abschalten" kannst Du FhemWeb, wenn Du das Device web, oder wie auch immer es bei Dir heißt, löschst. Dann brauchst Du aber eine Administrationsalternative.

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

sven.luebke

Zitat von: JoWiemann am 16 April 2021, 12:01:03
Sofern Du FhemWeb nicht mehr möchtest müsstest Du die komplette Administration neu entwickeln. Kann man machen, muss man aber nicht. "Abschalten" kannst Du FhemWeb, wenn Du das Device web, oder wie auch immer es bei Dir heißt, löschst. Dann brauchst Du aber eine Administrationsalternative.

Das ist genau die Antwort, die ich vermutet, aber noch nicht gefunden hatte. Eine Administrationsalternative möchte ich nicht entwickeln, also ist das Abschalten keine Lösung! Ich muss also eher mein obiges Problem lösen...

Danke Dir!

marvin78


sven.luebke

Zitat von: marvin78 am 16 April 2021, 12:17:43
Ein Raspi statt FB!?
Ja, könnte funktionieren. Mich interessiert aber, warum es hier zu einem Problem kommt. "jquery-ui.min.js" ist 234KB groß...Plots und alles andere geht wunderbar schnell und ohne Probleme...wenn die Datei nicht gefunden werden kann  :-\.

Frank_Huber

Zitat von: marvin78 am 16 April 2021, 12:17:43
Ein Raspi statt FB!?

+1

Dann kannst auch deine Fritte wieder updaten... die fährt ja jetzt auch ein veraltetes OS, oder?

rudolfkoenig

Klar kann man FHEMWEB abschalten (d.h. in fhem.cfg nicht definieren), neben den HTML Seiten fuer Konfiguration/etc hat man aber auch kein HTML- oder WebService API mehr zur Verfuegung, und etliche Alterntiv-Frontends setzen darauf.
Konfigurieren kann man FHEM weiterhin vollstaendig via telnet :)

Off-Topic:
Ironie des Schicksals: FHEMWEB ist entstanden, weil mir apache auf dem Fritzbox zu gross erschien.
Ich wusste schon, dass eine ernsthafte Wiederbelebung von FHEM @ Fritzbox zu viel Ressourcen bindet, auch hier im Forum. Bei der naechsten Frage werde ich einfach behaupten, das geht gar nicht :)

sven.luebke

Zitat von: Frank_Huber am 16 April 2021, 12:33:55
+1

Dann kannst auch deine Fritte wieder updaten... die fährt ja jetzt auch ein veraltetes OS, oder?
Nein, es ist alles aktuell, also Fritz!OS 7.21 . Das im Internet verfügbare FHEM-Archiv läuft natürlich nicht mehr. Ich hab es selber durchgebaut...

sven.luebke

#12
Zitat von: rudolfkoenig am 16 April 2021, 12:37:01
Off-Topic:
Ironie des Schicksals: FHEMWEB ist entstanden, weil mir apache auf dem Fritzbox zu gross erschien.
Ich wusste schon, dass eine ernsthafte Wiederbelebung von FHEM @ Fritzbox zu viel Ressourcen bindet, auch hier im Forum. Bei der naechsten Frage werde ich einfach behaupten, das geht gar nicht :)
apache2 lief zwar inkl. PHP und Subversion auch auf meiner 7270 mit 64MB RAM...aber mit FHEM wäre das System sicherlich überlastet gewesen...da hast Du schon richtig gehandelt! Mit dem 4-fachen RAM fällt der verfügbare Speicher seit 2013 deutlich komfortabler aus.

Aber vielleicht reicht der RAM ja wirklich nicht. Ich werde zum Spaß mal 512MB swap einbinden. Mal gucken, ob das etwas ändert. Dann weiß ich zumindest, dass die Fritzbox wirklich keine gute Idee mehr für FHEM ist.

rudolfkoenig

Wenn wir bei der Geschichte sind: FHEM+FHEMWEB lief auch auf der FB7170, allerdings war der Feature-Umfang deutlich kleiner.
Ausser FHEM und FB-Grundfunktionen lief da nichts (auch kein gnuplot, deswegen entstand das SVG Modul), und die Menge der FHEM-Geraete war uebersichtlich. Damals habe ich auf minimalen Speicherbedarf geachtet, das ist in den letzten 5+ Jahren nicht mehr der Fall gewesen.

sven.luebke

#14
Ja, das glaub ich Dir. Und dass man dann irgendwann nicht mehr auf den Speicher achten kann, ist auch klar. Da hast Du echt etwas Schönes entwickelt! Vielen Dank dafür!

Ich glaube, ich habe mein Problem gerade gefunden: Das Umbenennen der jquery-Datei war natürlich keine Lösung, die benötigt man ja früher oder später. Das Anlegen und Einbinden einer swap-Datei, so dass sie unter "free" gelistet ist, hat aber bei meinem Problem auch nicht geholfen. Der Speicher wird nicht genutzt. Falls swap-Speicher ansonsten automatisch vom Kernel benutzt wird, war das auf jeden Fall keine Abhilfe für mein Problem. Hätte mich auch sehr gewundert, da selbst VmHWM für den perl-Prozess bei mir relativ konstant blieb...

Dann hab ich mir mal die TCP-Socket-Sizes angeschaut und mittels perl auf 262KB erhöht. Nun tritt mein Problem nicht mehr auf...und die responsiveness der Seite hat sich auch merklich verbessert. Bevor ich anfange zu jubeln, werde ich erstmal abwarten und das System ein paar Tage laufen lassen. Ich hätte vorher öfter das Gefühl (anhand von netstat-Ausgaben), dass manche Ports zur mysql-Datenbank nicht mehr dicht gemacht werden. Schauen wir mal!

Nachdem ich jetzt nochmal mitbekommen habe, dass das Thema FHEM@Fritzbox nicht mehr gerne gelesen wird, werde ich hoffentlich nichts mehr dazu schreiben.

Danke für Eure Kommentare!