Momentan ist mein Apache Server so eingerichtet
%Vor% Das Problem ist, dass alles unter /var/www
von überall her zugänglich ist. Wenn ich eine Webseite /var/www/john/bio.html
habe, könnte diese Webseite Skripte / Bilder von var/www/jane/
Ich möchte meinen Apache-Server wie folgt einrichten
%Vor% So gehen alle Dateien für den Benutzer john
im Ordner /var/www/john/
und ebenso für den Benutzer jane
. Dann, mit symbolischen Links deaktiviert (standardmäßig), und Zugriff nur von /var/www/user/
downward (wieder standardmäßig), muss ich nicht um john's
Webseite einschließlich Skripte / Bilder von jane's
Webseite kümmern .
Nur mit lokalen Messungen ( /etc/hosts
anstelle von DNS) habe ich festgestellt, dass dies in der Tat funktionieren kann.
Ändern Sie zunächst Ihre /etc/hosts
-Datei, um eine Zuordnung der gewünschten Website-Namen zu erhalten ( www.example.com ). und Ziel-IP-Adresse (192.168.1.1). Ich habe meine lokale IP-Adresse verwendet.
Ihr Webbrowser überprüft Ihre /etc/hosts
-Datei , bevor auf das World Wide Web zugreift.
Als nächstes gehen Sie durch alle Apache-Konfigurationsdateien ( httpd.conf
, apache2.conf
, ports.conf
, conf.d/*
) und stellen Sie sicher, dass in genau eine Datei der Befehl NameVirtualHost *:80
ausgegeben wird ( Es muss nicht port :80
sein, aber wenn es mehr als einmal ausgegeben wird, erhalten Sie dieses Problem ) . Meins wurde in /etc/apache2/ports.conf
ausgegeben, also leg deine da hin, wenn du musst. Schließlich, aktualisieren Sie Ihre Apache-Konfigurationsdatei (meine war bei /etc/apache2/sites-available/default
) wie so.
Als letzten Schritt müssen Sie möglicherweise die Websites zu Apache hinzufügen, indem Sie die folgenden Befehle eingeben (dieser Schritt ist nicht notwendig, wenn Sie alle Websites in sites-available/default
und nicht in separate Dateien für einzelne Websites eingeben).
Danach wird john.example.com
zu /var/www/john
gehen. Dieses Verzeichnis fungiert dann als Stammverzeichnis, und john
hat keinen Zugriff mehr auf www
und hat daher keinen Zugriff auf /var/www/jane
.
Nach diesem Vorgang wird jane.example.com
ebenfalls zu /var/www/jane
wechseln. Dieses Verzeichnis fungiert dann als Stammverzeichnis, und jane
hat keinen Zugriff mehr auf www
und hat daher keinen Zugriff auf /var/www/john
.
Bei deaktivierten symbolischen Links können beide Verzeichnisse nicht aufeinander zugreifen
Tags und Links apache2 subdomain virtualhost