• Wampserver 3.0>Configuration du VirtualHost -
  • Publié le :  | Modifié le :

WampServer Configuration du VirtualHost

Aperçu :Après une première installation de wampserver, vous aurez certainement du mal à configurer l'accès à vos sites locaux. Il existe deux méthode, l'une rapide et une deuxième nettement plus complexe, mais qui permet de garder l'intégrité du code PHP et de certaines variables, lors de leur transfert vers vôtre hébergeur web.

I Méthode rapide

Ouvrir "Chemin wamp/www/index.php": Changer (environ lg32)"$suppress_localhost = true;" en "$suppress_localhost = false;"

ATTTENTION: Ce n'est pas viable pour des sites qui utilise des variables serveurs, script CGI, wordpress...

II Comment créer des VirtualHost avec Wampserver

Il y a trois étapes pour créer votre premier VirtualHost Apache, et seulement deux si vous en avez déjà défini un (ou plusieurs).

  1. Créez la définition du VirtualHost
  2. Ajoutez votre nouveau nom de domaine dans le fichier HOSTS.
  3. Valider la ligne dans le fichier httpd.conf qui inclut le fichier de définition des hôtes virtuels.
  4. Configuration pour Microsoft Edge.
  5. Réglage minimaliste pour le WI-FI.

Étape 1 : Créer la définition du VirtualHost.

Éditez le fichier appelé httpd-vhosts.conf qui pour WampServer a pour chemin complet C:\wamp\bin\apache\apache2.4.9\conf\extra\httpd-vhosts.conf

Attention : Si c'est la première fois que vous modifiez le fichier httpd-vhosts.conf, supprimez totalement l'exemple de code par défaut, non seulement il n'est d'aucune utilité, mais, si vous le laissez, il va créer des problèmes. La totalité du code à supprimer correspond à quelque chose comme :

  1. # Virtual Hosts
  2. #
  3. # Required modules: mod_log_config
  4. # If you want to maintain multiple domains/hostnames on your
  5. # machine you can setup VirtualHost containers for them. Most configurations
  6. # use only name-based virtual hosts so the server doesn't need to worry about
  7. # IP addresses. This is indicated by the asterisks in the directives below.
  8. #
  9. # Please see the documentation at
  10. # <URL:[httpd.apache.org];
  11. # for further details before you try to setup virtual hosts.
  12. #
  13. # You may use the command line option '-S' to verify your virtual host
  14. # configuration.
  15. #
  16. # VirtualHost example:
  17. # Almost any Apache directive may go into a VirtualHost container.
  18. # The first VirtualHost section is used for all requests that do not
  19. # match a ServerName or ServerAlias in any <VirtualHost> block.# match a ServerName or ServerAlias in any <VirtualHost> block.
  20. #
  21. <VirtualHost *:80>
  22.   ServerAdmin webmaster@dummy-host.example.com
  23.   DocumentRoot "c:/Apache24/docs/dummy-host.example.com"
  24.   ServerName dummy-host.example.com
  25.   ServerAlias www.dummy-host.example.com
  26.   ErrorLog "logs/dummy-host.example.com-error.log"
  27.   CustomLog "logs/dummy-host.example.com-access.log" common
  28. </VirtualHost>
  29. <VirtualHost *:80>
  30.   ServerAdmin webmaster@dummy-host2.example.com
  31.   DocumentRoot "c:/Apache24/docs/dummy-host2.example.com"
  32.   ServerName dummy-host2.example.com
  33.   ErrorLog "logs/dummy-host2.example.com-error.log"
  34.   CustomLog "logs/dummy-host2.example.com-access.log" common
  35. </VirtualHost>

Très important, il faut d'abord s'assurer que localhost fonctionne toujours - Il n'est pas défini comme VirtualHost par défaut -, donc, si c'est la première définition de VirtualHost nous allons mettre dans ce fichier et en premier :

  1. <VirtualHost *:80>
  2.   ServerName localhost
  3.   ServerAlias localhost
  4.   DocumentRoot C:/wamp/www
  5.   <Directory "C:/wamp/www/">
  6.     Options Indexes FollowSymLinks MultiViews
  7.     AllowOverride all
  8.     Require local
  9.   </Directory>
  10. </VirtualHost>

Maintenant, nous définissons notre projet, et ce bien sûr, nous le faisons pour chacun des projets par un VirtualHost différent.

  1. <VirtualHost *:80>
  2.   DocumentRoot "C:/wamp/www/project1"
  3.   ServerName project1
  4.   ServerAlias www.project1
  5.   <Directory "C:/wamp/www/project1/">
  6.     Options Indexes FollowSymLinks MultiViews
  7.     AllowOverride All
  8.     Require local
  9.   </Directory>
  10. </VirtualHost>

2. Ajoutez votre nouveau nom de domaine dans le fichier HOSTS.

Ajouter votre nouveau nom de domaine dans le fichier HOSTS.
Maintenant, nous devons ajouter le nom de domaine que nous avons utilisé dans la définition de l'hôte virtuel dans le fichier HOSTS de telle sorte que Windows saura où le trouver. C'est similaire à la création d'un enregistrement DNS A, mais il n'est visible dans ce cas que sur ce PC spécifique.

Éditez `C:\windows\system32\drivers\etc\hosts`

Le fichier n'a pas d'extension et doit absolument rester sans extension. Méfiez-vous du bloc-notes (Notepad), car il peut essayer d'ajouter une extension `.txt` si vous n'avez pas de meilleure éditeur. Je vous suggère de télécharger Notepad++, c'est gratuit et un très bon éditeur.
C'est aussi un fichier protégé que vous devez modifier avec des privilèges d'administrateur, il faut donc lancer l'éditeur avec l'option « Exécuter en tant qu'administrateur » Explications Exécuter en tant qu'administrateur.

Ouvrir une fenêtre de commande en tant qu'Administrateur, dans le menu windows.

Après édition et ajout du domaine projet1, le contenu du fichier devrait ressembler à ça :

  1. 127.0.0.1 localhost
  2. 127.0.0.1 project1
  3. ::1 localhost
  4. ::1 project1

Que l'on peut très bien regrouper sur les mêmes lignes, à condition de ne pas mettre plus de huit noms de serveur par ligne :

  1. 127.0.0.1 localhost projet1
  2. ::1 localhost projet1

Remarque:Les noms (Par exemple project1) doivent être exactement les mêmes que les noms des ServerName définis dans les VirtualHost.
Notez que vous devez avoir les définitions pour l'adresse `127.0.0.1` de bouclage IPv4 et aussi l'adresse `::1` de bouclage IPv6.
Apache supporte IPv6 depuis la version 2.2.19 et le navigateur va utiliser IPv4 ou IPv6, ou les deux. Je n'ai aucune idée de comment il décide quel type utiliser, mais il peut utiliser IPv6 et, si l'adresse locale IPv6 n'est pas définie, il peut y avoir des problèmes.

Maintenant, nous devons indiquer à Windows de rafraîchir le cache des noms de domaine (Sinon, il faudra redémarrer).
Ouvrir une fenêtre de commande en tant qu'Administrateur Explications Lancer en tant qu'administrateur et tapez les trois commandes ci-dessous, en attendant la fin de chacune :

Ouvrir une fenêtre de commande en tant qu'Administrateur, dans le menu windows.
  1. ipconfig /flushdns
  2. net stop Dnscache
  3. net start Dnscache
Invite de commande, résultat du code précédent:

Cela oblige Windows à effacer le cache des noms de domaine puis à le recharger. En rechargeant Windows relira le fichier HOSTS et le nouveau domaine `project1` sera connu.

3. Valider la ligne dans le fichier httpd.conf qui inclut le fichier de définition des hôtes virtuels.

Éditez votre fichier httpd.conf, utilisez les menus de wampmanager.exe pour vous assurer que vous modifiez le bon fichier. (Wampmanager->Apache->httpd.conf)

Trouvez ces lignes dans le fichier httpd.conf

  1. # Virtual hosts
  2. #Include conf/extra/httpd-vhosts.conf

Et, pour valider, il faut décommenter, donc retirer le `#` au début de la ligne Include pour obtenir :

  1. # Virtual hosts
  2. Include conf/extra/httpd-vhosts.conf

Pour activer ce changement en exécutant Apache nous devons maintenant arrêter et redémarrer le service Apache.

  1. Wampmanager -> Apache -> Service -> Redémarrer le service

4. Configuration pour accéder à wampserver depuis Microsoft Edge.

Ouvrez une fenêtre de commande admin (clic droit sur le bouton "fenêtre" en bas à gauche puis "Invite de commande (admin)". Dans cette invite coller ceci :

  1. CheckNetIsolation LoopbackExempt -a -n="Microsoft.MicrosoftEdge_8wekyb3d8bbwe"

Vous pouvez lancer Edge et accèder à la page d'accueil de wampserver.

5. Réglage minimaliste pour le WI-FI.

Si vous faites des tests sur tablette où smartphone, il faut retoucher le fichier "C:\wamp\bin\apache\apache2.4.9\conf\extra\httpd-vhosts.conf". :(
Pour localhost et chaque projet faites comme suit:

  1. <VirtualHost *:80>
  2.   DocumentRoot "C:/wamp/www/project1"
  3.   ServerName project1
  4.   ServerAlias www.project1
  5.   <Directory "C:/wamp/www/project1/">
  6.     Options Indexes FollowSymLinks MultiViews
  7.     AllowOverride All
  8.     #Require local # Ajoutez '#' devant la ligne
  9.     Require all granted # Ajoutez cette ligne
  10.   </Directory>
  11. </VirtualHost>

relancer les services dans le menu de wampserver.

Ce n'est pas la meilleur solution puisque vous devrez tapez les adresses sur votre tablette\smartphone. le menu de la page d'accueil de localhost de wampserver ne trouve pas les projets. Donc tapez dans la barre d'adresse "192.168.*.*/nom_du_projet" (pour l'adresse cmd:ipconfig, celle en ipv4).

En conclusion:

Grâce à ce tutorial vos sites seront correctement configurés dans votre serveur local et en cas de transfert vers un hébergeur de site web, vous serez à l'abri de toutes erreurs avec les variables serveur, ainsi que ceux qui utilisent Wordpress et certains problèmes inhérents à sa configuration. Car votre serveur local fonctionne désormais comme celui de votre hébergeur au niveau des urls, et des variables serveur "PHP".

Source :

Le BESOIN DE VIRTUALHOST, sur le forum wampserver.
Envoyé par: Otomatic (Modérateur)
Date: 29 May 2014 à 17:03