Hinweistext zum chmod der config.php im ACP
Verfasst: 26.01.2010 07:51
Mahlzeit geschätzte Gemeinde,
ich wollte mal eure Meinungen zu diesem Thema hören:
Ich habe kürzlich eine Neuinstallation eines plain-vanilla 3.0.6 gemacht. Während der Installation habe ich die config.php auf chmod 777 gesetzt, damit mir die Settings gleich auf dem Server geschrieben werden.
Das Board war fertig installiert, alles lief.
Nun war ich im ACP unterwegs, da kam der Hinweistext in der ACP Übersicht:
Den Rest des Abends habe ich weiter die Basiskonfiguration gemacht, alles lief wunderbar. Ins Bett gegangen, nächsten Morgen das Forum aufgerufen:
Weisse Seite - nix ging mehr - keine Fehlermeldung, keine einzige Datei lieferte irgendwas aus, nur die weisse Seite, wie frisch gefallener Schnee.
What the heck? Plain-vanilla, nix gemoddet, alles Standard - da muss was am Server krumm sein (an die config.php habe ich nicht mehr gedacht). Merkwürdiger Weise liefen andere PHP Anwendungen. Long story short, ich erspare euch die weitere Fehlersuche.
Also: auf dem System, auf dem ich laufe, muss die config.php auf chmod 644 gesetzt sein. Also die Gruppe "other" lesenden Zugriff auf die config.php bekommen. Ansonsten passiert nix und man steht ziemlich blöd da. Zusätzlich: durch internes Caching auf dem Webserver (oder so) tritt das Problem zeitverzögert auf - nicht sofort. In meinem Fall erst mehrere Stunden später (reproduzierbar).
System: Apache 2.0 mit PHP Version 5.2.6-1 - nichts ungewöhnliches.
Warum nur eine weisse Seite kommt und keine Fehlermeldung, hat mein freundlicher Hoster folgendermaßen erklärt:
Sollte es nämlich Standard sein, denn werden durch den Hinweis noch einige ziemlich böse in die weisse Seite laufen. Dadurch, das das Problem zeitverzögert auftritt und keine Fehlermeldungen ausgegeben werden, ist das auch ziemlich ätzend zu debuggen (haha). Und die meisten Webserver laufen auf dem Apachen.
Sollte dem so sein, dann sollte man wohl ernsthaft darüber nachdenken, die Meldung zu überarbeiten und nur chmod 644 zu empfehlen. Oder auf die potentiellen Probleme mit chmod 640 hinweisen.
Ein Fall für den Bugtracker auf phpbb.com? Oder bin ich mit dem System ein Einzelfall? Was denkt ihr?
Gruß
Kevin
ich wollte mal eure Meinungen zu diesem Thema hören:
Ich habe kürzlich eine Neuinstallation eines plain-vanilla 3.0.6 gemacht. Während der Installation habe ich die config.php auf chmod 777 gesetzt, damit mir die Settings gleich auf dem Server geschrieben werden.
Das Board war fertig installiert, alles lief.
Nun war ich im ACP unterwegs, da kam der Hinweistext in der ACP Übersicht:
Ah, alles klar, stimmt, da war ja noch was. Also bin ich, ohne groß nachzudenken, bei gegangen und habe die config.php auf chmod 640 gesetzt.Deine Konfigurations-Datei (config.php) ist derzeit von jedermann beschreibbar. Es wird dringend empfohlen, die Berechtigungen auf 640 oder zumindest auf 644 (z. B.: chmod 640 config.php) zu setzen.
Den Rest des Abends habe ich weiter die Basiskonfiguration gemacht, alles lief wunderbar. Ins Bett gegangen, nächsten Morgen das Forum aufgerufen:
Weisse Seite - nix ging mehr - keine Fehlermeldung, keine einzige Datei lieferte irgendwas aus, nur die weisse Seite, wie frisch gefallener Schnee.
What the heck? Plain-vanilla, nix gemoddet, alles Standard - da muss was am Server krumm sein (an die config.php habe ich nicht mehr gedacht). Merkwürdiger Weise liefen andere PHP Anwendungen. Long story short, ich erspare euch die weitere Fehlersuche.
Also: auf dem System, auf dem ich laufe, muss die config.php auf chmod 644 gesetzt sein. Also die Gruppe "other" lesenden Zugriff auf die config.php bekommen. Ansonsten passiert nix und man steht ziemlich blöd da. Zusätzlich: durch internes Caching auf dem Webserver (oder so) tritt das Problem zeitverzögert auf - nicht sofort. In meinem Fall erst mehrere Stunden später (reproduzierbar).
System: Apache 2.0 mit PHP Version 5.2.6-1 - nichts ungewöhnliches.
Warum nur eine weisse Seite kommt und keine Fehlermeldung, hat mein freundlicher Hoster folgendermaßen erklärt:
Nun meine Frage: ist das eine ungewöhnliche Konfiguration (das der Webserver zur Gruppe "other" gehört)?Der Webserver darf nicht darauf zugreifen da er im Hinblick auf die Datei zu "Others" gehört (Der Webservers gehört zur Gruppe www-data).
Es kann also nur über "chmod 0644 config.php" gehen.
Das ist die gängige Apache-Handhabe, von daher bezieht sich die Warnmeldung von phpbb wohl auf andere Systeme.
Und wir konnten auch das Mysterium "weisse Seite" klären.
Der PHP-Interpreter hat als er die Datei via require einlesen wollte einen error geworfen und das parsen abgebrochen. Daher kam der Parse-Fehler auch nicht zur Anzeige, da für die Auswertung von "ini_set('display_errors',1);" bereits der Interpreter zuständig ist, der garnicht zum Zuge kam.
Umgehen lässt sich das, indem require durch include ersetzt wird - was ich selbst nie tue da letzteres nur eine warning auslöst - aber genau dies würde jetzt eine Meldung anzeigen, da der Parser eben nicht gestoppt wird.
Sollte es nämlich Standard sein, denn werden durch den Hinweis noch einige ziemlich böse in die weisse Seite laufen. Dadurch, das das Problem zeitverzögert auftritt und keine Fehlermeldungen ausgegeben werden, ist das auch ziemlich ätzend zu debuggen (haha). Und die meisten Webserver laufen auf dem Apachen.
Sollte dem so sein, dann sollte man wohl ernsthaft darüber nachdenken, die Meldung zu überarbeiten und nur chmod 644 zu empfehlen. Oder auf die potentiellen Probleme mit chmod 640 hinweisen.
Ein Fall für den Bugtracker auf phpbb.com? Oder bin ich mit dem System ein Einzelfall? Was denkt ihr?
Gruß
Kevin