Les hôtes virtuels sur WAMP provoquant 403 interdits sur localhost … d’autres alias fonctionnent toujours

Je viens de me rendre compte que rien d’autre sur WAMP n’est accessible à moins qu’il ne se trouve sous l’alias de l’hôte virtuel. Par exemple: si je nomme mon vHost ‘mysite.dev’, je ne peux accéder qu’à mysite.dev et tout le rest donne une erreur 403 interdite. Si j’ajoute un vHost appelé anothersite.dev en plus de mysite.dev, seuls ces sites sont accessibles. La seule chose à laquelle je peux accéder sous localhost est PHPMyAdmin. J’ai décommenté la ligne incluant vHosts.conf dans le fichier Apache httpd.conf. Ce problème ne se produit pas jusqu’à ce que je modifie le fichier vHosts.conf. Voici la configuration pour les autres fichiers:

vHosts.conf:

 ServerAdmin [email protected] DocumentRoot "c:/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   ServerAdmin [email protected] DocumentRoot "c:/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   ServerAdmin [email protected] DocumentRoot "W:/wamp/www/mysite" ServerName mysite.dev ErrorLog "logs/dummy-host2.example.com-error.log" CustomLog "logs/dummy-host2.example.com-access.log" common  

Fichier d’hôtes Windows:

 127.0.0.1 localhost 127.0.0.1 mysite.dev 

Ok, les 2 premières définitions de VHOST dans le fichier httpd-vhost.conf (vhost et vhost2) sont des exemples fournis par Apache pour vous aider à démarrer et, bien sûr, pointer vers des dossiers qui n’existent pas et doivent être supprimés .

Second Lorsque vous créez un hôte virtuel, vous devez inclure les privilèges d’access pour le VHOST dans un groupe .

Troisièmement, vous devez toujours créer un VHOST pour localhost, car une fois les VHOST créés, Apache ignore la définition de localhost dans httpd.conf

Donc, votre fichier httpd-vhost.conf devrait ressembler à ceci

 # Should be the first VHOST definition so that it is the default virtual host # Also access rights should remain ressortingcted to the local PC and the local network # So that any random ip address attack will recieve an error code and not gain access  ServerAdmin [email protected] DocumentRoot "W:/wamp/www" ServerName localhost  AllowOverride All Require local    DocumentRoot "W:/wamp/www/mysite" ServerName mysite.dev ErrorLog "logs/mysite.dev-error.log" CustomLog "logs/mysite.dev-access.log" common  Options Indexes FollowSymLinks AllowOverride All Require local   

Une fois cela fait, vous devez maintenant modifier votre fichier c:\windows\system32\drivers\etc\hosts pour qu’il ressemble à ceci. Vous devez disposer de privilèges d’administrateur pour modifier ce fichier. Certaines suites antivirus protègent également ce fichier. Il est donc possible que vous deviez arrêter cette protection temporairement afin de modifier ce fichier.

 127.0.0.1 localhost 127.0.0.1 mysite.dev ::1 localhost ::1 mysite.dev 

Puis redémarrez dnscache pour prendre en compte ces modifications, à partir d’une ligne de commande également démarrée avec des privilèges d’administrateur.

 net stop dnscache net start dnscache 

Cet article peut vous aider à mieux comprendre les hôtes virtuels