Apache auf Centos 5.6 gibt mir Berechtigungen verweigert Fehler

10

Ich verwende Apache unter Centos 5.6 und wenn ich versuche, ein PHP-Skript in ein anderes Verzeichnis als / var / www / html (das Apache-Standardstammverzeichnis) zu laden, wird mir ein Fehler mit verweigerten Berechtigungen angezeigt.

Wenn ich jedoch die Berechtigungen meines neuen Stammverzeichnisses (/ var / www-dev) mit dem Standardverzeichnis (/ var / www / html) vergleiche, stimmen sie identisch überein. beide sagen: root: root 755

Ich habe sogar versucht, den Besitz in Apache: Apache zu ändern, und trotzdem den gleichen Fehler erhalten

Aber wenn ich die Apache-Konfiguration wieder ändere, funktioniert das Standard-Root-Verzeichnis (/ var / www / html).

Mache ich etwas falsch?

Dies sind die Einstellungen, die ich ändere:

DocumentRoot "/var/www/html"

<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

Hinweis: Ich starte Apache jedes Mal neu, wenn ich die Apache-Konfiguration und die Berechtigungen ändere.

auch: ich habe auch REMI und EPEL aktiviert

koeder
quelle
Ist SELinux aktiviert?
Bart De Vos
@ TiZon Ich glaube nicht. sollte es sein?
Koeder
Können Sie uns die genaue Nachricht geben? Kommt diese "Berechtigung verweigert" aus dem Dateisystem oder direkt von Apache (z. B. durch eine Order-Direktive)? Und gibt es Nachrichten in der Datei error.log?
Raffael Luthiger
Überprüfen Sie, ob sich in diesen beiden Unterverzeichnissen .htaccess-Dateien befinden.
Raffael Luthiger
1
Danke @TiZon! SELinux wurde aktiviert. Nachdem ich die Bearbeitung der Datei / etc / selinux / config deaktiviert hatte, konnten meine Web-Apps in andere Direktoren geladen werden.
Koeder

Antworten:

11

Normalerweise kommt das von Selinux, das keinen Zugriff auf den Ordner gewährt. tun

ls -alZ /var/www/

und wenn der HTML-Ordner nicht den Kontext system_u: object_r: httpd_sys_content_t hat, beheben Sie ihn mit chcon

chcon -v -R --type=httpd_sys_content_t /var/www/html

http://wiki.centos.org/HowTos/SELinux

Julien Vehent
quelle
Danke @Julien Vehent! Ich werde Ihnen die Antwort belohnen, da Ihre Methode es mir ermöglicht, SELinux-Berechtigungen für einen bestimmten Ordner zu bearbeiten, anstatt SELinux insgesamt zu deaktivieren. Vielen Dank. Das hat funktioniert! und ersparte mir Kopfschmerzen.
Koeder