Installer et paramétrer WampServer

Rédigé en janvier 2015.

1) Introduction.

Ce didacticiel est consacré à la difficile tâche d'installer et de paramétrer WampServer dans un système d'exploitation Windows. Il ne traitera pas de la configuration d'Apache, de Php, de MySql et encore moins de PhpMyAdmin qui ont déjà été traité dans des didacticiels séparés.

Mais qu'allons-nous aborder dans ce didacticiel ? Tout ce qui concerne les installations des quatre composants Apache, php, MySql et PhpMyAdmin, le paramétrage dans windows, de la Neuf Box de chez SFR, et d'autres petits problèmes qui nous empoisonnent la vie dans l'usage d'un serveur Web !

Avant de commencer l'installation, je vous conseille de lire en totalité ce didacticiel. Il y a beaucoup d'informations à assimiler et il n'est pas facile de bien comprendre l'impacte de telle ou telle modification !

2) Remarques importantes !

Voici un ensemble de points concernant la vigilance que vous devez appliquer dans le cadre de l'installation du serveur Web WampServer. On va considérer que ces remarques sont des acquis et nous ne reviendront pas dessus !

2-A) Répertoire d'installation !

Volontairement, j'omettrai la lettre 'C' ou 'D' débutant le chemin d'accès des répertoires spécifiés dans ce didacticiel. Au lieu de 'C:/Wamp', je mettrai simplement '/Wamp'. Ceci afin de ne pas se fixer une partition windows qui pourrait différer entre mon installation et la votre.

À l'inverse de Windows, dans WampServer, vous n'êtes pas obligé d'écrire vos chemin en utilisant l'anti-slash comme dans 'C:\Wamp'. Je vous conseille vivement de mettre un slash.

2-B) Windows XP !

Depuis l'arrêt de la maintenance du système d'exploitation Windows XP par Microsoft à partir de la date d'Avril 2014, les dernières versions de WampServer ne sont plus compatible avec ce système d'exploitation

La cause provient de la DLL noté "VC11", dont sa désignation est "Microsoft Visual C++ 2012 Redistributable", n'est pas compatible avec Windows XP.

Une autre raison provient des améliorations portées dans WampServer par l'intermédiaire de la commande mklink (création de liens symboliques) qui n'existe pas sous Windows XP et est apparu pour la premier fois sous Windows Vista.

Pour résoudre ce problème, il vous est conseillé de télécharger une ancienne version de WampServer utilisant "VC9".

2-C) Ne pas installer WampServer par dessus une ancienne version existante !

Avant de procéder à une nouvelle installation de WampServer, vous devez désinstaller l'ancienne et non la supprimer.

Pour ce faire, vous devez vous rendre sous le 'Panneau de Configuration' et dans 'Programme et Fonctionnalités' (sous Windows 7), où vous devez procéder à sa désinstallation en cliquant sur 'Wamp'.

À l'issu de cette désinstallation, il reste un contenu dans le répertoire '/Wamp'. Maintenant, vous pouvez procéder à sa suppression définitive. Ainsi la nouvelle installation sera propre et ne viendra pas se télescoper avec l'ancienne.

Si par contre, vous avez déjà une version existente et que vous désirez la conserver, renommer simplement votre ancien répertoire '/Wamp' en '/Wamp2'. Puis ensuite, procédez à sa désinstallation. Le répertoire ne sera pas détruit et vous pourrez réactiver le serveur Web en recréant les services. Dans ce didacticiel, nous aborderons cette question.

2-D) Version 32 bits ou version 64 bits !

Même si vous avez comme moi, un système d'exploitation Windows 7 Pro en version 64 bits, rien ne vous oblige à installer WampServer en version 64 bits.

Le site officiel de WampServer vous recommande d'installer la version 32 bits. La version 64 bits est considéré comme expérimentale et n'offre aucun avantage supplémentaire.

Il se peut qu'installer d'autres composants, comme par exemple des extension pour php, vous ne puissiez pas trouver la version 64 bits puisque celle-ci peut ne pas exister.

En choisissant d'installer une quelconque version, vous devez impérativement installer Apache, Php, MySql et phpMyAdmin dans la même version, sinon vous aurez des problèmes de compatibilités.

2-E) Problème de compatibilité !

Nos deux composants Apache et Php sont compilés avec une bibliothèque Microsoft particulière connue sous le nom de "Microsoft Visual C++ Redistributable".

En téléchargeant un de ces fichiers zip, un VC11 par exemple, apparait dans le nom. Ceci signifie que vous êtes dans la version de ce DLL en date de 2012. Pour identifier l'année il suffit d'ajouter 2001 au nombre qui se trouve derrière 'VC'.

Afin de ne pas avoir de problèmes de compatibilités entre ces deux composants, vous devez impérativement sélectionner la même version. Je précise la même bibiliothèque DLL qui a été utilisé pour la compilation de ces deux composants. Il est interdit de faire un panachage entre Apache et Php ayant une version différente 'Microsoft Visual C++' car cela peut être une cause de plantage.

Je tiens à signaler qu'il existe parfois des compatibilités comme entre VC9, VC10, VC11 et VC12, mais je vous conseille de ne pas procéder ainsi ! En vérité, le problème de la compatibilité se recontre plus dans les anciennes versions de nos deux composants.

2-F) Thread Safe !

Il existe deux versions à télécharger, qui sont désignés par 'TS' pour Thread Safe et 'NTS' pour Non Thread Safe.

Quelle version devons-nous télécharger ? Pour Windows, la 'Thread Safe' bien sûr !

Que signifie au juste Thread Safe ? Un 'Fil Sécurisé' est un code capable de fonctionner en parallèle dans un environnement multiprocessus. Comme la plupart des ordinateurs d'aujourd'hui ont un processeur équipé de plusieurs coeurs, vous pouvez découper un programme en plusieurs tâche (thread) dans le cadre de la programmation dite concurrente. Il est nécessaire d'avoir un système d'exploitation pouvant gérer cela. Il se trouve que Windows le permet.

2-G) Procédure d'installation !

Je tiens à avertir les débutants que la procédure d'installation de WampServer, dans sa version officielle, n'est pas plug and play et nécessite du temps et un gros effort personnel d'investissement.

Vous devez posséder les connaissances nécessaire de votre système d'exploitation Windows (ce qui n'est pas le cas de tous les débutants), ainsi que la patience de lire la documentation qui vous sera fourni.

2-H) Un éditeur de texte !

Vous devez posséder un éditeur de texte sachant interpréter les fins de lignes de type Windows. C'est pourquoi, si vous ne le possédez pas encore, je vous conseille d'installer NotePad++.

À l'issu de cette installation, vous vous rendez sous l'onglet "Paramétrage", puis sous "Préférence" et enfin sous "Nouveau document".

Pour le format des sauts de ligne, vous cliquez sur le bouton radio "Windows", pour le langage par défaut, vous sélectionnez "Normal texte", et pour l'encodage, vous devez vous mettre en "Ansi".

2-I) Le choix d'un bon navigateur WEB !

J'ai une préférence pour Google Chrome car je considère qu'il est le plus abouti des navigateurs WEB mis à notre disposition. En seconde position de mes préférences, je mets Mozilla Firefox.

Ne pas oublier que vous devez paramétrer votre navigateur dans le fichier 'wampmanager.conf' afin d'accéder à vos sites lorsque vous cliquez dans l'icône WampServer.

2-J) Effectuer la sauvegarde de vos bases de données !

La seule et bonne façon de procéder à un changement de version de MySql, est d'utiliser PhpMyAdmin, en effectuant un "Export" pour chacune de vos bases de données. Vous obtiendrez un fichier de type 'text', dont le nom sera suffixé par '.sql'.

Je tiens à préciser que ce sont vos bases de données, et non celle du SGBD MySql, comme les bases de données 'mysql', 'information_schema', 'performance_schema' et 'phpmyadmin'. Si vous avez utilisé 'test', vous devez aussi la sauvegarder !

Pourquoi procéder ainsi ? En changeant la version de votre SGBD MySql, vous pouvez rencontrer des problèmes de compatibilités avec l'ancienne version. Les utilitaires 'import' et 'export' de PhpMyAdmin sont justement destinés à résoudre ce problème d'incompatiblité, dans l'usage de la sauvegarde backup ou aux transferts des bases de données vers un site de production. Alors utilisez les !

Surtout ne venez pas substituer, comme cela se fait fréquemment, votre nouveau répertoire '/data' présent dans 'Wamp/bin/mysql/mysqlXX.YY.ZZ' par l'ancien répertoire contenant toutes vos bases de données. Vous serez sûrement confronter à des problèmes de compatilités avec votre SGBD MySql.

2-K) Vous devez être administrateur !

WampServer ne peut pas s'installer correctement si vous n'êtes pas administrateur sous windows. Lorsque vous vous trouvez sur le fichier d'installation, vous devez le lancer en cliquant avec le bouton de droite et en sélectionnant "Exécuter en tant qu'administrateur".

2-L) Désactivez votre anti-virus !

Votre anti-virus (Kaspersky, Norton ...) peut provoquer quelques problèmes lors de l'installation et il est conseillé de le désactiver durant l'installation de WampServer.

À l'issu de l'installation de WampServer, vous pouvez réactiver votre anti-virus. Vérifiez tout de même que les accès à 'Wampmanager.exe', 'httpd.exe', 'php.exe' et 'mysql.exe' ne soient pas bloqués.

3) Où trouver la dernière version officielle de WampServer ?

La réponse se trouve sur la plateforme du site officiel de WampServer !

Il y a juste un petit problème, c'est que vous n'avez pas toujours la dernière version d'Apache, ni celle de Php, ni celle de MySql et encore moins celle de PhpMyAdmin.

Si vous installez pour la première fois la version officielle de WampServer, vous pouvez allez directement au paragraphe 4).

3-A) Ma version revue et corrigée !

Vous pouvez installer ma version WampServer en vous rendant sur la page des téléchargements.

3-B) Où trouver la dernière version d'Apache ?

La dernière version est disponible sur le site officiel d'Apache ou sur le site d'Apache Lounge pour windows que j'utilise fréquemment.

Après avoir dézippé le fichier, vous devez l'installer dans le répertoire '/Wamp/bin/Apache/ApacheXX.YY.ZZ' ou XX.YY.ZZ est le numéro de la version Apache.

3-C) Ou trouver la dernière version de Php ?

La dernière version est disponible sur le site officiel de php. On installe la version TS (Thread Safe).

Après avoir dézippé le fichier, vous devez l'installer dans le répertoire '/Wamp/bin/php/phpXX.YY.ZZ' ou XX.YY.ZZ est le numéro de la version php.

3-D) Où trouver la dernière version de MySql ?

La dernière version est disponible sur le site officiel de MySql pour windows. On sélectionne la version "MySQL Community Server" pour Windows.

Après avoir dézippé le fichier, vous devez l'installer dans le répertoire '/Wamp/bin/mysql/mysqlXX.YY.ZZ' ou XX.YY.ZZ est le numéro de la version Mysql.

3-E) Où trouver la dernière version de PhpMyAdmin ?

La derière version est disponible sur le site officiel de PhpMyAdmin.

Après avoir dézippé le fichier, vous devez l'installer dans le répertoire '/Wamp/apps/phpmyadminXX.YY.ZZ' ou XX.YY.ZZ est le numéro de la version PhpMyAdmin.

3-F) Que faire lors d'un premier démarrage dans la version officielle ?

Comme vous n'avez aucun existant, vous devez configurer votre WampServer selon les problèmes que vous allez rencontrer. Les principaux problèmes sont :

flecheLe problème du port 80 a été traité dans le paragraphe 13).

flecheMicrosoft Visual C++ Redistributable qui est traité dans le paragraphe 5).

flecheLe fichier 'Hosts' qui est traité dans le paragraphe 8).

flecheLa configuration du fichier 'Httpd.conf' est traité dans ce didacticiel.

flecheLa configuration du fichier 'Php.ini' est traité dans ce didacticiel.

flecheLa configuration du fichier 'My.ini' est traité dans ce didacticiel.

flecheLa configuration du fichier 'Config.inc.php' est traité dans ce didacticiel.

3-G) Que faire si vous avez déjà un existant dans la version officielle ?

Vous devez recopier les anciens fichiers de configuration dans les bons répertoires :

flecheHttpd.conf dans le répertoire '/Wamp/Apache/ApacheXX.YY.ZZ/conf'.

flecheHttpd-vhosts.conf dans le répertoire '/Wamp/Apache/ApacheXX.YY.ZZ/conf/extra'.

flechePhp.ini dans le répertoire '/Wamp/Apache/ApacheXX.YY.ZZ/bin'

flecheMy.ini dans le répertoire '/Wamp/mysql/mysqlXX.YY.ZZ/'.

flecheConfig.inc.php dans le répertoire '/Wamp/apps/phpmyadminXX.YY.ZZ'.

Vous devez aussi recopier les anciens fichiers 'wampserver.conf' dans les bons répertoires.

Nota bene : XX.YY.ZZ c'est le numéro de la version respectivement d'Apache, de Php, de PhpMyAdmin et de MySql.

3-H) Que faire si vous êtes dans ma version ?

Et bien pas grand chose ! Après chaque installation d'une nouvelle version, vous devez :

flechemodifier le fichier 'Wamp.php' qui se trouve dans le répertoire '/Wamp/scripts'.

flechefaire un refresh, en cliquant avec le bouton de droite sur l'icône WampServer.

flecheet enfin cliquez sur la nouvelle version, toujours dans l'icône WampServer.

Vous devez reconnaitre qu'il n'y a rien de comparable avec la version officielle.

3-I) Conclusion de l'installation !

Vous devez respecter la casse (mettre en minuscule) du nom du répertoire, sans mettre de tiret ou quoi que ce soit d'autre et de remplacer le 'XX.YY.ZZ' par le numéro de la version que vous venez de récupérer.

En admettant que vous êtes toujours dans le même segment de la version précédante (par exemple Apache 2.4.10 appartient au segment 2.4), vous n'avez aucun paramétrage à faire, puisque le paramétrage de la version précédente est encore valide.

Dans un autre segment, vous avez quelques améliorations à faire dans vos fichiers de configurations (surtout dans Httpd.conf et dans Php.ini).

Nous détaillerons ultérieurement, les différents aspects que l'on peut rencontrer lors du paramétrage de WampServer.

Dans le paragraphe suivant, je vais vous détailler la procédure d'une première installation de WampServer.

4) Comment installer WampServer ?

Vous venez d'installer, par exemple, la version "wampserver2.5-Apache-2.4.9-Mysql-5.6.17-php5.5.12-64b.exe" qui est disponible sur la plateforme officielle de WampServer en date de Janvier 2015.

Ceci est un utilitaire d'installation connu sous le nom de Inno Setup 5, qui va procéder à la création des répertoires nécessaire à l'installation de WampServer, et à un paramétrage basique que nous allons voir ci-après.

Si vous installez ma version, la procédure est presque identique. Si cela vous intéresse, je vous conseille de lire le didacticiel consacré à Inno Setup.

Après avoir cliquez sur le fichier zip, nous obtenons la fenêtre suivante :


Installation page 1

Rien de spécial à dire. On clique sur le bouton 'Exécuter' pour poursuivre l'installation.


Installation page 2

Nous retrouvons la liste de toutes les composants qui seront installés, ainsi que le numéro de la version correspondante. Nous cliquons sur "Next".


Installation page 3

Vous acceptez la licence !


Installation page 4

Vous pouvez modifier le répertoire d'installation si celui-ci ne vous convient pas. Si vous possédez un disque SSD, je vous conseille vivement d'installer WampServer ailleurs, afin de ne pas provoquer une usure prématurée de celui-ci, par l'usage de vos développements et de vos tests.


Installation page 5

Vous cochez les deux boutons radios.


Installation page 6

L'installation vous demande de confirmer le répertoire choisi. Confirmez votre choix en cliquant sur le bouton "Install".


Installation page 7

Une barre de défilement vous indique la progression du téléchargement.


Installation page 8

On vous demande de sélectionner un éditeur de text. Comme j'utilise "NotePad++" pour mes développements alors je le sélectionne aussi pour WampServer.


Installation page 9

Vous devez autoriser l'accès au service Apache sous windows.


Installation page 10

Vous devez précisez deux paramètres concernant la gestion de l'envoi des mails sous WampServer :

flecheSMTP, vous mettez l'adresse sortante du serveur de courrier SMTP de votre FAI.

flecheEmail, vous mettez votre adresse personnel que vous utilisez de votre Fai.

Si vous ne savez pas quoi mettre, et bien laissez en l'état. Cela ne vous sert à rien pour l'instant !


Installation page 11

L'installation est terminé !

Dans la barre des tâches, vous avez une nouvelle icône avec un 'W' dessiné à l'intérieur. Elle peut être de trois couleurs différentes Icones WampServer à l'identique du feu du code de la route. Il s'agit de WampServer. Vous pouvez cliquer dessus, et vous obtenez le menu suivant :


Installation page 12

Vous constatez que le texte est en anglais. Avec votre souris, cliquez sur l'icône avec le bouton de droite, et sélectionnez "Language".

Dans la liste, recherchez "French" pour le français, et cliquez dessus. Normalement, vous basculez dans la langue sélectionnée.

Tout WampServer est maintenant disponible mais pas encore prêt à l'usage que vous désirez faire. Nous devons, dans ce qui va suivre, procéder au paramétrage de WampServer dans l'environnement Windows !

5) Microsoft Visual C++ Redistributable !

C'est la première erreur (message ci-après) que vous rencontrez après l'installation de WampServer. Suite à cette première tentative de démarrage, l'icône passe à l'orange pour spécifier qu'il y a un problème.

Impossible de démarrer le programme car il manque MSVCR110.DLL sur votre ordinateur. Essayez de réinstaller le programme pour corriger ce problème.
			

En clair, il vous manque sur votre ordinateur une biliothèque DLL (Dynamic Link Library) de 'Microsoft'. Oui, mais c'est l'arbre qui cache la forêt car ce n'est pas la seule DLL a être absente.

Si vous faites une tentative de démarrage de 'localhost', vous obtenez une page blanche, avec le message 'Page Web inaccessible', qui dans ce contexte est tout à fait normal.

Ces bibliothèques ont été utilisés lors de la compilation de Aestan Tray Menu, d'Apache, de Php, de MySql et de PhpMyAdmin avec 'Visual Studio' et vous ne pouvez pas vous en passer.

Aestran Tray Menu (l'icône de WampServer) a besoin de la bibliothèque 'Microsoft Visual C++ 2008 SP1 Redistributable Package'. Ce package 'Redistribuable Microsoft Visual C++ 2008 Service Pack 1 (KB2538243)' doit normalement être déjà présent sur votre ordinateur.

Apache, Php, MySql et PhpMyAdmin, selon la version que vous avez installé, ont besoin d'autres bibliothèques afin de fonctionner correctement. Si c'est la dernière version, vous avez besoin de 'Microsoft Visual C++ 2012 Redistibutable' (en date de la rédaction de ce didacticiel).

Si vous avez sélectionné la version 32 bits de WampServer, vous avez besoin de charger uniquement les DLL de la version X86. Si vous avez sélectionné la version 64 bits de WampServer, vous avez besoin de charger les DLL de la version X86, ainsi que ceux de la version X64 !

Comme cela fait longtemps que j'utilse WampServer, j'ai installé toutes les versions que j'ai pu trouvé. Je ne les utilise pas uniquement pour WampServer, car j'ai aussi un environnement de developpement en 'C' et en 'C++' qui nécessite aussi ces DLL.

Dans le tableau ci-après, je vous indique toutes les versions qui sont installé chez moi. À vous de sélectionner ceux dont vous avez besoin !

NomTaillePackageVersion
Microsoft Visual C++ 2005 2,37 Mo X86 8.0.50727.42
Microsoft Visual C++ 2005 3,84 Mo X64 8.0.50727.42
Microsoft Visual C++ 2005 420 Ko Sp1 - X86 8.0.56336
Microsoft Visual C++ 2005 700 Ko Sp1 - X64 8.0.56336
Microsoft Visual C++ 2005 348 Ko Sp1 ATL - X86 8.0.59193
Microsoft Visual C++ 2005 620 Ko Sp1 ATL - X64 8.0.59192
Microsoft Visual C++ 2005 298 Ko Sp1 MFC - X86 8.0.61001
Microsoft Visual C++ 2005 572 Ko Sp1 MFC - X64 8.0.61000
NomTaillePackageVersion
Microsoft Visual C++ 2008 1,25 Mo X86 9.0.21022
Microsoft Visual C++ 2008 1,43 Mo X64 9.0.21022
Microsoft Visual C++ 2008 604 Ko Sp1 - X86 9.0.30729
Microsoft Visual C++ 2008 790 Ko Sp1 - X64 9.0.30729
Microsoft Visual C++ 2008 596 Ko Sp1 ATL - X86 9.0.30729.4148
Microsoft Visual C++ 2008 788 Ko Sp1 ATL - X64 9.0.30729.4148
Microsoft Visual C++ 2008 600 Ko Sp1 MFC - X86 9.0.30729.6161
Microsoft Visual C++ 2008 788 Ko Sp1 MFC - X64 9.0.30729.6161
NomTaillePackageVersion
Microsoft Visual C++ 2010 9,76 Mo X86 9.0.30319
Microsoft Visual C++ 2010 13,6 Mo X64 9.0.30319
Microsoft Visual C++ 2010 9,85 Mo Sp1 - X86 9.0.40219
Microsoft Visual C++ 2010 13,8 Mo Sp1 - X64 9.0.40219
NomTaillePackageVersion
Microsoft Visual C++ 2015 RC 13,1 Mo X86 14.0.23506.0
Microsoft Visual C++ 2015 RC 13,9 Mo X64 14.0.23506.0
Microsoft Visual C++ 2015 Update 3 13,8 Mo X86 14.0.24212.0
Microsoft Visual C++ 2015 Update 3 14,6 Mo X64 14.0.24212.0

Pour télécharger la version dont vous avez besoin, cliquez sur le lien dans la colonne Version. Après avoir installé ces DLL, je vous conseille de lancer 'Windows Update' afin de faire les mises à jour qui pourraient manquer sur votre ordinateur.

6) Externaliser les répertoires de vos sites !

Bien que le répertoire '/Wamp/www' soit destiné à recevoir vos développements Web, il n'est pas nécessaire d'y placer tous vos sites en cours de développements. Vous n'êtes pas chez un hébergeur et vous pouvez paramétrer votre WampServer comme bon vous semble.

Dans ma version, j'ai créé dans WampServer deux répertoires, de noms '/Wamp/Site-00' et '/Wamp/Site-01'. Le premier est un site poubelle qui vous dirige vers lui si vous avez mal défini un accés, et l'autre est un exemple de site que vous pouvez compléter à votre guise.

Rien ne vous empêche de déplacer le répertoire '/Wamp/Site-01' où bon vous semble. Ce répertoire est la racine de votre site dont il est associé à ce nom de domaine 'http://mon-site-un'. Ce nom de domaine est accessible dans l'icône de WampServer que vous pouvez modifier à partir du fichier 'wamp.tpl' dans le répertoire '/Wamp/sphere/rouge'.

Si vous avez un deuxième site, vous pouvez créer un répertoire '/Wamp/Site-02' (ou ailleurs) qui sera le répertoire racine de votre nom de domaine 'http://mon-site-deux', et ainsi de suite.

Cela ne coute rien et c'est plus propre de travailler ainsi. Donc externalisez vos sites en dehors du répertoire '/wamp/www/ de WampServer.

Imaginez un seul instant que vous désirez désinstaller WampServer et que par inadvertance, vous faites une suppression du répertoire '/Wamp'. Et bien vous avez tout perdu ! C'est pourquoi après l'installation, je vous conseille vivement de les déplacer ailleurs.

Dans le paragraphe suivant, consacré au 'VirtualHost', regardez les exemples des sites externalisés. Le répertoire '/wamp/www/' sera réservé exclusivement pour le site 'localhost'.

7) Déclarer vos noms de sites à l'aide de VirtualHost !

Il est vivement conseillé de déclarer vos sites en utilsant la directive 'VirtualHost' d'Apache.

Vous devez mettre ces déclaratives dans le fichier 'httpd-vhosts.conf' qui se trouve dans le répertoire 'F:\Wamp\bin\Apache\Apache2.4.10\conf\extra'.

Ne pas oublier de supprimer le commentaire (ce qui est en rouge ci-après) dans le fichier 'httpd.conf' concernant l'accès à ce fichier.

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

Voici des exemples de déclaratives concernant les sites 'localhost', 'phpmyadmin', du site local 'mon-site-un' et du site visible depuis internet 'mon-site-trois'.

# ------------------- #
#     mon-site-un     #
# ------------------- #

<VirtualHost 127.0.0.1:80>
	ServerName mon-site-un
	ServerAdmin artemus@jcz.fr
	DocumentRoot "f:/Site-01/"
#
	ErrorLog  "f:/Site-01/Logs/error.log"
	CustomLog "f:/Site-01/Logs/custom.log" common
#
	<Directory />
		Options -Indexes +FollowSymLinks +MultiViews
		AllowOverride all
		<RequireAny>
			Require local
		</RequireAny>
	</Directory>
</VirtualHost>

# ----------------- #
#     Localhost     #
# ----------------- #

<VirtualHost 127.0.0.51:80>
	ServerName localhost
	ServerAdmin artemus@jcz.fr
	DocumentRoot "f:/Wamp/www/"
#
	ErrorLog  "f:/Wamp/www/Logs/error.log"
	CustomLog "f:/Wamp/www/Logs/custom.log" common
#
	<Directory />
		Options -Indexes +FollowSymLinks +MultiViews
		AllowOverride none
		<RequireAny>
			Require local
		</RequireAny>
	</Directory>
</VirtualHost>

# ------------------ #
#     PhpMyAdmin     #
# ------------------ #

<VirtualHost 127.0.0.52:80>
	ServerName phpmyadmin
	ServerAdmin artemus@jcz.fr
	DocumentRoot "${Version_PhpMyAdmin}/"
#
	ErrorLog  "f:/Wamp/Logs/phpmyadmin_error.log"
	CustomLog "f:/Wamp/Logs/phpmyadmin_custom.log" common
#
	<Directory />
		Options -Indexes +FollowSymLinks +MultiViews
		AllowOverride none
		<RequireAny>
			Require local
		</RequireAny>
	</Directory>
</VirtualHost>

# ---------------------- #
#     mon-site-trois     #
# ---------------------- #

<VirtualHost 192.168.1.33:80>
	ServerName mon-site-trois
	ServerAdmin artemus@jcz.fr
	DocumentRoot "f:/Site-03/"
#
	ErrorLog  "f:/Site-03/Logs/error.log"
	CustomLog "f:/Site-03/Logs/custom.log" common
	LogLevel warn rewrite:trace3
#
	<Directory />
		Options -Indexes +FollowSymLinks +MultiViews
		AllowOverride all
		<RequireAny>
			Require local
			Require ip 192.168.1.33
		</RequireAny>
	</Directory>
</VirtualHost>
			

Ne confondez pas les adesses IP d'identification de vos sites qui sont mis dans la directive 'VirtualHost' (ce qui est en rouge), et que vous devez déclarer dans le fichier 'hosts' (voir le paragraphe suivant), avec les adresses IP d'autorisation (ceux mis dans la partie 'RequireAny').

Les adresses IP d'autorisations sont ceux identifiant les ordinateurs qui accèdent à vos sites. Mettre 'Require local' pour toutes les adresses 'loopback', c'est-à-dire les adresses locales commençant par '127.', c'est-à-dire sur l'ordinateur où est hébergé WampServer. Si vous avez besoin de déclarer une adresse particulière, vous devez le faire en mettant 'require ip 192.168.1.33' par exemple.

Pour de plus amples explications, je vous conseille de lire mon didacticiel consacré au paramétrage d'Apache.

Lisez la documention d'Apache sur la directive VirtualHost. Voici quelques explications :

flecheServerName : c'est le nom de votre site (obligatoire).

flecheserverAdmin : c'est l'adresse email pour vous joindre en cas de problème (facultatif en mode local).

flecheDocumentRoot : c'est le nom du répertoire racine où se trouve votre site (obligatoire).

flecheErrorLog : c'est le fichier compte-rendu des erreurs d'Apache (obligatoire). Ne pas oublier de créer le fichier 'text' à vide.

flecheCustomLog : c'est un fichier complémentaire des erreurs d'Apache (obligatoire). Ne pas oublier de créer le fichier 'text' à vide.

flecheOptions : déclarative pour démarrer sans problème (obligatoire). Lisez la documentation d'Apache sur la directive Options.

flecheAllowOverride : c'est pour accéder au fichier '.htaccess'. lisez la documentation d'Apache sur la directive AllowOverride.

le serveur Apache est à l'écoute du port '80'. Après l'adresse IP, il faut mettre un ':80'. Si vous voulez généraliser l'écoute, vous pouvez mettre ':*'.

8) Paramétrage du fichier 'Hosts' !

Pour que vos sites puissent fonctionner normalement, vous devez faire l'association entre le nom de votre site, par exemple 'http://mon-site-un' et l'adresse IP en local, par exemple '127.0.0.1' que vous allez utiliser sur votre ordinateur.

Cette association est gérer sur internet par les noms de domaines plus connu sous le terme de DNS (Domain Name System), mais sur votre ordinateur, dans votre réseau local (LAN), ceci est géré par le fichier 'Hosts' qui se trouve dans le répertoire 'C:\Windows\System32\drivers\etc'. C'est le même fichier qui gère aussi bien la version 32 bits que la version 64 bits de Windows ou de votre WampServer.

Comme vous avez déclaré un VirtualHost (voir ce qui est en rouge dans le paragraphe précédent) pour votre nom de site, vous devez indiquer la même adresse IP que celle que vous avez utilisé. Voici ce que l'on doit normalement y trouver dans votre fichier 'hosts' :

#
# vos sites locaux
#

127.0.0.1     mon-site-un
127.0.0.2     mon-site-deux

#
# vos accès locaux
#

127.0.0.51    localhost
127.0.0.52    phpmyadmin
127.0.0.53    test

#
# vos sites accessibles depuis internet
#

192.168.1.33  mon-site-trois
192.168.1.33  mon-site-quatre
			

8-A) Modification du fichier 'Hosts'.

Pour modifier le fichier 'Hosts' vous devez être administrateur dans votre session Windows. Si ce n'est pas le cas, changez de session (de compte windows).

Vous devez vérifier que vous êtes le propriétaire du fichier 'Hosts', ou posséder le 'control total' avant de faire quoi que ce soit. Pour ce faire, vous cliquez avec le bouton droite de la souris sur 'Hosts', puis sur Propriétés, Sécurité, Avancé, Propriétaire. Si vous n'êtes pas le propriétaire actuel : modifier et choisir le propriétaire voulu puis Appliquer et OK deux fois. Une fois le changement de propriétaire appliqué, il faut quitter (c'est impératif) la fenêtre des propriétés pour que ce soit mis à jour.

Revenir sur les propriétés du fichier 'hosts', 'Onglet Sécurité', sélectionner le nouveau propriétaire et vérifier que 'Control total' s'applique, sinon Modifier pour choisir le nouveau propriétaire et valider 'Control total'.

C'est seulement à partir de là que vous pourrez modifier les autorisations sur le fichier et enlever la lecture seule.

De plus, sous Windows 64 bits, si vous utilisez un éditeur de texte ou un logiciel en 32 bit, pour ouvrir le fichier hosts, il se peut que vous soyez confronté à un dialogue d'ouverture de fichier qui fera que dans le répertoire 'windows/system32/drivers' vous ne verrez pas de dossiers '/etc', donc pas de fichiers 'Hosts'.

Cela est dû au fait qu'avec un logiciel 32 bit sous Windows 64 bit, lorsque vous choisissez le dossier 'system32' vous êtes redirigé de manière transparente sur le dossier 'SysWOW64' tout en voyant 'system32'. Pour choisir le "bon" dossier 'system32', il faut taper (ou choisir si visible) 'sysnative' au lieu de 'sytem32'.

Je n'ai jamais rencontré ce problème et pourtant, j'ai bien une version Windows 7 pro 64 bits.

8-B) Vos sites locaux !

Ce sont tous les sites qui sont accessible depuis votre ordinateur en mode local. D'ailleurs l'adresse IP commençant par '127.' est ce que l'on nomme un 'loopback', c'est-à-dire une boucle arrière, ne fonctionnant que sur votre ordinateur où se trouve votre serveur Web WampServer.

Afin de conserver une numérotation logique, j'ai préféré nommer mes sites locaux et de les mettre en concordance avec l'adresse IP associé. D'où 'un' pour '1', 'deux' pour '2' et ainsi de suite.

C'est une règle toute personnelle mais qui a le mérite de ne pas trop me poser des questions. Je considère que 'localhost' et 'phpmyadmin' ne sont pas des sites locaux mais des utilitaires.

8-C) Vos accès locaux !

Je mets ici, tout ce qui nécessite une sécurité particulière, désigné sous l'adressage 'loopback'.

Je déclare tous les 'host', désigné par 'client' dans le SGBD MySql et associé à une base de données portant le même nom. Ainsi j'aurai les permissions pour lire, écrire, modifier et supprimer les lignes dans les tables de la base de données 'test' au travers de mes script 'php'. De même, dans le SGBD MySQL, je nomme le compte du même nom que le 'host' utilisé.

Le host 'localhost' est le client qui est associé au compte 'root', ainsi qu'au site local qui se trouve dans le répertoire '/wamp/www'. Il a toutes les permissions pour modifier toutes les bases de données dans le SGBD MySql'.

Le host 'PhpMyAdmin' est le client qui est associé à la base de données 'PhpMyAdmin' dans le SGBD MySql', ainsi qu'au site local de même nom, qui se trouve dans le répertoire '/wamp/apps'.

Dans la version officielle, à l'installation de WampServer, le fichier Hosts est renseigné comme ci-après :

127.0.0.1  localhost
::1        localhost
			

Assurez-vous que vous ayez ce genre de paramétrage. le '::1', équivalent au '127.0.0.1' concerne un adressage 'loopback' pour Ipv6.

8-D) Vos sites accessibles depuis internet !

Je mets ici tous les sites qui sont visibles depuis internet. La déclarative nécessite de mettre la même adresse IP qui doit être déclaré dans la neufbox de chez SFR. Si vous avez une autre box, la déclarative est similaire.

Dans l'exemple donné ci-dessus, j'ai mis des noms de sites qui sont distincts de ceux utilisés en local. Mais rien ne vous empêche de mettre les mêmes. La distinction devra se faire dans le fichier 'httpd.conf'.

9) Paramètrage du pare-feu de Windows !

Cette partie est peu abordée et pourtant, elle ne doit pas être négligée. Pour se rendre dans le pare-feu (sous windows 7), vous devez cliquer sur 'Panneau de Configuration' puis ensuite sur 'Pare-feu Windows'.

Dans la partie de gauche, vous cliquez sur 'Paramètres Avancés' et enfin sur 'Règles de Trafic Entrant'.

9-A) Règles d'accès concernant Apache !

Vous recherchez 'Apache HTTP server'. Normalement, vous devez avoir deux lignes, l'un pour 'TCP' et l'autre pour 'UDP'. Le programme déclaré est, par exemple, 'F:\Wamp\bin\Apache\Apache2.4.10\bin\httpd.exe'. Pour terminer, assurez-vous pour le 'profil' d'avoir coché 'Privé'. Rien ne vous empêche de mettre aussi 'Domaine'.

Comme j'utilise trois versions différentes d'Apache dans mon WampServer, je dois voir trois fois les deux lignes 'UDP' et 'TCP', respectivement 'Apache2.2.29', 'Apache2.4.9' et 'Apache2.4.10'. De préférence, pour les distinguer, j'ai changé le nom de la règle. J'ai introduit le numéro de la version d'où 'Apache 2.4.10 HTTPD server'.

À cause d'un oubli dans la déclaration des règles du pare-feu Windows, lorsque je voulais basculé vers une autre version Apache, je continuais d'utiliser toujours la même. Vous devez avoir une règle pour chaque version d'Apache que vous utilsez !

Comme Apache est un service de nom 'wampApache', je pensais que MySql, qui est aussi un service de nom 'wampmysqld', devait avoir une règle entrante dans le pare-feu windows. Je pense que cela n'est pas nécessaire car Apache est un serveur et tout passe par lui.

9-B) Ouvrir les ports 80, 443 et 3306 !

Vous devez vérifier que votre pare-feu ne bloque pas les ports 80 (protocole TCP / HTTP), 443 (protocole TCP / HTTPS) et 3306 (TCP / MySql Server).

10) Modification de la variable d'environnement 'PATH' !

Je n'ai trouvé aucune référence dans la documentation officielle de php concernant le paramétrage de la variable d'environnement 'PATH' et je ne comprends pas cet oubli. Il est plus que nécessaire de préciser à Windows et de surcroit à WampServer où se trouve les éxecutables binaires.

Il y a deux cas où justement elle est plus qu'utile pour ne pas avoir des problèmes qui sont indiqués comme des bugs.

10-A) Exécution d'un script php !

Php est un langage comme tous les autres, surtout si vous l'utilisez au travers d'un script CLI (Command Line Interface), vous devez impérativement préciser le chemin d'accès aux exécutables binaires de php.

Pour ce faire, vous avez le choix entre plusieurs solution dans votre script batch.

Une solution consiste à préciser le chemin d'accès à l'exécutable et au script php. Exemple : exécuter le script 'prepare.php' :

f:\wamp\bin\php\php5.6.3\bin\php.exe -f"f:\wamp\scripts\prepare.php"
			

Vous pouvez aussi vous positionner dans le répertoire où se trouve l'exécutable, par exemple 'httpd.exe' :

cd f:\Wamp\bin\php\php.6.3\bin

php.exe -f"f:\wamp\scripts\prepare.php"
			

Ou encore, vous précisez le chemin d'accès dans votre script batch, de cette façon :

PATH=f:\Wamp\bin\php\php5.6.3\bin;%PATH%
			

Mais là encore, cela manque de souplesse. Il faut remarquer deux choses :

flechesi vous changez de version php, vous devez modifier partout les chemins d'accès à php.

flecheà chaque exécutable, vous devez préciser le chemin d'accès.

C'est lourd à faire, et sujet à des erreurs. La solution que je propose consiste d'une part à renommer systématiquement le répertoire php que vous utilisez en '/courant' et à placer le chemin d'accès dans la variable d'environnement 'PATH'.

10-B) Accéder aux extensions déclarées dans 'php.ini' !

Les extensions sont normalement des DLL (Dynamic Link Library). Windows Spécifie que vous devez placer les DLL soit dans le répertoire 'C:\Windows\system32\' pour une version 32 bits ou dans 'C:\windows\sysWOW64\' pour une version 64 bits.

Nous n'allons pas mélanger des DLL du système d'exploitation Windows 7, avec ceux de WampServer, ce qui ne serait pas très propre. Pour résoudre ce problème, nous devons modifier la variable d'environnement 'PATH'.

Ainsi le problème concernant l'appel de l'extension 'php_exif.dll' qui doit être placé après l'extension 'php_mbstring.dll' comme il est spécifié dans la documention officielle de Php sur l'installation des extensions, n'est plus nécessaire.

10-C) Que mettre dans la variable d'environnement 'PATH' ?

Pour modifier ce 'PATH', vous devez cliquer sur 'Panneau de Configuration', puis ensuite sur 'Paramètres Systeme Avancés' et enfin sur 'Variables d'Environnement...'. Vous sélectionnez la variable 'PATH' dans la partie 'variables systèmes' et vous cliquez sur le bouton 'Modifier...'.

Si vous êtes dans la version officielle de WampServer et que vous utilisez toujours la même version php, ajoutez les chemins suivants :

flecheF:\Wamp\bin\php\php5.6.3\ext

flecheF:\Wamp\bin\php\php5.6.3

Le premier chemin concerne le répertoire des extensions de php. Le second chemin concerne les exécutables de php dont celui de nom 'php.exe'.

Le séparateur des différents chemins dans la variable d'environnement 'PATH' est le point-virgule ';'. Comme vous êtes dans Windows le séparateurs des répertoires est l'anti-slash '\'.

Si vous êtes dans ma version WampServer, j'ai remplacé le nom du répertoire '\php5.6.3' par '\courant'. Ainsi en changeant de version, le nom du répertoire courant sera toujours le même. Vous devez mettre les chemin suivants :

flecheF:\Wamp\bin\php\courant\ext;

flecheF:\Wamp\bin\php\courant;

11) Gestion des services !

WampServer, pour fonctionner correctement, en tant que serveur Web de développement, utilise deux services de nom 'wampApache' pour Apache et 'wampmysqld' pour MySql. À un instant donné, j'utilise qu'une seule version d'Apache, de Php, de MySql et de PhpMyAdmin. D'ailleurs pourquoi aurais-je besoin de faire cohabiter plusieurs instances de ces services en même temps ?

11-A) Cohabitation de plusieurs services !

Si j'aborde cette question, c'est quelle s'est déjà posée en tant que sujet dans le forum WampServer, et je n'en vois aucune utilité car dans le cadre d'un développement, vous travaillez sur un seul site à la fois.

Si par contre, vos développements nécessitent une autre version d'Apache, de Php, de MySql ou de PhpMyAdmin, WampServer vous permet de faire ce basculement sans difficulté.

Il existe un cas où vous vous servez à la fois de WampServer pour vos développements en local et pour héberger vos sites au travers d'Internet. Si ce sont les mêmes sites, vous n'avez pas besoin de plusieurs instances de ces services.

Dans le cas contraire, je vous conseille alors de chercher un hébergeur gratuit, comme Alwaysdata, afin de dissocier votre production (hébergement) et vos développements (locaux) en cours. Cela vous posera moins de problèmes de maintenance.

Vous devez savoir que chaque service doit posséder un nom unique. Mettez par exemple 'wampapache64' si ce service Apache fonctionne avec la version 64 bits d'Apache, tandis que pour l'autre instance qui est en 32 bits, vous laissez le nom 'wampapache'. De même, Vous faites la manipulation avec 'wampmysqld' !

Si cela vous intéresse de faire cohabiter plusieurs services, je vous conseille d'installer la version officielle WampServer 32 bits ainsi que la version officielle WampServer 64 bits, qui ont des noms de services différents.

Dans ma version WampServer, je n'ai pas changé le nom des services WampApache et WampMySqld car j'utilise qu'une instance pour chaque service à un instant donné.

Comme les manipulations sont longues à faire, je n'aborderai pas cette question dans ce didacticiel. Mais si cela vous intéresse, rien ne vous empêche de poser la question dans le forum WampServer, pour modifier les noms des services.

11-B) Suppression des services !

Pour effectuer cette démarche, vous avez deux possibilités :

flechesuppression en passant par l'icône WampServer.

Rendez-vous sous l'onglet 'Apache' (respectivement 'MySql'), puis sous 'Service' et enfin 'Supprimer le Service'. A l'issu de ces deux suppressions, l'icône doit passer à Rouge.

Il se peut que dans l'icône WampServer, les services soient toujours présents. Nous traiterons ce blocage dans le paragraphe 'débloquer vos services.

flechesuppression par l'invite de commande windows.

Dans le bureau, vous cliquez sur le bouton "démarrer", puis sur 'exécuter'. Vous tapez 'cmd' et vous entrez la ligne de commande suivante :

sc delete wampApache
			

Faites aussi la suppression du service 'wampmysqld'. À l'issu de cette manipulation, les services ont été détruits. Mais il se peut que les services soient encore présents.

Pour vérifiez que vous n'êtes pas bloqué, tapez la commande suivante :

sc qc wampApache
			

Vous obtenez le résultat suivant :

[SC] QueryServiceConfig réussite(s)

SERVICE_NAME: wampapache
TYPE               : 10  WIN32_OWN_PROCESS
START_TYPE         : 4   DISABLED
ERROR_CONTROL      : 1   NORMAL
BINARY_PATH_NAME   : "f:\Wamp\bin\apache\apache2.4.10\bin\httpd.exe" -k runservice
LOAD_ORDER_GROUP   :
TAG                : 0
DISPLAY_NAME       : wampapache
DEPENDENCIES       : Tcpip
                           : Afd
SERVICE_START_NAME : LocalSystem
			

Le service est désactivé (DISABLED), mais les ressources sont encore utilisés par le processus 'httpd.exe' qui est spécifié dans le chemin. Normalement, vous auriez dû obtenir :

[SC] OpenService échec(s) 1060 :

Le service spécifié n’existe pas en tant que service installé.
			

C'est le blocage dont je vous parlais ci-dessus.

11-C) Débloquer les services !

Comme nous venons de le voir, vous avez un de vos services, voire les deux, bloqués et vous ne pouvez pas ni redémarrer l'icône WampServer (icône à rouge) , ni les réinstaller

Pour ce faire, vous devez commencer par fermer l'icône WampServer. Il se peut que cela soit suffisant pour vous débloquer. Les ressources étaient monopolisées par l'icône WampServer alors que vous avez fait la suppression des services.

Pour accéder à vos processus, vous cliquez sur 'CTRL+ALT+SUPR' pour vous rendre dans le gestionnaire des tâches de Windows. Vous cliquez sur l'onglet 'processus', et vous recherchez les processus suivants afin de les supprimer.

flechehttpd.exe, il y en a deux.

flechemysqld.exe.

Pour supprimer le processus, vous cliquez avec le bouton droite de la souris sur la ligne où apparait 'httpd.exe' et vous cliquez sur 'arrêter le processus'.

En supprimant le premier 'httpd.exe', le second disparait automatiquement, quelques instants après. Supprimez aussi le processus 'mysqld.exe'.

Les processus 'httpd.exe' et 'mysqld.exe' ont disparu et il n'y a plus de blocage. Vous pouvez vérifiez en intérrogeant les services comme je vous l'ai indiqué au paragraphe précédant.

11-D) Redémarrer les services !

Vous redémarrez l'icône WampServer. Deux cas peuvent arriver :

flecheSoit les services redémarrent automatiquement.

Vérifiez au travers de 'phpinfo()' que vous avez en ligne les bonnes versions d'Apache et de MySql.

flecheSoit les services ne redémarrent pas et vous devez intervenir manuellement.

Vous cliquez sur l'onglet 'Apache' (respectivement MySql), puis sur 'Service'. Vous sélectionner d'abord :

puceArrêter le service (normalement il n'est pas activé).

À chaque arrêt, l'icône WampServer change de couleur. Quand l'icône est rouge, vous sélectionnez :

puceSupprimer le service.

À faire pour nos deux services. Puis ensuite :

puceInstaller le service.

Et pour terminer :

puceDémarrer le service.

L'icône WampServer va d'abord passer à l'orange (démarrage service 'Wampmysqld') et au vert (démarrage service 'WampApache').

Faites le test d'accès à 'localhost' ainsi qu'à 'phpmyadmin'.

12) Consulter l'observateur des évènements de Windows !

Quand l'icône WampServer n'est pas verte, un des services n'a pas pu démarrer normalement. Identifiez le service qui est en cause en cliquant sur 'Apache' ou 'MySql' puis 'Service'. Dans 99% des cas, c'est Apache qui est en cause ! Inutile de consulter le fichier 'Apache Error.Log', vous ne trouverez rien ! Car pour obtenir un compte-rendu, Apache doit fonctionne correctement.

Alors comment faire ? Venez consulter l'observateur des évènements de Windows. Vous vous rendez dans le 'Panneau de Configuration', ensuite sur 'Outils d'Administration' et enfin sur 'observateur d'évènements'. Cliquez sur 'Affichages Personnalisés' et 'Evènements d'Administration'.

Voici quelques évènements que l'on peut rencontrer. La liste ci-après n'est pas exhaustive.

Le service wampApache s’est arrêté avec l’erreur service particulière Fonction incorrecte..
			

Source : Service Control Manager. Evènement : 7024. Le service WampApache n'a pas pu démarrer.

C'est un message d'anomalie très général. Il faut chercher d'autres messages pour avoir plus d'explications.

The Apache service named  reported the following error:
>>> AH00526: Syntax error on line 16 of F:/Wamp/bin/Apache/Apache2.4.10/conf/httpd.conf:     .
			

Source : Apache Service. Evènement : 3299. Une erreur de syntaxe dans le fichier 'httpd.conf'.

The Apache service named  reported the following error:
>>> httpd.exe: Syntax error on line 282 of F:/Wamp/bin/Apache/Apache2.4.10/conf/httpd.conf: Cannot load
f:/Wamp/bin/php/courant/php5Apache2_4.dll into server: The Apache service named n'est pas une application Win32 valide.     .
			

Source: Apache Service. Evènement : 3299. Problème de compatibilité entre Apache 64 bits et php 32 bits.

The Apache service named  reported the following error:
>>> AH00014: Configuration check failed     .
			

Source : Apache Service. Evènement : 3299. Un problème de configuration dans 'httpd.conf', un répertoire inexistant, un chemin non valide ...

Le messager d'anomalie n'est pas toujours très explicite et ne vous renseigne pas sur la nature exacte du problème que vous rencontrez.

13) Problème avec le port 80 !

Il se trouve que le port 80 est utilisé par une autre application et vous ne pouvez pas lancer WampServer. Pour vérifiez que c'est bien le cas, vous pouvez cliquer dans l'icône WampServer sur 'tester le port 80'. Le message n'est pas suffisamment explicite, vous n'êtes pas un geek et vous ne savez pas quelle est l'application qui est en cause. Lancez le batch suivant dans une invite de commande :

@echo off

chcp 1252 > nul

@echo Port 80 utilsé par :
@echo --------------------
@echo.

netstat -anop TCP | find ":80 "

@echo.

for /f "tokens=5 delims= " %%i in ('netstat -anop TCP ^| findstr /i /c:":80 "') do tasklist /FI "PID eq %%i"
 /FO TABLE /NH

@echo.
pause
exit
			

Les applications qui peuvent vous bloquer sont 'Skype' ou 'Internet Information Services' (IIS). Si c'est skype, fermez le !

Si c'est IIS, vous devez le désinstaller de windows. Pour ce faire, rendez-vous dans le 'Panneau de Configuration', puis dans 'Programmes et Fonctionnalités', et vous cliquez sur 'Activer ou Désactiver des Fonctionnalités Windows'. Décochez 'Services Internet (IIS)'. Windows vous demandera alors de relancer le système, ce que vous faites.

Ce fichier se trouve dans le répertoire '/Divers' sous le nom 'Port80.bat'. Vous pouvez aussi télécharger le fichier zip du test du port 80.

14) Problème concernant la syntaxe de votre fichier 'httpd.conf' !

Vous venez de modifier le fichier 'httpd.conf', vous relancez WampServer, et l'icône ne passe pas au vert. Il y a de forte chance que vous ayez commis quelques erreurs ! Pour résoudre ce problème, lancez le script batch suivant dans une invite de commande :

@echo off

chcp 1252 > nul

cls

@echo Test Apache
@echo -----------
@echo.

PATH=f:\Wamp\bin\Apache\Apache2.4.10\bin;%PATH%

httpd.exe -t

@echo.
pause
exit
			

N'oubliez pas de changer le chemin d'accès aux exécutables d'Apache.

Si vous avez 'Syntax Ok', c'est que le problème ne vient pas de votre fichier 'httpd.conf'. Dans le cas contraire, corrigez vos erreurs.

Ce fichier se trouve dans le répertoire '/Divers' sous le nom 'Apache.bat'. Vous pouvez télécharger le fichier zip du test Apache.

15) Test d'accès à Localhost !

Vous avez déclaré 'localhost' en tant que site principal dans le fichier '/ApacheXX.YY.ZZ/conf/httpd.conf'.

Vous avez aussi déclaré un virtualHost dans le fichier '/ApacheXX.YY.ZZ/conf/extra/httpd-vhosts.conf'.

L'icône de WampServer est verte, et vous tapez dans votre navigateur 'http://localhost' mais vous n'arrivez pas à accéder à la page Web.

15-A) Vous avez une page blanche !

Vous devez vérifier que vous avez bien déclarer une référence dans votre fichier 'Hosts', comme je vous l'ai indiqué au paragraphe 6).

127.0.0.51 localhost
			

ou bien ceci, si vous êtes dans la version officielle.

127.0.0.1 localhost
			

15-B) Vous n'avez pas les permissions d'accès !

Si vous rencontrez le message suivant lors d'un accès à 'localhost' :

Forbidden You don't have permission to access /phpmyadmin/ on this server.
			

c'est que vous avez oublié d'autoriser l'accès à votre ordinateur. Vérifiez que vous avez bien mis cette ligne :

Require local
			

16) Test d'accès à PhpMyAdmin !

Vous devez savoir qu'il y a deux façons pour accéder au 'phpmyadmin'. Soit par le VirtualHost, soit par l'alias.

16-A) Le virtualHost !

En tapant dans votre navigateur 'http://phpmyadmin', vous accédez par le VirtualHost que vous avez déclaré dans le fichier '/ApacheXX.YY.ZZ/conf/extra/httpd-vhosts.conf'.

Vous devez vérifier que vous avez bien déclaré une référence dans votre fichier 'Hosts', comme je vous l'ai indiqué au paragraphe 6).

127.0.0.52 phpmyadmin
			

16-B) L'Alias !

En tapant dans votre navigateur 'http://localhost/phpmyadmin, vous accédez par l'alias que vous avez déclaré dans le fichier '/apps/phpmyadmin.conf'.

Cet accès n'est pas typique du site 'localhost' et peut se faire aussi par 'http://mon-site-un/phpmyadmin'.

Aucune déclarative n'est à mettre dans le fichier 'hosts'.

16-C) Vous n'avez pas les permissions d'accès !

Si vous rencontrez le message suivant lors d'un accès à 'phpmyadmin' :

Forbidden You don't have permission to access /phpmyadmin/ on this server.
			

c'est que vous avez oublié d'autoriser l'accès à votre ordinateur, soit dans le virtualHost, soit dans l'alias. Vérifiez que vous avez bien mis cette ligne :

Require local
			

16-D) Accès interdit !

Si vous rencontrez le message suivant lors d'un accès à 'phpmyadmin' :

#1045 - Access denied for user 'root'@'localhost' (using password: NO) "
			

soit sur un premier accès, soit après avoir changé votre mot de passe dans l'onglet 'utilisateurs' de phpmyadmin, je vous conseille de relire le didacticiel consacré à phpmyadmin.

17) Aestan Tray Menu !

Il s'agit de l'utilitaire qui gère l'icone WampServer dans la zone des notifications de votre barre des tâches. Vous pouvez rencontrer des problèmes, comme la fenêtre popup qui affiche, par exemple :

Aestran Tray Menu

Could not execute menu item (internal error)
[Exception] Could not perform service action:
Le service n'a pas été démarré.
			

Ce message est très général et stipule qu'un service, très souvent Apache, n'a pas pu démarrer normalement. Il s'agit la plupart de temps d'un problème de compatibilité entre Apache et Php.

Soit l'un s'exécute en 32 bits et l'autre en 64 bits, ou bien l'un est en VC11 et l'autre en VC6. À vous de verifier que vous n'avez pas fait n'importe quoi.

Je vous conseille aussi de vérifiez que vous avez bien installé vos bibliothèques 'Microsoft Virtual C++ Redistributable' (voir le paragraphe 5).

18) Le nouveau répertoire '/Menu'.

Il n'y a rien de particulier dans ce répertoire, puisque j'ai déplacé les éléments suivants qui se trouvaient précédemment dans le répertoire '/Wamp' afin de les isoler.

flechebarimage.bmp.

flecheimages_off.bmp.

flecheimages_on.

flechewampmanager.conf.

flechewampmanager.exe.

flechewampmanager.ini.

18-A) Le fichier 'barimage.bmp' !

Ce fichier, qui contient des images au format '32 X 37', est utilisé pour afficher des icônes dans WampServer.

18-B) Les fichiers 'images_off.bmp' & 'images_on.bmp' !

Ces fichiers contiennent des images au format '16 X 16', utilisé par 'Aestan Tray Menu' pour illustrer les icônes dans le menu.

18-C) Le fichier 'wampmanager.conf' !

Ce fichier est créé à l'installation par 'Inno Setup'. Normalement, il est destiné, lors d'un redémarrage de WampServer, à se souvenir des versions que vous utilisiez auparavant. J'ai supprimé tout ce qui ne servait à rien, afin de ne conserver que le strcite nécessaire. Voici ce que l'on trouve :

[main]
display = "no"
navigator = "C:/Program Files (x86)/Google/Chrome/Application/chrome.exe"
notepad = "C:/Program Files (x86)/Notepad++/notepad++.exe"

[wamp]
wampVersion = "WampServer 2.5"

[language]
defaultLanguage = "english"
language = "french"

[sphere]
sphereVersion = "rouge"

[Apache]
ApacheVersion = "2.4.9"

[mysql]
mysqlVersion = "5.6.22"

[php]
phpVersion = "5.6.3"

[phpmyadmin]
phpmyadminVersion = "4.3.3"
			

Le paramètre 'display' sert à afficher toutes les versions qui ont été déclarées dans le fichier 'Wamp.php'. Ils apparaissent bien dans les version de l'icône de WampServer mais ne sont pas actifs. Le paramétrage par défaut est 'no'.

J'ai aussi introduit le paramètre 'notepad'. Comme j'utilise 'notepad++', je l'ai indiqué. Le paramètre par défaut est 'C:\Windows\notepad.exe'.

Le paramètre 'navigator' doit pointer su votre navigateur par défaut. Ici, j'ai mis 'Google Chrome'.

La nouveauté est le paramètre 'sphere' qui concerve la couleur sélectionnée pour l'onglet 'domaine' de l'icône WampServer. Voir le paragraphe consacré à 'Sphere'.

18-D) L'exécutable 'wampmanager.exe' !

Cet utilitaire lance 'Aestan Tray Menu' dans la barre de notification sous le nom de 'WampServer'. Le paramétrage se trouve dans le fichier 'wampmanager.ini'.

18-E) Le fichier 'wampmanager.ini' !

Lorsque vous faites un 'refresh' dans l'icône WampServer, le fichier 'wampmanager.ini' est modifié, enfin je devrais plutôt dire écrasé.

C'est le nouveau script 'prepare.php' qui se trouve dans le répertoire '/Wamp/scripts' qui met en forme ce fichier afin de gérer les différentes versions de nos quatre composants.

Il indique aussi ce qui est sélectionné (voir les modules d'Apache, les configurations de Php et les extension de Php dans l'icône).

Normalement, vous ne devez jamais intervenir dans ce fichier, sinon vous aurez une erreur avec 'Aestan Tray Menu'. Je vous conseille de faire un 'Refresh' afin de le reconstruire.

19) Les fichiers 'Wampserver.conf' !

Ces fichiers sont issues de la version d'origine de WampServer et sont devenues problématiques. Ils servent à gérer le basculement d'une version à une autre. En tant normal, vous ne devez pas intervenir dans ces fichiers.

Dans ma version, ces fichiers non plus lieu d'être car le basculement est géré différemment de la version officielle.

19-A) La version officielle !

Commençons par donner le contenu de ces fichier 'WampServer.conf'. Voici ce que l'on trouve dans le répertoire Apache :

<?php

$ApacheConf['ApacheExeDir'] = 'bin';
$ApacheConf['ApacheConfDir'] = 'conf';
$ApacheConf['ApacheExeFile'] = 'httpd.exe';
$ApacheConf['ApacheConfFile'] = 'httpd.conf';
$ApacheConf['ApacheServiceInstallParams'] = '-n wampApache -k install';
$ApacheConf['ApacheServiceRemoveParams'] = '-n wampApache -k uninstall';

?>
			

Ce sont des références au service 'WampApache'. Voici ce que l'on trouve dans le répertoire php :

<?php

$phpConf['phpIniDir'] = '.';
$phpConf['phpExeDir'] = '.';
$phpConf['phpConfFile'] = 'php.ini';

$phpConf['Apache']['2.2']['LoadModuleName'] = 'php5_module';
$phpConf['Apache']['2.2']['LoadModuleFile'] = 'php5Apache2_2.dll';
$phpConf['Apache']['2.2']['AddModule'] =  '';

$phpConf['Apache']['2.4']['LoadModuleName'] = 'php5_module';
$phpConf['Apache']['2.4']['LoadModuleFile'] = 'php5Apache2_4.dll';
$phpConf['Apache']['2.4']['AddModule'] =  '';

?>
			

Ce sont des références au module exécutable php. Voici ce que l'on trouve dans le répertoire mysql :

<?php

$mysqlConf['mysqlConfDir'] = '.';
$mysqlConf['mysqlConfFile'] = 'my.ini';
$mysqlConf['mysqlExeDir'] = 'bin';
$mysqlConf['mysqlExeFile'] = 'mysqld.exe';
$mysqlConf['mysqlServiceInstallParams'] = '--install-manual wampmysqld';
$mysqlConf['mysqlServiceRemoveParams'] = '--remove wampmysqld';
$mysqlConf['libMysqlFile'] = 'bin/libmySQL.dll';

?>
			

Ce sont des références au service 'wampmysqld'.

On constate qu'il y a deux types de références :

flecheceux concernant le paramétrage (ce qui est en rouge).

flecheceux concernant la configuration.

Je ne voie pas trop l'intérêt de procéder ainsi, surtout que cela concerne le rafraichissement de l'icône de WampServer. Ces 'wampserver.conf' sont associés à un fichier de nom 'wampserver.lib.php' qui se trouve dans le répertoire '/wamp/scripts'.

Je tenais à le signaler afin d'expliquer dans le paragraphe suivant (le 18-B), les amélioration qui ont été apportées dans ma version.

19-B) Ma version WampServer !

J'ai définitivement supprimé ces 'wampserver.conf' afin de les introduire dans les améliorations que j'ai apporté :

flecheau script 'refresh.php' que j'ai renommé en 'prepare.php',

flecheau script 'config.inc.php' qui a été rebaptisé 'parameters.php', afin de ne pas le confondre avec celui de 'phpMyAdmin' portant le même nom.

D'abord, il n'y a plus, dans le répertoire '/Wamp/bin/Apache/ApacheXX.YY.ZZ', les recopies des dll et des exécutables de 'php' comme cela se faisait précédemment. Ce problème a été résolu en introduisant dans la variable d'environnement 'PATH' les deux chemins que nous avons détaillé dans le paragraphe 10).

J'ai introduit dans le fichier 'httpd.conf' un paramétrage qui n'existait pas auparavant dans la version windows et pourtant fort utile. Voici ce paramétrage :

phpIniDir "f:/Wamp/bin/php/courant"
			

Mon WampServer est installé sur la partition 'F:/' de mon disque dur. La version Php qui est activée, est renommée en courant. De ce fait, je n'ai pas continuellement à changer les noms des différentes versions lorsque je bascule vers l'un d'eux.

La grande amélioration que j'ai apporté dans WampServer, est la création d'un environnement que je nomme 'sphere'. Il s'agit de faire cohabiter des versions non compatible, ce qui n'existait pas dans la version officielle.

Nous verrons dans les paragraphes 19) et 20), les améliorations que j'ai apporté par la gestion d'un nouveau fichier 'Wamp.php'.

20) Le nouveau fichier 'Wamp.php' !

Le fichier 'Wamp.php' est un fichier qui se trouve dans le répertoire '/scripts' et est à la charge de l'utilisateur pour définir son environnement. Voici ce qui est présent chez moi, au moment où j'écris ce didacticiel :

<?php

/*----------------*/
/* Sphere 'rouge' */
/*----------------*/

$sphereConf['rouge']['Apache']          = '2.4.10';
$sphereConf['rouge']['php']             = '5.6.3';
$sphereConf['rouge']['mysql']           = '5.6.22';
$sphereConf['rouge']['phpmyadmin']      = '4.3.3';

$sphereAuth['rouge']['Apache2.4.10']	= "ok";
$sphereAuth['rouge']['Apache2.4.9']	= "ok";

$sphereAuth['rouge']['php5.6.3']        = 'ok';
$sphereAuth['rouge']['php5.5.19']       = 'ok';

$sphereAuth['rouge']['mysql5.6.22']     = 'ok';
$sphereAuth['rouge']['mysql5.6.21']     = 'ok';

$sphereAuth['rouge']['phpmyadmin4.3.3'] = 'ok';
$sphereAuth['rouge']['phpmyadmin4.3.2'] = 'ok';

/*----------------*/
/* Sphere 'vert' */
/*----------------*/

$sphereConf['vert']['Apache']           = '2.2.29';
$sphereConf['vert']['php']              = '5.3.29';
$sphereConf['vert']['mysql']            = '5.5.24';
$sphereConf['vert']['phpmyadmin']       = '3.5.1';

$sphereAuth['vert']['Apache2.2.29']     = 'ok';
$sphereAuth['vert']['php5.3.29']        = 'ok';
$sphereAuth['vert']['mysql5.5.24']      = 'ok';
$sphereAuth['vert']['phpmyadmin3.5.1']  = 'ok';

?>
			

Il y a deux environnements désignés par deux couleurs différentes, le rouge et le vert. Vous pouvez mettre 'jaune', 'marron', 'rouge', vert', 'gris', 'rose' et celui par défaut le 'bleu'.

Dans une sphère, on configure d'abord les versions que l'on désire obtenir au démarrage de WampServer ('$sphereConf'). Ce sont ces informations qui vont se retrouver dans le fichier 'wampmanager.conf'.

Et on indique aussi ceux ver lesquels on peut basculer ('$sphereAuth').

Dans la sphère 'verte', j'ai indiqué les version qui sont en 32 bits et en VC9.

Dans la sphère 'rouge', j'ai indiqué les versions qui sont en 64 bits et en VC11. De plus, je fais cohabiter 'php5.6.3' avec 'php5.5.19' qui sont, bien sûr, compatible.

En plus d'Apache, de Php et de MySql, j'ai introduit différentes version de 'PhpMyAmin'.

En fait, dans la sphère 'rouge', je gère la dernière et l'avant dernière version de ces quatre composants.

Petite précision qui a toute son importance, pour autoriser une version, il suffit de mettre 'ok'. Rien ne vous empêche de placer une ligne, juste pour la référence, mais dont vous ne désirez pas obtenir le choix. Il suffit alors de mettre 'ko'.

$sphereAuth['rouge']['php5.6.3']        = 'ok';
$sphereAuth['rouge']['php5.5.19']       = 'ko';
			

Dans cette exemple, 'php5.5.19' ne sera plus proposé dans les versions accessibles de php dans l'icône de WampServer.

21) Le nouveau répertoire '/Sphere' !

J'ai externalisé dans ce répertoire, tout ce qui concerne la configuration de nos quatre composants : Apache, Php, MySQl et PhpMyAdmin.

On place d'abord dans ce répertoire un ou plusieurs sous-répertoire(s) portant des noms de couleurs. Cette astuce permet lors du basculement de modifier la couleur du menu dans l'icône de WampServer afin d'identifier facilement la sphère que vous utilisez.

Cette couleur va apparaitre dans l'onglet 'Domaine' de l'icône WampServer. Ne mettez rien d'autre que des couleurs que j'ai cité ci-dessus, sinon le nom apparaitra dans la sélection. La couleur est définie dans le fichier 'prapare.php' qui se trouve dans le répertoire 'Wamp/scripts'. Rien ne vous empêche de modifier ces couleurs en ajoutant d'autres.

Voici la liste des fichiers qui sont en relation avec WampServer. Il faut impérativement respecter ces noms.


Pour Apache, nous trouverons trois fichiers :

flechehttpd.conf est obligatoire.

flecheparam.conf est un fichier de paramétrage obligatoire.

flechehttpd-vhosts.conf est facultatif, car on peut placer ces VirtualHost dans le fichier 'httpd.conf.


Pour Php, nous avons :

flechephp.ini est obligatoire.


Pour PhpMyAdmin, nous avons :

flecheconfig.inc.php est obligatoire.

les deux derniers fichiers sont destinés au répertoire '/wamp/alias'.


Pour MySql, nous avons :

flechemy.ini est obligatoire.


Le répertoire de nom 'ALIAS' :

flechephpmyadmin.conf est facultatif

flechephpsysinfo.ini est facultatif

Pourquoi ai-je ces deux fichiers de configuration en facultatif ? Parce que ceux-ci peuvent être créés à l'aide du virtualHost. Si vous avez d'autres fichiers de configurations 'alias', c'est bien ici que vous devez les mettre.

Ce répertoire 'alias' sera mis en tant que lien symbolique vers son emplacement normal dans wampserver. À chaque basculement vers telle ou telle sphère, le lien symbolique pointera vers le bon répertoire 'alias' de la sphère sélectionnée.


Dans le répertoire de couleur, j'ai créé un répertoire de nom 'archives' où je place les sauvegardes de mes modifications. Ce répertoire sera totalement ignoré.

L'avantage du répertoire '/sphere' est de regrouper tous les fichiers de configurations au même endroit.

Je ne détaille pas ici, le contenu de ces fichiers de configurations. Voir les didacticiels consacrés à ces fichiers : Apache, php, phpmyadmin et MySql.

22) Le nouveau répertoire '/Divers'.

Il est fréquemment demandé sur le forum wampServer une manipulation particulière, comme par exemple, vérifier la syntaxe d'Apache. Nous introduirons des batchs qui s'exécuterons dans l'invite de commande de windows. Pour l'intant, nous avons les fichiers suivnts :

flecheParam.cmd, qui contient les numéros des versions de nos quatre composants.

flecheApache.bat, qui permet de vérifier la syntaxe d'Apache.

flecheLiens.bat, qui permet de recréer les liens symboliques.

flechePort80.bat, qui permet de tester le port 80.

Vous pouvez utiliser ce répertoire pour ajouter vos batchs personnels.

23) Configurer la Neuf Box de chez SFR !

Normalement, WampServer est destiné à faire du développement en local, mais certains membres désirent mettre en ligne leur site afin de les rendre accessible sur le net.

Si c'est pour un usage personnel, pourquoi pas, mais il faut savoir que la bande passante de nos réseaux chez SFR est faible et ne supporte pas une grande influence. Le mieux est de mettre vos sites chez un hébergeur comme Alwaysdata que je vous conseille vivement.

Que devons-nous paramétrer dans la Neuf Box de chez SFR ?

23-A) Déclarer une adresse statique pour le serveur DHCP !

En gros, vous devez mettre une adresse fixe pour identifier votre ordinateur, là où se trouve votre WampServer. Cela se trouve à l'adresse 'http://192.168.1.1/network/dhcp' de la box de chez SFR.

J'indique comme exemple, l'adresse IP fixe 192.168.1.33. Vous pouvez mettre autre chose, selon votre convenance.

Adresse IPAdresse MAC
192.168.1.3300:21:??:??:??:??

J'ai volontairement masqué mon adresse MAC.

23-B) Déclarer la translation des ports !

Cela se trouve à l'adresse 'http://192.168.1.1/network/nat'. Vous devez rediriger le trafic vers l'un de vos équipements qui est connecté à votre box. Dans notre cas, il s'agit de l'ordinateur où se trouve installé WampServer.

Précedemment, nous avons fixé l'adresse IP de notre ordinateur. Nous devons déclarer le protocole HTTP (port 80) et HTTPS (port 443) afin de les rediriger vers WampServer.

#NomProtocoleTypePort ExterneAdresse IP de destinationPort de Destination
1HTTPDTCPPort80192.168.1.3380
2HTTPDSTCPPort443192.168.1.33443

On retouve bien l'adresse IP 192.168.1.33 comme adresse IP de destination dans votre réseau local.

Le port de destination est celui que vous utilisez dans WampServer.

Il ne faut pas oublier de configurer votre pare-feu pour laisser passer le trafic sur les ports 80 et 443.

23-C) Modifier votre fichier 'Hosts' !

J'avais déjà abordé cette question dans le paragraphe 8-C) et c'est ici que prend tout le sens de cette déclarative.

Vous avez créé une adresse IP fixe 192.168.1.33. Vous avez redirigé le trafic pour les protocoles HTTPD et HTTPDS vers votre ordinateur qui héberge WampServer.

Et bien, vous devez déclarer dans le fichier 'Hosts' cette adresse IP en l'associant à vos sites qui seront accessible depuis internet.

#
# vos sites accessibles depuis internet
#

192.168.1.33  mon-site-trois
192.168.1.33  mon-site-quatre
			

Attention, l'ordre a de l'importance car si dans votre navigateur préféré vous tapez 'http://192.168.1.33', normalement, il va vous donner le premier site qui est déclaré dans le fichier 'hosts', à savoir 'mon-site-trois'.

23-D) Autoriser vos sites !

Pour chaque déclarative VirtualHost qui sera accessible depuis internet, vous devez rajouter ceci :

<RequireAny>
	Require ip 192.168.1.33
</RequireAny>
			

Comme vous le constatez, l'adresse IP est l'adresse de destination de votre trafic en provenance d'internet.

24) Conclusion !

Nous voilà arrivé à la fin de ce fastidieux didacticiel consacré à l'installation de WampServer.

Ne me tenez pas rigueur si j'ai oublié d'aborder un chapître important. Il se peut que cela soit trop long à aborder ici et qu'il vaut mieux en débattre sur le forum wampserver.

Dans le cas contraire, vous pouvez me joindre afin que j'ajoute cet oublie.