Webpage auf meinem RaspberryPi

  • Hallo zusammen,


    ich bin ein absoluter Newbi im Linux segment. Ich habe mir zum Zeitvertreib ein RPI zugelegt um ein bisschen die Grauen Zellen anzustrengen. Nach ein paar kleineren Projekten wie eine LED an Gpio oder der Komunikation zwischen RPI und Arduinos wollte ich mich jetzt mal mit der Sache Webserver beschäftigen. Leider hänge ich da jetzt irgendwie fest. Ich möchte nur eine kleine Webpage in meinem eigenen Netzwerk betreiben um die ganzen zusammhänge zu erlernen.

    Also rangesetzt und eine html gebastelt (nichts aufwändiges, bgcolor und 2 Sätze) und Apache2 nach YT anleitung installiert. Dann die html nach /var/www/html kopiert und siehe da funktioniert. Nächstes Projekt den Speicherort der Webpage in ein User-Verzeichnis verlegen. Siehe da Problem:@ Forbidden You don´t have permission to access

    Ich weiß natürlich wie Google funktioniert, siehe da Problem "Benutzerrechte". Jetzt denke ich kenn ich das Problem, aber ich bekomme das einfach nicht gelöst unterschiedliche Lösungen getestet leider erfolglos.


    Ich hoff ihr könnt mir da den kleinen denkanstoss geben wo mein Fehler liegt. Ich würde mal meine Vorgehensweise schildern vllt findet ihr die Kreuzung wo ich falsch abgebogen bin.


    Ich habe einen User erstellt mit dem Name website, in dem homeverzeichniss ist der Ordner Webseite dort liegt die html. Dieser ist in der "000-default.conf" hinterlegt.


    Schritt1: Der benutzer www-data spielt eine Rolle wenn ich das richtig verstanden habe.
    Also habe ich diesen in die Gruppe website gepackt (unter $ id www-data wird mir angezeigt ;1002(website);)


    Schritt2: Die Rechte meines Speicherortes geändert, ich habe es Stück für Stück versucht durch immer mehr Rechte. Als das keine verbesserung brachte habe ich das Radikal versucht sudo chmod -R a+rwx website Resultat: drwxrwxrwx 21 website website 4096 Dez 12 16:18 website

    Keine Verbesserung:wallbash: Gleiches Problem.


    Schritt3: Ganz Radikal, ich habe dann sogar den Owner des Ordners geändert.

    sudo chown -R www-data /home/website Resultat: drwxrwxrwx 21 www-data website 4096 Dez 12 16:18 website

    Immer noch kein Zugriff:denker:




                                          

    Ich hoffe doch ihr klatscht euch an die Stirn und sagt man du depp da liegt dein Fehler



    :danke_ATDE:

  • Du könntest einmal in die Log-Dateien unter /var/log/apache2 sehen.

    Da sollte es access.log und error.log geben, vor allem die error.log sollte Dir etwas mehr sagen, als "Zugriff verweigert".

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

  • Guten morgen,

    Willkommen im Forum,


    ich frage mal ganz leise, hast Du den Indianer:stumm:, sorry ähh Natural American (Apache) nach Deinen Rechteanpassungseskapaden auch mal neu gestartet?

    Danke. Hättest auch laut fragen können :lol: Mehrfach durch den service befehl und auch mal durch RPI aus und wieder an


    Du könntest einmal in die Log-Dateien unter /var/log/apache2 sehen.

    Da sollte es access.log und error.log geben, vor allem die error.log sollte Dir etwas mehr sagen, als "Zugriff verweigert".


    Na wieder was gelernt :lol: Dort habe ich zwei error.log (error.log und error.log.1).


    errror.log:

    [Wed Dec 13 06:25:02.246935 2017] [core:notice] [pid 10963:tid 1995681792] AH00094: Command line: '/usr/sbin/apache2'


    error.log.1:


    [Tue Dec 12 16:45:20.445914 2017] [authz_core:error] [pid 10964:tid 1836053552] AH01630: client denied by server configuration: /home/website/Webseite/www/html/


    Hab natürlich wieder google bemüht aber was ich da lese klingt für mich auch nicht einleuchtend und funktioniert auch nicht.

  • client denied by server configuration:

    Auch wenn ich mich selbst nicht wirklich mit Webserver auskenne, so ergibt doch die google Suche mit dem 1. Treffer einen hilfreichen Eintrag (Suchwort: client denied by server configuration)


    https://wiki.apache.org/httpd/…niedByServerConfiguration

  • Nächstes Projekt den Speicherort der Webpage in ein User-Verzeichnis verlegen. Siehe da Problem:@ Forbidden You don´t have permission to access

    Das ist Dein Denkfehler.


    Der Webserver l#uft faktisch in einer Art Sandbox und gehört dem User www-data und der Gruppe www-data, ab der Webserver Wurzel (/var/www). Ab hier darf nur mehr www-data schreiben/ändern/löschen.

    www-data kommt aber auch nicht über seine Wurzel raus (ins restl. Filesystem), weil nirgens Schreibrechte für ihn bestehen.


    Servus !

    RTFM = Read The Factory Manual, oder so

  • Nächstes Projekt den Speicherort der Webpage in ein User-Verzeichnis verlegen

    Warum? Es gibt extra einen klar definierten Ort für Webpages. Diesen auf andere Pfade umzubiegen macht mehr Ärger als nutzen und ist schlimmstenfalls ein Sicherheitsrisiko.

    Der Unterschied zwischen Genie und Wahnsinn definiert sich im Erfolg.

  • Hallo,


    Quote


    Nächstes Projekt den Speicherort der Webpage in ein User-Verzeichnis verlegen

    Warum? Welchen Sinn hat das? Warum willst du die HTML nicht im Standardverzeichnis haben?

    Es hat schon diverse Gründe, dass der Webserver nur mit den stark eingeschränkten Rechten von www-data läuft.

    Der im Ausgangspost genannte, wirklich abenteuerliche Schritt 2 zeigt auch, dass das du das Rechte-System von Linux nicht wirklich verstanden hast. Der Webserer

    _liest_ die HTML-Seite ja nur, d.h. r--r--r-- hätte für den Test wenn überhaupt gereicht. Du hast ja direkt das Scheunentor (für mögliche Angriffe) sperrangelweit geöffnet.


    Plan B: mod_userdir benutzen, dann würde ich aber auch die URL ändern, siehe Doku.


    Gruß, noisefloor

  • Hallo,

    Auch wenn ich mich selbst nicht wirklich mit Webserver auskenne, so ergibt doch die google Suche mit dem 1. Treffer einen hilfreichen Eintrag (Suchwort: client denied by server configuration)


    https://wiki.apache.org/httpd/…niedByServerConfiguration


    Ja das habe ich gemeint mit gefunden,getestet und nichts verändert. Trotzdem danke




    Vielen Dank dafür, also ist es gar nicht so vorgesehen das man den Speicherort wechselt (auch wenn es möglich wäre). Dann werde ich ihn wohl da lassen wo er ist.


    Zum Sinn, ganz klar keiner. Ich bin ein Windowsuser und meine Systeme sind immer, und da lege ich wert drauf, aufgeräumt. Spiel bei Spiele, Programme bei Programme, Videos bei Videos.

    Was mir bei Linux sehr gefällt ist das jeder User sein /home verzeichniss hat. Das wollte ich hier jetzt nutzen und einen User Website erstellen wo alles dafür hinterlegt ist.

    Mit Schritt 2, natürlich habe ich mir das Thema Rechte-System unter Linux angeschaut und würde das was ich dort in Schritt 2 getan habe niemals in einem Netzwerk mit Internetverbindung nutzen. An diesem Aufbau ist ein Router(ohne Wlan) und 2 RPIs angeschlossen, also theoretisch unmöglich dort irgendwas anzugreifen. Nach dem ich es mit nur Lese Zugriff Rechte versucht habe und es nicht funktionierte habe ich die Rechte erst so weit erweitert.



    Ich nehme aber eure Hinweise/Warnungen ernst, das es ein Grund hat warum man dieses Verzeichniss so nutzen sollte und werde die html dort lassen.


    Vielen Dank für eure Mühe:thumbup:


    Gruß


    Viperz