Der Apache nicht geöffneten Webseiten auf einem Raspberry Pi
Habe ich Apache 2 mit PHP installiert auf meinem Raspberry Pi und wenn ich Anfrage index.php
es lädt fein, aber wenn ich versuche, zu verlangen, alle Unterordner, oder jede andere Datei (strandsort.cs
in diesem Beispiel - könnte auch sein anything.txt nur keine HTML/PHP-geparst), bekomme ich 403 access denied
, aber wenn ich Anfrage-Datei geparsed werden soll (i2.php
) erhalte ich eine leere Seite.
Wohl auch erwähnenswert ist, das phpmyadmin
scheint gut zu funktionieren.
Konfigurierte ich die Konfiguration, in:
/etc/apache2/sites-enabled/000-default
Und legen Sie die AllowOverride
zu ALL
.
Hier der Fehler:
PHP Warning: Unknown: failed to open stream: Permission denied in Unknown on line 0, referer: http://raspberryIP/
PHP Fatal error: Unknown: Failed opening required '/var/www/i2.php' (include_path='.:/usr/share/php$ http://raspberryIP/
Wo "RaspberryIP" ist die IP-Adresse des Geräts.
- Das problem ist ein Berechtigungsproblem. Was ist der user-Apache und was ist das Ergebnis
stat
auf diese Datei? stat
ist overkill für sowas. Eine einfachels -la /var/www/i2.php
sollte ausreichen.- Ja, denke mal der server würde halt für 30 Sekunden, sonst 🙂
- Nun, es ist nicht ein server-Last-Problem, so viel wie Benutzer-Verständnis-Problem. Ich benutze
ls -la
alle die Zeit, sich mit user/Gruppen/Berechtigungen Fragen. Ich benutze nurstat
wenn dabei wirklich tiefere Sachen wiebash
scripting für änderungen, ändern oder Zugriffszeiten. - Eigentlich war ich ein bisschen ironisch. 🙂
Du musst angemeldet sein, um einen Kommentar abzugeben.
Der Fehler ist:
So scheint dies ein Berechtigungen-Problem mit der Datei
/var/www/i2.php
. Was Nutzer über diese Datei? Ist der Apache in der Lage zu Lesen, dass die Datei? Was ist die Ausgabe wenn Sie führen Sie diesen Befehl von der Befehlszeile aus:Außerdem, was haben die Apache-error-logs sagen? Sie sollten sich in:
- Und Folgen Sie können Ihre Ausgabe mit
tail
etwa so:Diese Wege basieren auf einer standard Ubuntu 12.04 installieren, aber sollte das gleiche für CentOS & was auch immer Debian-Variante, die Sie verwenden in den Raspberry PI.
Nur damit Sie wissen, dieses Problem ist nicht eigenwillig, um einen Raspberry PI setup ist aber wirklich eine standard-Linux-Apache-Dienst-Problem. So die debugging-Techniken, die für den vollwertigen Server kann hier als gut.
Auch, was sind die Inhalte Ihrer
/etc/apache2/sites-available/default
- Datei? Das ist die eigentliche Datei, die/etc/apache2/sites-enabled/000-default
ist einfach eine symbolische Verknüpfung an. Die Standard-Apache -default
Datei kann verwirrend sein & enthält viele redundante Befehle. Dies ist die abgespeckte version, die ich gerne verwenden, wenn Sie Apache in Ubuntu:Hinweis: es ist kein
AllowOverride All
in diesem. Der ganze Zweck desAllowOverride
ist es, die Analyse von.htaccess
Dateien & auf dieser Bühne sollte nicht ein Faktor sein. Wenn Sie glauben, es ist notwendig, Sie können hinzufügen, dass diese Konfiguration so:EDIT: Das original-poster veröffentlicht, die
ls -la
Ausgabe ist wie folgt:Scheint richtig, aber ich würde empfehlen zumindest versuchen, passen Sie die Berechtigungen, so können alle diese Datei Lesen, wie diese:
Auch in der Apache -
access.log
—was der original-poster bietet auch in den Kommentaren—es sagt:Das macht mich denke, es ist ein Fehler in der PHP-Programmierung innerhalb
i2.php
? Können Sie den Inhalt überprüfen, in da & vielleicht auch nur die Erstellung einer einfachen PHP-Datei ist nur, dass Sie die folgenden, um zu sehen, was passiert:Alles, was gesagt, vielleicht wäre es am besten, wenn Sie anpassen, die Berechtigungen für die ganze
/var/www/
Verzeichnis wie diese.Den
755
gilt Lesen, schreiben & execute-Berechtigungen für den Besitzer, und Lesen & execute-Berechtigungen für die Gruppe & andere. Die-R
flag zeigt an, das sollte rekursiv durch die ganze/var/www/
Verzeichnis & Unterordnern.Noch ein EDIT: Blick auf das original-poster ist
access.log
es scheint, dass es könnte ein Problem mit Berechtigungen direkt mit einer.htaccess
:So, während Sie eine Decke Berechtigungen ändern auf
/var/www/
das Problem gelöst, vielleicht Problem mit den Berechtigungen war in/var/www/js/.htaccess
oder sogar die Eltern/var/www/js/
- Verzeichnis? Der Grund, warum ich diesen Punkt aus ist die Decke Berechtigungen änderungen wiesudo chmod -R 755 /var/www/
können das Problem lösen, aber manchmal ist es besser, zu wissen, wo genau das problem herkommt, also, dass Sie nicht so verwirrt, was wirklich passiert ist.ls -la /var/www/i2.php
Drucke:-rw------- 1 pi www-data 21 May 1 14:10 /var/www/i2.php
den Zugang.log ist ziemlich lang, hier ist es: pastebin.com/TbPBf7WE Oh und die Dateien sind Eigentum von default-user, da ich Sie hochladen per ftp./etc/apache2/sites-available/default
Inhalt: pastebin.com/YuMSCDNmsudo chmod -R 755 /var/www/
es gelöst 😀 danke!