Guten Morgen,
auf meinem pi soll ein Webserver zum Einsatz kommen.
Dazu habe ich den lighttpd installiert und konfiguriert.
https://raspberry.tips/raspberrypi-tutorials/raspberry-pi-als-webserver-teil-1
Mit diesem Webserver soll die gemessene Temperatur angezeigt werden.
Dazu habe ich folgende Anleitung auf meinem pi umgesetzt.
https://raspberry.tips/hausautomatisierung/wetteraufzeichnung-mit-raspberry-pi-ds18b20
Leider ist es so, dass ich keinen Zugriff auf die php Seite index.php
habe.
=> http://192.168.178.32/index.php
Fehlermeldung:
Not Found
The requested URL was not found on this server.
Apache/2.4.62 (Raspbian) Server at 192.168.178.32 Port 80
Was mir nach der EInrichtung aufgefallen ist, dass ich keinen Zugriff
auf das www Verzeichnis habe. Wahrscheinlich müssen die Zugriffe für
diesen Ordner und auch Dateien anders eingestellt werden.
Zo R. schrieb:> The requested URL was not found on this server.> Apache/2.4.62 (Raspbian) Server at 192.168.178.32 Port 80
Da läuft ein Apache webserver. Den vielleicht erstmal deinstallieren...
Hast Du die Rechte richtig gesetzt? Ab /var/www nach unten müssen die
Rechte auf www-data:www-data gesetzt werden. Hast Du evtl auch Port 8080
statt Port 80 eingestellt?
Zo R. schrieb:> server.port = 8080>> Wenn ich folgende IP Adresse http://192.168.178.32 starte, erscheint der> Apache2 Debian Default Page.
Dann musst Du erst mal den Apache deinstallieren "sudo apt purge
apache2" und die Seite mit http://192.168.178.32:8080 aufrufen (oder Du
lässt die 80 in der .cfg und ruft mit http://192.168.178.32 auf).
Ich habe apache2 deinstalliert un nochmals lighttpd installiert.
Wenn ich die ip Adresse http://192.168.178.32:8080 ausführe erhalte ich
nach wie vor die default page von apache2
Dann kontrollier nochmal, ob 192.168.178.32 auch wirklich die IP vom
richtigen RasPi ist...
Und ob es wirklich vom Apache ausgeliefert wird
(Browser-Entwicklertools, Netzwerk-Tab), oder ob es die
Raspian-Default-Webseite ist, die unter /var/www/html abgelegt ist, und
die jetzt eben vom lighthttpd verwendet wird.
Übrigens wirst du in deiner lighthttpd-Config noch PHP (mod_fastcgi)
einschalten müssen, wenn du damit PHP-Seiten ausliefern willst.
Hi ich habe mit ifconfig nochmals nachgeschaut.
Es handelt sich um die gleiche IP Adresse 192.168.178.32.
Es wird nach wie vor die apache deafult Seite angezeigt.
Zo R. schrieb:> Ich habe apache2 deinstalliert un nochmals lighttpd installiert.>> Wenn ich die ip Adresse http://192.168.178.32:8080 ausführe erhalte ich> nach wie vor die default page von apache2
Zeig mal eine Hardcopy der Browserseite und zeig mal, wie das
Verzeichnis /var/www/html aussieht mit "ls -la /var/www/html"
Ich kann mit cd www nicht auf diesen Ordner zugreifen.
Der html Ordner ist leer.
=> ls -la /var/www/html
total 8
drwxr-xr-x 2 root root 4096 Nov 11 11:57 .
drwxr-xr-x 3 root root 4096 Nov 11 13:56 ..
Zo R. schrieb:> => ls -la /var/www/html> total 8> drwxr-xr-x 2 root root 4096 Nov 11 11:57 .> drwxr-xr-x 3 root root 4096 Nov 11 13:56 ..
User und Gruppe ist jeweils root. Ich habe oben schon gesagt, dass Du
als Eigentümer und Gruppe www-data einstellen musst
Schau nach ob dein lighttpd auch wirklich läuft, und welchen Port der
offen hat.
z.B.
lsof -p $(cat /run/lighttpd.pid)
oder
netstat -alnp | grep lighttpd
schau nach, ob du den apache auch wirklich deinstalliert und beendet
hast, und keiner mehr läuft.
ps aux | grep apache
Zo R. schrieb:> Müsste> sudo chown -R www-data:www-data /var/log/html">> nicht so lauten?sudo chown -R www-data:www-data /var/www/html">> Ich habe kein log Verzeichnis
RICHTIG!!! --> /var/www/html
(Ich arbeite gerade an meinen logs da rutschte das so durch
Zo R. schrieb:> Nach wie vor wird die apache Seite angezeigt.
Da könnte vielleicht - falls noch nicht geschehen - ein Browser-Reload
(F5/Ctrl-R/…) helfen.
Es wäre auch denkbar, das der apache zwar deinstalliert wurde, jedoch
mangels purge ein wenig Unrat hinterlassen hat. Und eine index.html
heißt bei jedem mir bekannten Webserver gleich.
Im Ordner /var/www/ habe ich mal eine info Datei erzeugt.
info.php
1
phpinfo();
2
?>
Leider gibt es hier ein Verbindungsfehler.
http://192.168.178.32/info.php
In der config Datei
(sudo nano /etc/lighttpd/lighttpd.conf) habe ich auch den Port auf 8080
eingestellt und in modules den Eintrag "mod_fastcgi" hinzugefügt
Ich muss noch erwähnen ich habe php installiert php5 kann ich bei mir
nicht installieren.
Zo R. schrieb:> Leider gibt es hier ein Verbindungsfehler.>> http://192.168.178.32/info.php>> In der config Datei> (sudo nano /etc/lighttpd/lighttpd.conf) habe ich auch den Port auf 8080> eingestellt und in modules den Eintrag "mod_fastcgi" hinzugefügt
DEN PORT HAST DU AUF 8080 EINGESTELLT, DANN MUSST DU DEN AUCH VERWENDEN!
http://192.168.178.32:8080/info.php
HWHVH
Zo R. schrieb:> server.document-root = "/var/www/html"Zo R. schrieb:> Im Ordner /var/www/ habe ich mal eine info Datei erzeugt.
Das passt nun nicht wirklich aufeinander.
Zo R. schrieb:> Ja ist soweit alles korrekt. Ok die php Datei da habe ich noch was> vergessen.>> Jetzt wird "404 Not Found" angezeigt.
Warum versucht du nicht erst einmal eine einfache Minimalkonfiguration?
Ohne Patch-Hack-Patch.
Nur eine ›index.html‹ welche als Gruppe www-data die Rechte ›r‹ besitzt.
Wenn das läuft, dann kannst du weiter machen.
Ahhh … hat sich dann erledigt.
Nun die info Seite wird nun korrekt angezeigt.
Jetzt bin ich gerade dabei, dass für den DS1820 Sensor hinzubekommen.
Die php Dateien befinden sich nicht im html Ordner sondern im
Unterordner www.
Zo R. schrieb:> Auf der folgenden Seite> https://raspberry.tips/hausautomatisierung/wetteraufzeichnung-mit-raspberry-pi-ds18b20> wird nicht erwähnt was in der config Datei lighttpd.conf angepasst> werden muss.
na, auf der Seite wird mit einem Haufen hässlicher Hacks irgendwie eine
im Browser abrufbare Temperaturaufzeichnung zusammengeschustert.
Da geht es NICHT um die Konfiuguration eines Webservers.
Du gehst ja auch nicht zum Aldi und möchtest dort z.B. eine
Ultraschalluntersuchung durchführen lassen?
auch wenn es ohne "Grafikschrott" irgendwie funktioniert ist und bleibt
das ein hässliches Workaround-Gewürge.
Du hast offensichtlich keinerlei Erfahrung mit Webservern, vielleicht
minimale Linux-Kenntnisse, wenig Erfahrung mit der Erstellung von
Webseiten, ggf. auch noch wenig Programmiererfahrung.
Daher solltest du das ganze Projekt in mehrere kleine Teile aufteilen.
Einen Apache oder lighttpd soweit zum Laufen zu bringen, dass er html
und php ausliefern kann ist kein Vollzeitjob. Dabei kannst du dir auch
gleich Kenntnisse über Benutzerrechte und -gruppen unter Linux aneignen.
Danach beschäftigst du dich zumindest grundlegend mit Webseiten (soviel
wie du halt für dein Prjekt brauchst)
und dann, wenn das alles funktioniert kannst du die Temperatur- und
Wetteranzeige oben drüber stülpen.
---
Webseiten und Apache kannst du auch vertauschen. Ich gehe davon aus,
dass du Windows-User bist, da kannst du dir einen fertigen Apache-Stack
(z.B. Wamp, Xamp, je nach Geschmack auch was anderes, von mir aus auch
das komische Microsoft-Dings (IAS?)) installieren und lokal probieren.
P.S.
Meine Lösung für meine Wetterdaten-Anzeige: Raspi + Cron + RTL433 +
Influx + Grafana ;-)
Hallo Daniel,
danke für deinen Beitrag. Aktuell ist es ja so, dass ich nur mal einen
Temperaturwert auf einem Webserver ausgeben kann. Für die Zukunft sollen
mehrer esp32 benutzt werden, diese sollen zyklisch Sensordtaen an den
raspberry pi zero senden. Auf einem Webserver sollen dann die empfangen
Daten visualisiert dargestellt werden.
Das mit grafana wird wohl auf einem pi zero wenig Sinn machen aufgrund
des geringen Speicherplatzes. Gibt es da womöglich eine andere
Alternative?
warum muss es unbedingt ein zero sein?
ein Pi4 oder 5 hat wesentlich mehr Power, kann auch von einer SSD/HDD
booten (afaik SD-Karte beim zero) und schafft (bei mir) locker Apache,
Grafana, Influx, PiHole - und langweilt sich nebenbei noch.
Zo R. schrieb:> Das mit grafana wird wohl auf einem pi zero wenig Sinn machen aufgrund> des geringen Speicherplatzes. Gibt es da womöglich eine andere> Alternative?
gnuplot ist eine scriptsprache, die auch auf einem Raspi_1 läuft,
sauschnell, es gibt 1001 Anleitungen im Netz dafür. Beispiel als SVG in
der Anlage.
Interessant ist auch
https://gertingold.github.io/pythonnawi/graphics.html
Hallo,
ich habe nun mal gnuplot installiert.
Folgendes habe ich mal soweit auf dem zero implementiert.
Leider passiert gar nicht. Es werden nicht die entsprechenden Dateien
erzeugt. Ich vermute crontab funktioniert nicht.
==> gnuplot_temp_ds1820.conf:
Zo R. schrieb:> Ich vermute crontab funktioniert nicht.
Jaaa, dass ist so ein Ding mit den Vermutungen…
Ich bin übrigens extrem überrascht. Du hast es geschafft, eine sehr
einfache Aufgabe in einen atemberaubend umständlichen Prozess zu
konvertieren.
Da du ja sowieso ein Python Programm aufrufst:
* Die aktuelle Zeit lässt sich dort direkt ermitteln
* Die Sensordaten werden ja schon in Python empfangen.
* Es existiert matplotlib mit pyplot. Die komplette Erzeugung der Grafik
(an der passenden Stelle) lässt sich dort bequem erledigen.
Norbert schrieb:> Ich bin übrigens extrem überrascht. Du hast es geschafft, eine sehr> einfache Aufgabe in einen atemberaubend umständlichen Prozess zu> konvertieren.
Er hätte auch alles in eine ausführbare gnuplot_temp_ds1820.gp mit
Shebang reinmachen können
Zo R. schrieb:> erscheint folgende Fehlermeldung: cannot open file; output not changed> system error: Permission denied
Gruppenrechte für /var/www/html/ passen?
L.S. schrieb:> Er hätte auch alles in eine ausführbare gnuplot_temp_ds1820.gp mit> Shebang reinmachen können
Auch das wäre eine einfache (also langweilige) Möglichkeit. ;-)
L.S. schrieb:> Gruppenrechte für /var/www/html/ passen?
Die werden stimmen.
Er hat vermutlich einmal eine png Datei mit 0o444 angelegt und stolpert
nun über die eigenen Füße.
wie ich sehe lernst du grad auf die harte Tour - schau was ich dir schon
mal vorgeschlagen habe und teil das Ganze in mehrere Teilprojekte auf.
im Moment ist dein größtes Problem deine offensichtlich nicht
vorhandenen Kenntnisse der Rechteverwaltung. Das musst du dringend
ändern bevor es auch nur ein bisschen Sinn macht, das ganze weiter zu
verfolgen.
Du willst ja auch nicht in Zukunft jedes Mal wenn eine Kleinigkeit zu
ändern ist tage- oder sogar wochenlang an so Kleinigkeiten herumrätseln
(um nicht zu sagen pfuschen)?
Zo R. schrieb:> Jetzt habe ich auf die index.php via Webbrowser keinen Zugriff mehr. Hab> da wohl in den Zugriffsrechten was geändert.
Mit ›Trial and Error‹ kommt man nur dann weiter, wenn man zumindest eine
grobe Vorstellung hat von den Dingen die man anrichtet.
Kleiner Tipp am Rande: Nur weil checkaa2oo3 im Youtube Video bei
fünfundvierzig Minuten, siebzehn Sekunden etwas selten Dämliches macht,
so besteht dennoch kein Nachahmungszwang.
In /var/www/ haben:
1
-rw-r--r--1rootroot1175Nov1110:30index.php
2
-rw-r--r--1rootroot2437Nov1110:30style.css
normalerweise nichts zu suchen.
/var/www/html/ sollte rwx für den Eigner haben, rx für Gruppe und
Andere.
Und Gruppe sollte natürlich www-data sein.
Also (als root) im /var/www/ Verzeichnis:
Du scheinst ja wirklich wenig/keine Ahnung von Linux und den
Benutzerrechten zu haben (deswegen habe ich nach groups gefragt)
und: ausführbare Programme (hier ...py) mussen ausführbar sein, also
x-Flag
Norbert schrieb:> * Es existiert matplotlib mit pyplot. Die komplette Erzeugung der Grafik> (an der passenden Stelle) lässt sich dort bequem erledigen.
Der Vollständigkeit halber sei darauf hingewiesen, daß es neben der an
Matlab angelehnten Matplotlib noch eine Reihe anderer
Visualisierungsbibliotheken gibt, die vor allem für Webanwendungen oft
besser geeignet sind. Zum Beispiel die etwas bekannteren Libraries
Seaborn (das auf Matplotlib aufbaut), Bokeh oder Plotly und Plotly
Express, aber auch weniger bekannte wie Altair, Pygal, Folium und, nicht
zu vergessen, d3blocks, das die Fähigkeiten der bekannten
Javascript-Bibliothek D3.js unter Python bereitstellt.
Viele dieser Bibliotheken bieten Features, die unter Matplotlib nicht
zur Verfügung stehen, und können zum Beispiel interaktive Grafiken fürs
Web erzeugen. Zudem fühlen sich die meisten davon für Python-Entwickler
etwas "pythonischer" an als die an Matlab angelehnte Matplotlib. Viel
Spaß!
Ein T. schrieb:> Der Vollständigkeit halber sei darauf hingewiesen, daß es neben der an> Matlab angelehnten Matplotlib noch eine Reihe anderer> Visualisierungsbibliotheken gibt, die vor allem für Webanwendungen oft> besser geeignet sind.
Wenn der TE nicht mal die Rechte hinbekommt, ist er damit sicher erst
recht überfordert.
Normale Benutzer dürfen nicht in /var/www/html/ schreiben. Du könntest
deinen Job in der Crontab für den Apache-Benutzer ("www-data")
einstellen ("crontab -u www-data -e"), so daß er mit dessen Rechten
läuft. Oder Du richtest Dir ein Unterverzeichnis in /var/www/html/ ein,
in das Dein Benutzer schreiben und aus dem der Apache-Server lesen darf.
Wenn Du ein Linux benutzen möchtest, halte ich es grundsätzlich für
sinnvoll, Dich mit Datei- und Benutzerrechten unter Linux zu
beschäftigen. Viel Erfolg!
Ein T. schrieb:> Normale Benutzer dürfen nicht in /var/www/html/ schreiben.
Und der Webserver hat nichts im übrigen Dateisystem zu suchen, daher die
Gruppe www-data