Nach erfolgreicher Einrichtung und Inbetriebnahme von Grav als CMS (siehe auch Grav Flat-File-CMS via Strato Webhosting (shared hosting) betreiben [1]) stellte sich nach kurzer Zeit ein Permission-Problem ein. Von diesem Problem betroffen waren vor allem Plug-Ins und das Theme der Webseite. CSS- und JavaScript-Dateien konnten wegen eines „Permission denied“ nicht eingebunden werden, wodurch die Darstellung der Seite ausschließlich durch die HTML-Beschreibung definiert wurde.

Problemanalyse

Um dem oben genannten Problem auf den Grund zu gehen und mögliche Anhaltspunkte für die Lösung zu finden prüfte ich zunächst die Logdateien von Grav und dem Webserver [2]. Die Logdateien von Grav wiesen keine Auffälligkeiten auf. Ein Blick in die JSON-Datei mit den Ergebnissen des Grav Problem-Checks zeigte keine Fehler oder Warnungen an. Folglich war ein Konfigurationsfehler von Grav eher auszuschließen. Zur Verifizierung testete ich das Standardtheme von Grav, bei welchem jedoch das Permission-Problem ebenfalls auftrat.

Die Logdateien des Webservers zeigten lediglich an, dass auf die jeweiligen Ressourcen (CSS- und JavaScript-Dateien) wegen fehlender Zugriffsberechtigungen (HTTP Code 403) nicht zugegriffen werden konnte. Auch in den Strato SiteGuard Logdateien ließen sich keine Auffälligkeiten finden. Die von Grav erzeugte .htaccess-Datei wies keine Hinweise für eine mögliche Fehlkonfiguration auf. Das Löschen der .htaccess-Datei zum Testen behob das Problem nicht, sodass ein Problem mit dieser auch ausgeschlossen werden konnte.

Recherche anhand der Fehlermeldung und Lösung des Permission-Problems

Nachdem die Analyse des Problems und erste Ansätze zu keiner Lösung des Permission-Problems führten, suchte ich in den Weiten des Internets nach möglichen Lösungsansätzen. Ausgangspunkt der Recherche war die in den Webbrowsern angezeigte Fehlermeldung beim direkten Aufruf der jeweiligen CSS- und JavaScript-Dateien („You don't have permission to access this resource.Server unable to read htaccess file, denying access to be safe“). Die Fehlermeldung als Suchbegriff führte zu einigen Treffern.

Die ersten Treffer brauchten keine Lösung des Permission-Problems, allerdings wurde ich auf den weiter hinten gelisteten Ergebnissen der Suche fündig. Ein Artikel auf makeuseuf.com [2] befasste sich mit der Fehlermeldung und beschrieb einige grundsätzliche Empfehlungen für die Berechtigungssetzung im Dateisystem des Webservers [3]. Die Rechte sollten vom Wurzelverzeichnis ausgehend für Verzeichnisse auf 775 (Schreibweise im Oktalsystem [4]) und für Dateien auf 644 gesetzt werden. Der Empfehlung folgend setze ich über FileZilla für das Wurzelverzechnis und alle untergeordneten Verzeichnisse die Rechte auf 755 und beließ die Rechte für die Dateien bei 644. Dies führte letztendlich zur Problemlösung.

Fazit

Manchmal kann ein simpler Konfigurationsfehler, mit dem eigentlich die Sicherheit gesteigert werden sollte, die Funktionalität beeinträchtigen. Vor allem aber sollte vorher gelerntes und beschriebenes auch nochmals in die Analysephase mit einfließen und mit geprüft werden. Einerseits hatte ich die im ersten Artikel zu Grav bereits beschriebene Anforderung [1] nicht als Problemquelle identifiziert und anderseits bei der letzten Berechtigungskonfiguration eben diese auch nicht berücksichtigt. Ein kurzes Abprüfen dieser Anforderung hätte vermutlich einiges an Zeit gespart.

Quellen

[1] Grav Flat-File-CMS via Strato Webhosting (shared hosting) betreiben. https://xsheep.de/home/202204212221 (Zugriff 20. Mai 2022).

[2] Zugriffsmöglichkeiten auf die Logfiles des Webservers via dem Strato Portal. https://www.strato.de/faq/hosting/wo-finde-ich-meine-logfiles/ (Zugriff 20. Mai 2022).

[3] Solved: You Don’t Have Permission to Access on This Server. https://www.makeuseof.com/you-dont-have-permission-to-access-on-this-server/ (Zugriff 20. Mai 2022).

[4] Rechte im Linux-Dateisystem. https://wiki.ubuntuusers.de/Rechte/ (Zugriff 20. Mai 2022).

[5] Oktalsystem. https://de.wikipedia.org/wiki/Oktalsystem (Zugriff 20. Mai 2022).

THEME_QUARK.BLOG.ITEM.PREV_POST