Eerst moet je het voorbeeld dummy . verwijderen definities uit uw vhost-httpd.conf-bestand. Ze zijn er als alleen voorbeelden alleen om u op weg te helpen met de syntaxis, en mag niet in een actieve conf/extra/httpd-vhosts.conf
blijven omdat ze verwijzen naar niet-bestaande mappen.
Dus verwijder deze 2 definities uit het bestand:
<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>
Tweede Apache 2.4.x is IPV4 ( 127.0.0.1 ) en IPV6 (::1) bewust, dus uw hosts
bestand zou er zo uit moeten zien met definities voor zowel IPV4- als IPV6-versies voor elke site. De browser kan een van beide willekeurig gebruiken, dus u hebt beide nodig, maar u zult waarschijnlijk het IPV6-netwerk gebruiken in plaats van de IPV4 als beide daadwerkelijk actief zijn op uw pc.
127.0.0.1 localhost
::1 localhost
127.0.0.1 mysite.dev
::1 mysite.dev
Probeer nu op de 2 virtuele hosts die daadwerkelijk op uw systeem bestaan, dit als de virtuele host-definitie:
<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>
De <Directory>....</Directory>
sectie binnen de <VirtualHost>....</VirtualHost>
sectie vertelt Apache van welke IP-adressen het verbindingen mag accepteren, dus gebruik de Apache 2.4-syntaxis Require local
beperkt de toegang zodat alleen de pc met WAMPServer, d.w.z. Apache, verbinding kan maken met een van deze sites.
Vermijd het combineren van Apache 2.2-syntaxis en Apache 2.4-syntaxis in dezelfde definitie. Dus niet gebruiken
Order Allow,Deny
Allow from all
en
Require all granted
in dezelfde definitie. Je gebruikt Apache 2.4, dus gebruik de Apache 2.4-syntaxis.
Als u merkt dat u andere pc's binnen uw lokale netwerk wilt toestaan uw site te zien, bijvoorbeeld uw collega of de kinderen, kunt u deze syntaxis toevoegen aan een of meer van uw Virtual Host-definities.
Sta slechts één andere pc toe op uw site
Require local
Require ip 192.168.1.100
of 2 andere pc's
Require local
Require ip 192.168.1.100, 192.168.1.101
Of gebruik voor iedereen op uw lokale netwerk de eerste 3 van de 4 kwartielen van het ip-adres.
Require ip 192.168.1
Vermijd ook het gebruik van de syntaxis die toegang vanaf elke locatie mogelijk maakt, bijv.
Require all granted <--Apache 2.4 syntax
or
Order Allow,Deny <-- Apache 2.2 syntax
Allow from all
Het kan uw problemen op korte termijn oplossen, maar wacht op u om u later op te vangen wanneer u besluit uw site aan een vriend/klant/baas te laten zien. Als je in het stadium van Port Forwarding komt, je router zodat de wereld in je netwerk wordt toegelaten, dat zou leiden tot AL UW SITES beschikbaar worden voor de wereld.
Het is beter om de ONE Virtual Host Definition te wijzigen voor de ONE-site waarvan u wilt dat mensen ze zien om te testen/opscheppen van Require local
om Require all granted
en geef alleen toegang tot die ene site vanaf internet.
Als je al deze wijzigingen hebt aangebracht, vergeet dan niet om Apache opnieuw te starten.
Ook als u het hosts-bestand wijzigt om de wijzigingen actief te maken, moet u ofwel opnieuw opstarten of deze opdracht uitvoeren vanaf de opdrachtregel van een opdrachtvenster dat is gestart met de Runs as Administrator
optie.
net stop dnscache
net start dnscache
ipconfig /flushdns