Apache verwendet das neue Stammverzeichnis für Dokumente nicht

Apache verwendet das neue Stammverzeichnis für Dokumente nicht

Ich habe den Apache-Webserver auf meinem Centos 7 installiert und aktiviert mod_ssl. Aber wenn ich versuche, das Standard-Dokumentenstammverzeichnis in ein neues zu ändern (zum Beispiel /home/user/public_html), wird mir eine 403 ForbiddenSeite angezeigt. Ich denke, es liegt vielleicht an den Berechtigungen für das Verzeichnis, aber ich weiß nicht, was ich damit machen und wie ich es ändern soll. Was soll ich jetzt tun? Jede Hilfe ist wirklich willkommen.

Antwort1

Legen Sie keine Dokumentstammverzeichnisse in Benutzer-Home-Verzeichnissen ab. Dies ist aus verschiedenen Gründen unsicher, und SELinux erlaubt dem Webserver standardmäßig nicht, Dateien in Benutzer-Home-Verzeichnissen zu lesen. Verwenden Sie ein Verzeichnis, das SELinux erkennt, z. B. , /srv/wwwerstellen Sie darunter für jeden virtuellen Host Verzeichnisse und erteilen Sie den Benutzern, die auf den Inhalt zugreifen müssen, die entsprechenden Berechtigungen und ACLs.

Wenn Sie aus irgendeinem Grund die bewährten Vorgehensweisen nicht befolgen können und der Webserver Inhalte aus den Stammverzeichnissen der Benutzer lesen muss, können Sie den httpd_read_user_contentBooleschen Wert festlegen.

setsebool -P httpd_read_user_content 1

Beachten Sie jedoch, dass SELinux aus Sicherheitsgründen niemals das Schreiben in Benutzer-Home-Verzeichnisse zulässt. Daher funktionieren Webanwendungsfunktionen, die Inhalte schreiben müssen (z. B. Benutzer-Uploads), nicht. Unter einem anderen Verzeichnis wie kann /srv/wwwVerzeichnissen, die beschreibbar sein müssen, der Typ zugewiesen werden httpd_sys_rw_content_t.

verwandte Informationen