Besitzer für www-data hinzufügen

  • Hallo,
    ich stehe mal wieder auf dem Schlauch.
    Ich habe einen Raspberry als Server mit Apache und PHP laufen. Funktioniert! Eine darauf liegende PHP-Datei kann ich mit dem Browser aufrufen und die Datei wird wunderbar ausgeführt und schaltet mir meine GPIO-Relais.
    Nun habe ich einen 2. Raspberry zuerst mit FHEM installiert und nachträglich Apache und PHP hinzugefügt.
    Leider wird dieselbe PHP-Datei wie bei Raspi1, die auch unter var/www/html liegt zwar im Browser aufgerufen, aber die PHP-Befehle werden nicht abgearbeitet.
    Das bedeutet, die Verzeichnisse für die GPIO´s werden aus der PHP-Datei heraus nicht angelegt und die Eingänge nicht definiert.
    Wenn ich es über SSH mit
    sudo echo 25 >/sys/class/gpio/export
    sudo echo out >/sys/class/gpio/gpio25/direction
    mache klacken die Relais. Auch aus FHEM kann ich sie ansteuern, nur nicht über die PHP-Datei. Wie gesagt, an der PHP-Datei liegt es nicht, die funktioniert auf dem anderen Raspi wunderbar.


    Irgendwetwas habe ich bei der Installation von Raspi 2 vergessen oder falsch gemacht. Ich weiß aber nicht was.

    Bei der Fehlersuche habe ich festgestellt, dass auf Raspberry 2 www-data nicht als Besitzer im Verzeichnis var/www aufgeführt ist.
    Ich weiß zwar nicht, ob das due Ursache ist, könnte es mir aber vorstellen.
    Nun bekomme ich es leider nicht hin, den Besitzer hinzuzufügen (ich sag ja ich steh auf dem Schlauch!).
    Hab natürlich schon gesucht und gegoogelt, auch viel gefunden, aber leidre ohne Erfolg.

    Frage: Kann das die Ursache sein und wie lautet der Befehl um dem Verzeichnis var/www und allem was darunter liegt den Besitzer WWW-data hinzuzufügen.

    Danke!

    Einmal editiert, zuletzt von Aiki (7. Januar 2017 um 13:07)

  • Ich vermute eher du hast in deimen PHP unvollständige Pfade drin. Der Aufruf findet nicht das was du in der php angegeben ist. Dort bei Verweisen immer mit vollständigen Pfaden arbeiten.
    www-data ist nicht Besitzer der www Ordners im var Verzeichnis. www-data muss Auführungsrecht auf die PHP Datei haben. Am einfachsten übernimmst du nur den Besitz für die PHP Datei mit

    Code
    sudo chown www-data /var/www/deinedatei.php

    Ist die php Datei ausführbar?

    Code
    sudo chmod +x /var/www/deinedatei.php
  • Ich würde eher sagen, dass bei deinem 2. Raspberry PHP im Apache nicht aktiviert ist.
    Vielleicht auch einmal einen Blick in die Apache Logs werfen.

    Bei mir gehören die Dateien teilweise www-data und teilweise root. Ich habe bei keiner Datei Probleme mit dem Ausführen, solange sie von allen Usern gelesen werden können.

    Anfragen ausserhalb des Forums (Mail o.ä.) werden ignoriert!

  • Vielen Dank für die Tipps,
    ich habe die Datei ausführbar gemacht, das kann es nicht sein.
    Den Tipp mit den Verzeichnissen habe ich mal verfolgt. Dabei habe ich festgestellt, dass auf dem funktionierenden Pi im Verzeichnis /usr/local/bin die Datei "gpio" liegt.
    Bei dem anderen ist das Verzeichnis leer.
    Ich wollte die Datei jetzt einfach mal dort reinkopieren, aber das funktioniert nicht.

    ???

    Tipp 2: PHP in Apache nicht aktiviert. Wie kann ich das prüfen oder aktivieren. Das mit den Logs sagt mir leider nichts.
    Ich kenne mich noch nicht so super aus. Merkt man wahrscheinlich ?!

    Ich hänge meine PHP-Datei auch noch mal an.

  • Ich habe jetzt folgende Befehle ausgeführt:

    sudo adduser www-data gpio
    sudo systemctl restart apache2

    [font="Times New Roman"]Jetzt werden die GPIO´s/Relais beim Aufruf der PHP-Datei aktiviert.[/font]
    [font="Times New Roman"]Allerdings lassen sie sich über die in der PHP-Datei integrierten Buttons nicht schalten?????[/font]

    [font="Times New Roman"]Ich vermute, es hängt mit der "gpio"-Datei zusammen die fehlt.[/font]
    [font="Times New Roman"]Wie kriege ich die da rein?[/font]
    Automatisch zusammengefügt:
    Ich habe es jetzt rausgefunden:
    WiringPi war nicht richtig installiert!

    Hab es jetzt neu gemacht und jetzt funktioniert alles!
    Jetzt ist auch die Datei "gpio" im Verzeichnis /usr/local/bin da.

    Sorry für die Mühe und Danke allen Tippgebern!

    Einmal editiert, zuletzt von Aiki (7. Januar 2017 um 14:21)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!