Note : ce tuto est un recueil de tutos remastérisés (j'aime ce mot ;) ), avec un cas pratique pour une meilleure compréhension. Je l'ai réécris parce qu'ayant moi même connu certaines difficultés à implémenter les tutos que j'avais consultés jusque là!
Postulat de départ
OS : windows
Serveur web local - @ip : 192.168.1.2
PC client sur le même réseau - @ip : 192.168.1.10
Sites réels :
www.lfpcameroun.cm
www.emcsarl.com
Sites locaux :
lfpc.lan
emcsarl.lan
SUR LE SERVEUR WEB LOCAL (192.168.1.2)
Télécharger, installer et démarrer WampServer ;
Créer les répertoires suivants :
C:\wamp\www\emcsarl.lan\
C:\wamp\www\ lfpc.lan\
NB : il faut créer dans le dossier racine de wampserver (dans notre cas C:\Wamp\www\) autant de répertoire que de site locaux. Il est impératif que les noms des dossiers des sites locaux soient différents des noms des sites réels ; c’est dans ces répertoires que seront mis les fichiers html et php des sites afférents.
Modifier le fichier %windir%\System32\drivers\etc\Hosts
Pour obtenir la ligne suivante (préconisé)
127.0.0.1 localhost emcsarl.lan lfpc.lan
Ou les lignes suivantes
127.0.0.1 localhost
127.0.0.1 emcsarl.lan
127.0.0.1 lfpc.lan
Les contenus de droites sont les copies exactes des noms des dossiers des sites locaux situés dans C:\Wamp\www.
NB : localhost doit être en premier.
Modifier le fichier http conf d’apache
C:\Wamp\bin\apache\Apache2.x.y\conf\httpd.conf
Décommenter la ligne 467 en enlevant le ‘‘#’’ devant ‘‘include’’ :
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
Modifier pendant que vous y êtes la ligne 192
Remplacer ‘‘Deny from all’’ par ‘‘Allow from all’’
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
</Directory>
Modifier le fichier des vhosts
C:\Wamp\bin\apache\Apache2.x.y\conf\extra\httpd-vhosts.conf
Tout commenter, sauf la ligne :
NameVirtualHost *:80
Puis y ajouter la conf de votre vhost juste à la fin, en prenant soin de créer préalablement le vhost pour localhost . Mon fichier ressemble donc à ceci :
#------- Début du fichier ----
#
# Virtual Hosts
#
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot "C:/Wamp/www/"
ServerName localhost
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "C:/Wamp/www/emcsarl.lan/"
ServerName emcsarl.lan
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "C:/Wamp/www/lfpc.lan/"
ServerName lfpc.lan
ServerAlias www.lfpc.lan
</VirtualHost>
#------- Fin du fichier ----
NB : Servername localhost doit être en premier et l’ordre correspondre à celui du fichier Hosts
- Ne pas oublier d'enregistrer tous les fichiers modifiés
Relancer les services WampServer
Lancer le navigateur, et saisissez l’adresse
emcsarl.lan … et ça marche ! Sehr Gut ;)
On peut aller plus loin dans le paramétrage des vhosts, en créant des Alias, ou des fichiers error.log spécifiques.
Alias : un alias est un nom de domaine supplémentaire pour le même site. Il peut s’agir simplement de prévoir l’ajout du préfixe www. Pour permettre cela, il suffit d’ajouter cette petite ligne à votre vhost pour accéder au site avec le www … comme avec le vhost lfpc.lan plus haut ;)
ServerAlias www.lfpc.lan
Pensez cependant à ajouter cette ligne dans votre fichier des hosts windows.
Error.log : Ce fichier, généré et alimenté par Apache2, vous informe des erreurs rencontrées lorsqu'il sert vos pages, par exemple, un fichier manquant (favicon.ico le plus souvent, mais pas seulement, par exemple une image appelée par un CSS dont le nom n'est pas exact, et ainsi de suite)... Pour générer un error.log spécifique à votre site (et ne pas avoir les erreurs des autres sites en dev), il suffit de créer un fichier texte vide nommé "error.log" que vous placez où vous voulez sur votre disque dur (de préférence dans le dossier de votre site).
Dans notre exemple, je vais créer un dossier logs dans mon dossier lfpc.lan et y placer mon fichier error.log.
Ensuite, j'ajoute la ligne suivante à mon vhost :
ErrorLog "C:/wamp/www/lfpc.lan/logs/error.log"
Et bien sur, après chaque modification, pensez à redémarrer les services ;-)
SUR UN POSTE CLIENT DU LAN (192.168.1.10)
Pour accéder à un site web local hébergé à partir d’une autre machine du même réseau, nous saisissons communément dans notre navigateur :
Adr_ip_srv_web_local/nomdusite (192.168.1.2/lfpc.lan)
Ou
Nom_dns_srv_web_local/nomdusite
L’objectif est de pouvoir ouvrir le site en saisissant uniquement son nom ou son alias. Pour ce faire :
Ajouter cette ligne au fichier hosts de la machine client qui va se connecter au serveur web local
Adr_ip_srv_web_local nomdusitelocal (ou Alias)
Dans notre cas :
192.168.1.2 emcsarl.lan
192.168.1.2 emc.lan
192.168.1.2 lfpc.lan
192.168.1.2 www.lfpc.lan
Ainsi sur le PC client, en saisissant lfpc.lan ou http://lfpc.lan ou www.lfpc.lan ou dans la barre d’adresse du navigateur il s’ouvre … une fois de plus "Sehr gut" !
PROBLEME : LA PAGE NE S'AFFICHE PAS... ?!?
L'objectif étant de l'afficher, le problème est très général et il convient de découper le problème en plusieurs tests :
- Vérifiez tout d'abord que les pare-feu de votre antivirus etde windows acceptent « httpd.exe » qui est l'exécutable de Apache qui se trouve sur votre disque dur à l'emplacement « C:\wamp\bin\apache\Apache2.x.y\bin\ ».
- Vérifiez que Wampserver est bien lancé dans la barre des tâches et Online comme expliqué ci-dessus.
- Vérifiez que vous avez la bonne IP locale pour la machine hôte, elle a pu changer entre temps.
- Vérifiez que vous êtes bien connecté à internet et donc au routeur. Le réseau doit être le même pour les deux machines.
- Vérifier que « Skype » est fermé. Celui-ci utilise souvent le port 80 pour se connecter au service. Attention, ceci est une grosse faille de sécurité de Skype ! Un hacker peut utiliser ce port ouvert pour lancer une attaque contre votre PC. Pensez à décocher la case « Utiliser le port 80 et 443 comme alternative » dans les paramètres avancés !
- Vérifiez par la même occasion vos autres programmes actifs !!!
- Vérifiez qu'Apache écoute bien le port 80.
Il ne sert à rien de « pinger » les machines dans un sens ou dans l'autre. Elles ne sont pas configurées pour répondre au ping.
Il ne sert à rien non plus de mettre le fichier/dossier en partage. Wamserver agissant comme un serveur web, il n’en a pas besoin (et jamais aucun serveur d'hébergement n'a partagé de fichier avec votre machine pour que vous puissiez accéder aux sites installés dessus)
Si après toutes ces vérifications la page ne s'affiche toujours pas, c'est que forcément qu'il y a un problème quelque part. Revérifiez un à un tous les points ci-dessus.
Si la page s'affiche, "Sehr gut" !