NEWS
Wo ist der Web Server Default WWW Folder?
-
@martinp sagte in Wo ist der Web Server Default WWW Folder?:
funktionierte es (über Port 8081), aber ob das ein guter Ort für Html-Dateiablagen ist ...
Das hatten wir doch schon beim iCal-Thema: Nein, sobald Du manuell irgendwas in
node_modules
machst, ist das keine gute Idee! -
@haus-automatisierung Welches Verzeichnis wäre denn geeignet für statischen Inhalt?
/opt/iobroker/iobroker-data/files/vis.0 funktioniert jedenfalls nicht ...
Da blind nach Inhalten zu suchen, die danach riechen, dass sie als statische Dateien über einen Webserver ausgeliefert werden könnten, ist nicht besonders zielführend...
von index.html findet man aber einige Versionen
-
@martinp sagte in Wo ist der Web Server Default WWW Folder?:
Welches Verzeichnis wäre denn geeignet für statischen Inhalt?
- Dateisystem vergessen, über den Admin hochladen oder eben übers iobroker cli
- Warum VIS?! Geht doch nur um eine statische Datei, welche per Webserver ausgeliefert werden soll
Also: Ganz normal über das
Dateien
-Tab. Dann z.B. in 0_userdata.0 (das ist ja auch vom Typ meta) die Datei hochladen.Alternativ: Per CLI im ioBroker Dateisystem speichern (statt per Frontend):
iobroker file write ~/meineStatischeHtmlDatei.html 0_userdata.0/test.html
Und dann mit dem Web-Adapter auf die Ressource zugreifen:
http://<ip>:8082/0_userdata.0/test.html
-
@ionewbie sagte in Wo ist der Web Server Default WWW Folder?:
den /var/www Ordner habe ich auf meinem Raspi nicht.
Hast du denn den Webserver installiert?
sudo apt install apache2
-
@bananajoe sagte in Wo ist der Web Server Default WWW Folder?:
Hast du denn den Webserver installiert?
Geht es hier noch um ioBroker oder um zusätzliche Webserver?!
-
@haus-automatisierung
Danke das wusste ich nicht und hab mich auch schon gelegentlich gefragt wie ich da was hinbekommen. gibts einen Konsolenbefehl dafür? -
@ionewbie sagte in Wo ist der Web Server Default WWW Folder?:
Mit anderen Dateien, welche in diesen Ordnern bereits liegen, funktioniert es. Bspw kann ich die /files/vis-views.json in /vis.0/Test aufrufen. Oder die index.html in /files/web.
Wie hast Du denn Deine Datei auf den Pi bekommen? Über die Konsole? Oder die SD-Karte?
Das klappt nur, wenn Du das - wie von @haus-automatisierung beschrieben - über den ioBroker dort ablegst.Quod erat demonstrandum
Ach übrigens: Deine iP musst Du hier nicht anonymisieren. Die sehen bei allen (fast) gleich aus.
Ist ja nur das lokale Netz. -
@ticaki sagte in Wo ist der Web Server Default WWW Folder?:
gibts einen Konsolenbefehl dafür?
Der in meinem Post als Beispiel reicht Dir nicht?
-
@haus-automatisierung
Doch natürlich, weiter lesen bilden mehr als in der mitte aufhören -
@codierknecht said in Wo ist der Web Server Default WWW Folder?:
Das klappt nur, wenn Du das - wie von @haus-automatisierung beschrieben - über den ioBroker dort ablegst.
Das empfinde ich schon als Pferdefuß. Was passiert denn da unter der Motorhaube noch, dass am iobroker vorbei da abgelegte Dateien nicht als Webseite ausgeliefert werden?
-
Ich habe es zwar noch nie nachgeschaut, aber ich denke es weden ACLs gesetzt.
-
@martinp Was meinst Du? Es wird per http ausgeliefert was dort liegt. Das kann genauso ein Bild, eine Textdatei oder eine mp3-Datei sein. Wie bei jedem anderen Webserver auch.
-
@liv-in-sky sagte in Wo ist der Web Server Default WWW Folder?:
du kannst im verzeichnis: /opt/iobroker/iobroker-data/files/vis.0 (und unterordner) eine html- datei per den datei manager (admin) laden und dann aufrufen
z.b.
http://192.168.178.59:8082/vis.0/htmlip.htmldu kannst dieses file dann über ein javascript mit dem befehl : https://forum.iobroker.net/post/307268 upgedatet halten
wenn du die datei über den datei-manager des admins machst, funktioniert das - du musst dann nur auf den port 8082 achten - dieser ist im web adapter/instanz definiert
das funktioniert - mach ich seit jahren so
-
@thomas-braun said in Wo ist der Web Server Default WWW Folder?:
Ich habe es zwar noch nie nachgeschaut, aber ich denke es weden ACLs gesetzt.
Nein, die sind es schon einmal nicht ...
test.html habe ich über iobroker cli in das Verzeichnis geschoben, test_2.html mit "cp" aus test.html erzeugt
martin@iobroker-test-sicher:/opt/iobroker/iobroker-data/files/0_userdata.0$ getfacl test.html # file: test.html # owner: iobroker # group: iobroker user::rw- group::r-x #effective:r-- group:iobroker:rwx #effective:rw- mask::rw- other::r-- martin@iobroker-test-sicher:/opt/iobroker/iobroker-data/files/0_userdata.0$ getfacl test2.html # file: test2.html # owner: iobroker # group: iobroker user::rw- group::r-x #effective:r-- group:iobroker:rwx #effective:rw- mask::rw- other::r--
-
@haus-automatisierung said in Wo ist der Web Server Default WWW Folder?:
@martinp Was meinst Du? Es wird per http ausgeliefert was dort liegt. Das kann genauso ein Bild, eine Textdatei oder eine mp3-Datei sein. Wie bei jedem anderen Webserver auch.
Ich meinte den Unterschied im Verhalten, je nachdem ob man die Datei über den Iobroker in das Verzeichnis schiebt oder die Datei über das Betriebssystem z. B. über "cp" im Verzeichnis ablegt. Letzteres wird nicht als Webseite ausgeliefert...
Die ACLs scheinen nicht das Problem zu sein. Vielleicht liegt darüber noch eine Datenbank o. Ä., und was an Files in dieser nicht auftaucht, wird ignoriert ...
Ist aber nach etwas Überlegen wohl kein Problem, da man ja auch mit iobroker cli arbeiten kann. Mausschubsen alleine ist nur schwer zu automatisieren, wenn man das irgendwann einmal brauchen sollte, um automatisiert statische Inhalte ablegen zu können ...
Das iobroker cli Kommando kann man ebensogut in ein Automatisierungsskript packen, wie einen cp-Aufruf .... -
@martinp sagte in Wo ist der Web Server Default WWW Folder?:
Vielleicht liegt darüber noch eine Datenbank o. Ä., und was an Files in dieser nicht auftaucht, wird ignoriert ...
Richtig, schau einfach im Dateisystem:
/opt/iobroker/iobroker-data/files/0_userdata.0
Die Datenbank liegt dort als
_data.json
(neben den hochgeladenen Dateien). Bitte nicht manuell bearbeiten!!Einfach immer über den js-controller gehen, wenn es um Datei-Handling geht! Der würde dann auch File-Subscriptions informieren, dass sich eine Datei geändert hat (
onFile
). -
Der shellbefehl zum Datei hochladen lautet
https://www.iobroker.net/docu/index-98.htm?page_id=3971&lang=de#iobroker_file_write
Der Befehl muss bei jeder Änderung erneut ausgeführt werden, ansonsten kennt Iobroker die Änderung nicht.Wenn ich du wäre, würde ich die separate html per separaten Webserver bereitstellen. Nginx bietet sich da an, da der sehr ressourcensparend Test (im Vergleich zu Apache)
Diese Datei dann per Iframe in vis oder andere visualisierung einbindenDer Ordner /var/www wird durch die Installation von Apache angelegt. Da kommt dann auch gleich eine Testdatei rein, mit der man dann sofort ausprobieren kann ob es funktioniert hat
-
@oliverio Da ist die Frage, ob es Zielführend ist, für ein paar statische HTML-Dateien oder Grafiken einen eigenen Webserver aufzusetzen, wenn iobroker so etwas schon an Bord hat ...
Was man Installiert muss man auch up-to-date halten, und sich mit den DOs und DONTs beschäftigen, oder man fängt sich ein Einfallstor ein ...
nginx ist aber durchaus eine gute Ergänzung für ioBroker ... als reverse Proxy ...
-
@martinp sagte in Wo ist der Web Server Default WWW Folder?:
Da ist die Frage, ob es Zielführend ist, für ein paar statische HTML-Dateien oder Grafiken einen eigenen Webserver aufzusetzen
Sehe ich auch so. Es kommt auf den Anwendungsfall an. Für eine html-Seite wäre nginx als zusätzlicher Dienst total Overkill - der web-Adapter ist ja bereits ein Webserver. Ich würde so viel wie möglich mit Bordmitteln umsetzen. Dafür hat man das System doch. Außerdem ist die Backup-Frage dann auch direkt geklärt.
-
ich glaube ich habe alle 3 mögliche Alternativen aufgezählt.
Falls nicht verstanden, bitte nochmal genauer nachfragen
Dann ist ja Alternative 1 zwingend für dich