
Wenn virtuelle Hosts aktiviert sind, wo soll ich meine Website-Dateien platzieren?
/home/aunser/www
/var/www/site1
,/var/www/site2
/usr/local/website/site1
,/usr/local/website/site2
Die Systeme sind CentOS 6.x/RHEL 6.x, SELinux aktiviert.
Antwort1
Für Apache ist das egal, man definiert einfach eineDokument Rootverweist auf das Verzeichnis, in dem sich die Dateien befinden.
Aus praktischer Sicht kann es sinnvoll sein, den Konventionen der von Ihnen verwendeten Distribution zu folgen, da Dinge wie SELinux und möglicherweise AppArmor möglicherweise Standardrichtlinien haben, die geändert werden müssen, wenn Apache auf nicht standardmäßige Speicherorte verweist.
Antwort2
Apache selbst ist das egal – es verwendet, was Sie in Ihrer Vhost-Konfiguration schreiben. Die Administratoren der Maschine sind jedoch daran interessiert: Sie sollten Konventionen einhalten. Wenn Sie die üblichen Konventionen nicht einhalten, könnten Sie mit Paketmanagern Probleme bekommen.
Die unten aufgeführten Daten /home
müssen einem bestimmten Benutzer gehören. Für den Inhalt einer Website ist dies normalerweise nicht angemessen.
Das Verzeichnis /usr
ist für installierte Programme gedacht. Es ändert sich nicht, außer wenn Sie Programme installieren oder aktualisieren. Legen Sie dort kein Web-Root ab.
Die beiden normalen Speicherorte für Webserver-Stammverzeichnisse sind:
Antwort3
Wenn du meinstwo sollten Sie die Dateien platzieren, damit Apache darauf zugreifen kann, Dann...
Wo Sie Ihre Dateien ablegen, bleibt Ihnen überlassen. Sie konfigurieren Ihren virtuellen Host so, dass er den von Ihnen gewählten Pfad mit der DocumentRoot
Direktive verwendet.
Zusätzlich zu den normalen Einstellungen für die diskretionäre Zugriffskontrolle (Benutzer und Gruppen) müssen Sie je nach Ihrer Distribution möglicherweise die obligatorische Zugriffskontrolle (SELinux oder AppArmor usw.) neu konfigurieren, um Apache Lese- oder Lese-/Schreibzugriff auf die Dokumente zu gewähren.