it-swarm.dev

Apache-Fehler beim Einrichten von Silex Bootstrap: Die htaccess-Datei kann nicht geprüft werden

Ich versuche, eine Website mit Silex Bootstrap einzurichten. Ich habe sie mit anderen Webprojekten in meinem Ordner abgelegt und die DocumentRoot-Datei in der Apache-Konfiguration geändert.

<Directory /folder/to/silex_projects/web>
     Options Indexes FollowSymLinks MultiViews
     AllowOverride All
     Order allow,deny
      allow from all
</Directory>

Aber ich kann die Indexseite des Frameworks nicht öffnen, Apache gibt Folgendes:

[Mo Dec 17 21:10:52 2012] [krit] [client 127.0.0.1] (13) Berechtigung verweigert: /folder/to/silex_project/web/.htaccess pcfg_openfile: Die htaccess-Datei kann nicht geprüft werden

Ich habe den gesamten Projektordner mit chmod a+r -R chmod'ed. Andere Projekte in demselben Ordner funktionieren gut mit der .htaccess-Datei.

Die .htaccess-Datei ist vorhanden.

14
OrangeTux

chmod 755 -R /silex_project/ hat mein Problem gelöst. Ich weiß immer noch nicht, warum Apache Schreibrechte für die Arbeit benötigt.

30
OrangeTux

Dies liegt wahrscheinlich daran, dass der Benutzer, der Apache ausführt, keine eXecute-Berechtigung für das Verzeichnis hat. Es ist auch erforderlich, um die darin enthaltenen Dateien zu lesen. chmod a+rx /folder/to/silex_projects hätte Ihren Fehler wahrscheinlich behoben.

Ihr chmod 755 -R löst dieses Problem nicht, indem er auch Schreibzugriff gewährt, sondern weil dies einfach zufällig der eXecute hinzugefügt wird.

19
henningda

Zusätzlich zu den anderen Antworten ist SELinux (wenn aktiviert) etwas anderes, als Sie in dieser Situation beissen kann, wenn Sie Änderungen vornehmen, bei denen auf Dateien zugegriffen werden kann, die von den "Standard" -Ordnern der Distributionen stammen.

Das Update besteht darin, eine entsprechende Richtlinie zu selinux für das Verzeichnis/die Dateien hinzuzufügen oder sie zu deaktivieren, wenn die Selinux-Sicherheit nicht ausgeführt werden soll.

2
HanSolo

ich habe auch diesen Fehler und finde diese gute Auffrischung (13) Berechtigung verweigert: /home/username/.htaccess pcfg_openfile: htaccess-Datei kann nicht geprüft werden, sicherstellen, dass sie lesbar ist

Wenn Sie beim Anzeigen Ihrer Domäne den Fehler "Verboten" sehen, und prüfen Sie dann Ihre Apache-Protokolle: /Var/log/httpd/error_log /Var/log/httpd/domains/domain.com .Fehlerprotokoll

und den Fehler sehen:

[crit] [client 1.2.3.4] (13)Permission denied: /home/username/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable

dies würde bedeuten, dass Apache keinen Lesezugriff auf Ihr Verzeichnis/home/username hat.

Die Ursache hierfür kann in Bezug auf Berechtigungen, Konfigurationen oder Besitzverhältnisse liegen.

Apache läuft als Benutzer "Apache", daher muss das Verzeichnis für diesen Benutzer oder diese Gruppe + x sein.

1) Ab DirectAdmin 1.38.0 implementieren wir die Funktion secure_acccess_group, mit der/home/user (für Benutzer) auf chmod 750 und chown username: access gesetzt wird. Der Apache-Benutzer befindet sich in der Gruppe "Zugriff". Um dies zu bestätigen, geben Sie Folgendes ein:

[[email protected]]# grep ^access: /etc/group
access:x:506:Apache,nobody,mail,Majordomo,daemon

und Sie sollten etwas ähnlich der angezeigten Ausgabe erhalten.

Wenn Sie eine leere Liste mit Benutzern erhalten, ist die Zugriffsgruppe vorhanden, aber leer. Um die Gruppe korrekt auszufüllen (auf RedHat/CentOS/Debian-Systemen), geben Sie Folgendes ein:

usermod -G access Apache
usermod -G access nobody
usermod -G access mail
usermod -G access Majordomo
usermod -G access daemon

auf FreeBSD-Systemen lautet der Befehl zum Erstellen der Gruppe:

pw groupadd -n access -M Apache,nobody,mail,Majordomo,daemon

dies bedeutet jedoch, dass die Gruppe noch nicht existiert. Dieser Fall wurde unter FreeBSD nicht angezeigt, daher wird er wahrscheinlich nicht benötigt.

1
Mohammad b