Zuerst müssen Sie den Beispiel-Dummy entfernen Definitionen aus Ihrer Datei vhost-httpd.conf. Sie sind dort nur beispielhaft nur um Ihnen den Einstieg in die Syntax zu erleichtern, und sollte nicht in einer aktiven conf/extra/httpd-vhosts.conf
verbleiben da sie auf nicht vorhandene Ordner verweisen.
Entfernen Sie also diese 2 Definitionen aus der Datei:
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "g:/Apache24/docs/dummy-host.example.com"
ServerName dummy-host.example.com
ServerAlias www.dummy-host.example.com
ErrorLog "logs/dummy-host.example.com-error.log"
CustomLog "logs/dummy-host.example.com-access.log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "g:/Apache24/docs/dummy-host2.example.com"
ServerName dummy-host2.example.com
ErrorLog "logs/dummy-host2.example.com-error.log"
CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>
Zweitens unterstützt Apache 2.4.x IPV4 ( 127.0.0.1 ) und IPV6 (::1), sodass Ihre hosts
sollte wie folgt aussehen, mit Definitionen für IPV4- und IPV6-Versionen für jede Site. Der Browser kann beides beliebig verwenden, sodass Sie beide benötigen, wird aber wahrscheinlich das IPV6-Netzwerk dem IPV4 vorziehen, wenn beide tatsächlich auf Ihrem PC aktiv sind.
127.0.0.1 localhost
::1 localhost
127.0.0.1 mysite.dev
::1 mysite.dev
Versuchen Sie nun auf den 2 virtuellen Hosts, die tatsächlich auf Ihrem System vorhanden sind, dies als Definition des virtuellen Hosts:
<VirtualHost *:80>
DocumentRoot "g:/wamp/www"
ServerName localhost
ServerAlias localhost
ErrorLog "logs/localhost-error.log"
CustomLog "logs/localhost-access.log" common
<Directory "G:/wamp/www">
AllowOverride All
Options Indexes FollowSymLinks
Require local
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "g:\wamp\www\mysite\public"
ServerName mysite.dev
ServerAlias www.mysite.dev
ErrorLog "logs/mysite-error.log"
CustomLog "logs/mysite-access.log" common
<Directory "G:/wamp/www/mysite/public">
AllowOverride All
Options Indexes FollowSymLinks
Require local
</Directory>
</VirtualHost>
Das <Directory>....</Directory>
Abschnitt innerhalb des <VirtualHost>....</VirtualHost>
-Abschnitt teilt Apache mit, von welchen IP-Adressen er Verbindungen annehmen darf, also unter Verwendung der Apache 2.4-Syntax Require local
schränkt den Zugriff so ein, dass nur der PC, auf dem WAMPServer ausgeführt wird, d. h. Apache, eine Verbindung zu einer dieser Sites herstellen kann.
Vermeiden Sie es, Apache 2.2-Syntax und Apache 2.4-Syntax in derselben Definition zu mischen. Verwenden Sie also nicht
Order Allow,Deny
Allow from all
und
Require all granted
in der gleichen Definition. Sie verwenden Apache 2.4, verwenden Sie also die Apache 2.4-Syntax.
Wenn Sie feststellen möchten, dass andere PCs in Ihrem lokalen Netzwerk Ihre Site sehen können, z. B. Arbeitskollegen oder die Kinder usw., können Sie diese Syntax zu einer oder mehreren Ihrer Virtual Host-Definitionen hinzufügen.
Erlauben Sie nur einem einzigen anderen PC den Zugriff auf Ihre Website
Require local
Require ip 192.168.1.100
oder 2 andere PCs
Require local
Require ip 192.168.1.100, 192.168.1.101
Oder verwenden Sie für jeden in Ihrem lokalen Netzwerk einfach die ersten 3 der 4 Quartile der IP-Adresse.
Require ip 192.168.1
Vermeiden Sie auch die Verwendung der Syntax, die den Zugriff von überall erlaubt, z. B.
Require all granted <--Apache 2.4 syntax
or
Order Allow,Deny <-- Apache 2.2 syntax
Allow from all
Es kann Ihre Probleme kurzfristig lösen, wartet aber nur darauf, Sie irgendwann später zu erwischen, wenn Sie sich entscheiden, Ihre Website einem Freund/Kunden/Chef zu zeigen. Wenn Sie die Phase der Portweiterleitung erreichen, wird Ihr Router so, dass die Welt in Ihr Netzwerk eingelassen wird, was ALLE IHRER SITES verursachen würde der Welt verfügbar zu machen.
Es ist besser, die EINE virtuelle Host-Definition für die EINE Website, die die Leute zum Testen/Angeben sehen sollen, von Require local
zu ändern bis Require all granted
und erlauben Sie nur den Zugriff auf diese einzelne Site aus dem Internet.
Nachdem Sie alle diese Änderungen vorgenommen haben, denken Sie daran, Apache neu zu starten.
Auch wenn Sie die Hosts-Datei ändern, um die Änderungen zu aktivieren, sollten Sie entweder neu starten oder diesen Befehl von der Befehlszeile eines Befehlsfensters ausführen, das mit Runs as Administrator
gestartet wurde Option.
net stop dnscache
net start dnscache
ipconfig /flushdns