WAMP

Installation et configuration d’un serveur WAMP

by darkounet on 29/12/2009

WAMP

Pour les malchanceux étant arrivés sur cette page par hasard WAMP est l'acronyme de Windows Apache MySQL PHP. Windows étant le système d'exploitation (XP ou Vista), Apache le serveur web, MySQL le système de gestion de base de données, et PHP le langage permettant de générer des pages web dynamiques.

S'il est bien sûr possible d'installer séparément chacun de ces programmes, les paramétrages à effectuer pour les faire fonctionner individuellement ou ensemble peuvent s'avérer complexes. D'où l'idée de les fournir dans un "package" se chargeant d'installer et d'effectuer une configuration par défaut fonctionnelle.

Choix du serveur WAMP

Le choix du package est un élément important. En effet s'ils sont nombreux (voir ce comparatif), le nombre de solutions proposant des mises à jour fréquentes est beaucoup plus restreint. Choisir un package peu fréquemment mis à jour expose donc votre serveur à toutes les vulnérabilités (d'Apache, de MySQL, ou de PHP) non corrigées depuis sa sortie. N'oubliez pas que votre serveur sera visible sur internet et fera inévitablement l'objet de scans et de tentatives de hack de la part des nombreux "script kiddies" de la toile.
Le choix s'est pour ma part porté sur Wampserver, à la fois très simple à installer et à administrer.

Installation

L'installation est on ne peut plus simple…
Par défaut l'installateur propose C:\wamp\ comme répertoire d'installation de tous les programmes (Apache, mySQL,…). Vous pouvez librement choisir d'installer WAMP ailleurs mais afin d'éviter des soucis ultérieurs il est préférable de ne pas utiliser des noms de répertoire contenant des espaces, l'usage des '...' deviendrait alors indispensables dans les fichiers de configuration et le moindre oubli mènerait alors à des erreurs…
Il suffit ensuite de cliquer sur "Suivant" pour passer toutes les étapes.

Seule la fenêtre "PHP Mail" vous demandera d'entrer (éventuellement) des informations. Si vous avez déjà installé votre propre serveur mail indiquez alors son adresse (localhost s'il est sur la même machine que le serveur WAMP). Vous pouvez aussi indiquer l'adresse du serveur de votre FAI (smtp.free.fr ou smtp.orange.fr par exemple). Vous pouvez enfin laisser par défaut ce qui est inscrit, ces éléments pouvant être modifiés par la suite.

C'est tout…

Wampserver est installé et fonctionnel. Vous devriez avoir l'icône de Wamp en bas dans la barre des tâches. Faites un clic droit dessus, puis choisissez le menu des langues pour mettre Wampserver en français (anglais par défaut). Enfin pour vérifier que tout est correct faites un clic gauche sur l'icône de Wampserver et choisissez "localhost" dans le menu. En principe le navigateur par défaut s'ouvrira sur la page d'information de votre serveur WAMP. Vous pourrez alors passer à la suite…

Rectifier une erreur de l'installateur

Wampserver peut facilement être administré (mise hors ligne/en ligne, modification des paramétrages, etc.) depuis son icône dans la barre des tâches. On peut notamment y voir les différentes versions installées d'Apache, de PHP, ou de mySQL. Mais avec la version actuelle de Wampserver (2.0f au moment de l'écriture de ces lignes) une erreur dans l'installation fait que la version d'Apache n'apparaît pas.
Vérifiez que le fichier "wampserver.conf" soit bien présent dans le répertoire C:\wamp\bin\apache\apache2.2.11 (adaptez le chemin en conséquence si vous avez installé Wampserver ailleurs que dans le répertoire proposé par défaut). Si ce n'est pas le cas, créez le en mode texte et ajoutez les lignes suivantes :

<?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';
?>

Après avoir sauvegardé le fichier, redémarrez les différents services (cliquez sur l'icône de Wampserver dans la barre des tâches et choisissez "Redémarrer les services").

Sécuriser l'accès au serveur mySQL

Seconde modification à effectuer, indispensable, mettre un mot de passe pour le compte root de mySQL. root est le compte "superutilisateur", c'est à dire qu'il a tous les droits (effacer, modifier, créer) sur toutes les bases de données de votre serveur mySQL. C'est un peu l'équivalent du compte Administrateur de Windows. Par défaut ce compte n'a pas de mot de passe. Si vous n'en créez pas un n'importe qui pourra donc se connecter depuis internet à vos bases de données pour y faire des modifications. Sans mot de passe, votre serveur ne dépassera probablement pas les 24 heures suivant sa mise en ligne sans être piraté…

Commencez par cliquer sur phpMyAdmin dans le menu de Wampserver. Si Wampserver a été correctement installé et si les services sont bien tous démarrés, le navigateur par défaut se lancera et vous accèderez à l'interface web permettant de gérer vos bases de données et les utilisateurs.
Dans le cas contraire redémarrez les services et vérifiez bien que l'icône Wampserver ne soit ni rouge ni orange, auquel cas un des serveurs (Apache, mySQL) ne démarre pas… Consultez alors les log (dans C:\wamp\logs par défaut) pour trouver l'origine du problème.
Si la page de phpMySQL apparaît, cliquez sur "Privilèges" dans le menu pour gérer les utilisateurs. Puis cliquez sur "Edit" sur la ligne correspondant au compte root (en principe il n'y a que lui pour l'instant) Sur la page qui suit cherchez la partie "Modifier le mot de passe", saisissez votre mot de passe (2 fois) pour le compte root, puis cliquez sur "Exécuter". Nous allons maintenant vérifier que le mot de passe ait bien été pris en compte. Redémarrez les services, puis retournez sur la page de phpMyAdmin (en cliquant dans le menu de Wampserver). Normalement vous aurez un message d'erreur du type :

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

En effet phpMyAdmin utilise le compte root et il ne connait pas le mot de passe que vous venez de lui affecter. Il faut donc modifier un fichier de configuration, le fichier config.inc.php se trouvant par défaut dans le répertoire C:\wamp\apps\phpmyadmin3.1.1 (adaptez le répertoire à votre chemin d'installation et à la version de phpMyAdmin qui est installée). Vous avez deux possibilités, une plus pratique, l'autre plus sécuritaire.

  1. La plus simple à l'usage, indiquer "en dur" l'identifiant et le mot de passe. Cherchez les lignes :
     $cfg['Servers'][$i]['user'] = 'root';
     $cfg['Servers'][$i]['password'] = '';

    Complétez le mot de passe (entre les '') avec celui que vous avez défini avec phpMyAdmin. Redémarrez les services, puis retournez sur la page de phpMyAdmin pour vérifier que vous y ayez bien de nouveau accès. Vous remarquerez que vous accédez à phpMyAdmin sans avoir besoin de donner aucune information d'identification.

  2. La plus sécuritaire, ne faire apparaitre aucune information d'identification dans le fichier. Si vous êtes dans un environnement multi-utilisateurs et vous voulez être certain qu'aucune autre personne ne connaissant pas le mot de passe ne puisse accéder à phpMyAdmin. Cherchez les lignes :
     $cfg['Servers'][$i]['user'] = 'root';
     $cfg['Servers'][$i]['password'] = '';

    et remplacez les par :

     $cfg['Servers'][$i]['auth_type']     = 'http';
     $cfg['Servers'][$i]['user']          = '';
     $cfg['Servers'][$i]['password']      = '';

    Redémarrez les services. En tentant d'accéder à phpMyAdmin le navigateur vous demandera un identifiant, "root" dans notre cas, le mot de passe que vous aviez défini.

À ce stade votre serveur est opérationnel. Toutefois quelques modifications (facultatives) peuvent encore être effectuées.

Changer le répertoire racine du serveur web

Si vous avez fait l'installation par défaut, le répertoire racine de votre site web se trouve dans C:\wamp\www. Pour des raisons d'espace disque ou de performances, vous souhaitez peut être déplacer ce répertoire vers un autre disque que C:.
Commencez par créer le futur répertoire racine. Par exemple sur le lecteur D: créez un répertoire D:\www (ou tout autre nom de répertoire).
Ensuite copiez le fichier "index.php" se trouvant dans C:\wamp\www vers D:\www.
Editez le fichier D:\www\index.php en changeant les lignes :

// chemin jusqu'au fichier de conf de WampServer
 $wampConfFile = '../wampmanager.conf';
// chemin jusqu'aux fichiers alias
 $aliasDir = '../alias/';

en (adaptez les chemins si vous n'avez pas installé Wampserver dans le répertoire proposé par défaut)

//chemin jusqu'au fichier de conf de WampServer
 $wampConfFile = 'C:/wamp/wampmanager.conf';
//chemin jusqu'aux fichiers alias
 $aliasDir = 'C:/wamp/alias/';

Enfin éditez le fichier httpd.conf (il s'agit du fichier de configuration du serveur web Apache) en cliquant sur l'icône de Wampserver, puis dans le menu "Apache" choisissez "http.conf". Recherchez la ligne commençant par "DocumentRoot" puis changez la en

DocumentRoot "D:/www/"

Un peu plus bas cherchez les lignes commençant par

#
# This should be changed to whatever you set DocumentRoot to.
#
<Directory

et modifiez les pour obtenir

#
# This should be changed to whatever you set DocumentRoot to.
#
<Directory "D:/www/">

Redémarrez les services, cliquez sur l’icône de Wampserver et choisissez “localhost” dans le menu. Normalement vous retrouverez la page d’information de votre serveur WAMP. Si ce n'est pas le cas vérifiez bien de ne pas avoir oublié de modifier une ligne, d'avoir bien mis les chemins avec des "…" (tout particulièrement si vous avez utilisé des espaces dans les noms de répertoire).

Changer le répertoire stockant les bases de données

Par défaut toutes les bases de données mySQL seront créées dans C:\wamp\bin\mysql\mysql5.1.30\data. Pour des raisons de performances vous souhaitez peut être les placer sur un autre disque que le disque système.
Pour cela arrêtez tous les services (cliquez sur l'icône Wampserver, puis "Arrêter les services"), puis fermer Wampserver (clic droit sur l'icône, puis "Fermer"). Créez un nouveau répertoire destiné à stocker les bases de données, par exemple D:\bdd.
Ouvrez le fichier "my.ini" se trouvant par défaut dans C:\wamp\bin\mysql\mysql5.1.30\data. Cherchez la ligne commençant par "datadir", puis modifiez là en :

datadir="D:/bdd/"

Déplacez tous les fichiers se trouvant dans C:\wamp\bin\mysql\mysql5.1.30\data vers D:\bdd.

Relancez Wampserver, redémarrez les services, puis cliquez sur phpMyAdmin dans le menu de Wampserver pour contrôler que vous ayez bien l'accès aux bases de données. Si ce n'est pas le cas vérifiez de ne pas avoir fait d'erreurs dans les chemins, et d'avoir utilisé les guillemets pour encadrer les chemins.

Billets en relation avec ce sujet :

  1. Ne pas apparaître dans le log de son propre serveur Apache
  2. Rotation automatique du log du serveur web Apache
  3. Utiliser le bureau à distance de Windows
  4. Sécuriser son OS et ses applications
  • Facebook
  • Twitter
  • RSS Feed

{ 12 comments… read them below or add one }

flo janvier 6, 2010 à 16:46

merci pour ce tuto très clair!!!

Répondre

YannX janvier 8, 2010 à 10:10

Bonjour,

Bravo pour ce tutoriel mettant simplement en evidence quelques points fort utiles.

J’aurais une suggestion, tirée de mon expérience récente :
expliquer comment « alterner » deux jeux de bases de données !

Pour des raisons de tests, on peut déjà avoir a choisir plusieurs configs PHP, voire meme je crois de MySQL !
Mais le choix de l’ensemble des bases MySQL est implicite (et stockée par le démarrage configurant mysqld dans les services !)
- peut-on simplement modifier / rajouter un outil de configuration pour changer « à la volée » de répertoire principal de bases de données (avec affichage d’un commentaire pour savoir sur lequel on est…pour les oublieux).
A moins que cela existe déjà.. ?
Merci

Répondre

darkounet janvier 8, 2010 à 11:19

Aucune idée :)
Il vous faudrait poser la question sur le forum du développeur de Wamp : http://www.wampserver.com/phorum/list.php?1

Répondre

fifi février 8, 2010 à 16:36

Enfin un tuto simple, clair et efficace …
Je cherchais depuis pas mal de temps à sécuriser l’accès à phpmyadmin et que de choses très compliqués sur la toile … En deux trois et trois mouvements avec ce tuto c’est fait …
Merci, merci !

fifi

Répondre

grostoto février 19, 2010 à 12:04

Bonjour à tous,

Merci pour cette aide simple et claire.
Je suis sous vista, et ai installé wampServeur version 2.
Dans phpmyadmin, j’ai 2 utilisateurs pas défaut (‘root’ et ‘localhost’) avec les mêmes privilèges. J’ai, suivi les conseils de sécurité et ai mis le même password pour les deux.
J’ai également changé la ligne:
$cfg['Servers'][$i]['AllowNoPassword'] = true;
Par:
$cfg['Servers'][$i]['AllowNoPassword'] = false;
dans config.inc.php.
Les modifications n’entrainaient pas de demande de mot de passe lorsque j’ essayais d’ouvrir PhpMyAdmin. Il a fallu que je redemarre pour que cela soit opérant.

Ceci pour ceux à qui cela arriverait.
Bonne programation à tous

Répondre

touta mars 4, 2010 à 22:31

Bonjour,

Merci pour ce document.
Petite question: comment redéfinir « www directory » dans le menu lors d’un clic gauche dans le systray pour qu’il pointe sur le nouveau répertorie défini?

Merci

Répondre

joe novembre 1, 2010 à 23:20

salut, j’écris longtemps après la parution de cet article, mais je viens juste de le découvrir.
je trouve que c’est un trés bon article, il ma permis de mettre ma base de donnée et mon répertoire racine soit ailleurs que sur mon disque système. l’intérêt dans mon cas est d’éviter d’utiliser pour rien mon SSD, et de conserver mes fichiers et mes bases en cas de formatage de la partition système.

par contre juste 2 petits détails me chagrine un peu.

le 1 er c’est d’utiliser wampserver a autre chose que de serveur de développement. qui dit serveur de développement, dit pas besoin d’être relier a internet enfin je le vois ainsi, je me trompe peut être…

le 2 eme point c’est la nécessité de sécurisé mysql par un mot de passe. la plupart des gens on de nos jours une box fournit par leur fournisseur internet. les box on un parefeu intégré, et le port 3306 nécessaire pour mysql et généralement pas ouvert par défaut. d’autre par si on utilise un parefeu sous windows, la encore le parefeu bridera le port et l’application si on le souhaite (suivant le parefeu ce n’est pas toujours évident). donc si on se sert de wampserver uniquement en guise de développement, la sécurisation par mot de passe n’est pas forcement utile si on dispose d’un bon parefeu logiciel ou matériel.

pour voir vos ports ouverts il existe des sites comme:
http://www.inoculer.com/scannerdeports.php
ou
http://www.zebulon.fr/outils/scanports/test-securite.php .

pour ceux qui veulent un serveur de production chez eux, mieux vaut éviter d’utiliser windows comme système avec apache. linux, bsd, ou mac os x sont plus approprier pour héberger un serveur de production fiable, stable et sécurisé.

en tout cas encore merci pour cet article qui ma bien aider.

a+

Répondre

legalude51 novembre 6, 2010 à 17:25

Bonjour,
Tout d’abord, merci pour cet excellent Tuto! Un travail remarquable. Je ne manquerais pas de le mentionner sur mon site, dès que mon serveur sera opérationnel.
Pour répondre à Joe concernant les sites de tests de ports sur son PC:
Ils ne donnent pas les mêmes informations l’un et l’autre!
Pour le premier, mon PC est sécurisé à 99,99%
Pour le second, mon PC est ouvert au Trojan et autres…

Ce n’est aucunement une critique, mais une simple constatation.
Salut à tous

Répondre

joe novembre 12, 2010 à 09:33

ton second pc est certainement en DMZ…ou sinon ton parefeu est configurer règle par règle pour tout laisser passer vers cet ordi, mais ca si c’est le cas, c’est que tu l’as choisit, car il faut lui ouvrir tout les ports 1 à 1… j’en doute ;)
pas de raison sinon que le 1er pc soit invisible et le 2eme visible.
le DMZ me semble le plus probable car avec juste l’ip de ton ordi tu lui a automatiquement ouvert tout les ports.
explication ici: http://fr.wikipedia.org/wiki/Zone_d%C3%A9militaris%C3%A9e_%28informatique%29
dernière explication ton 2eme pc n’a pas de parefeu, et ton modem (box) non plus… sur le 1er t’en as un d’installé.
quelques info ici: http://www.commentcamarche.net/faq/2843-mode-routeur-des-box-freebox-livebox-aol-neuf-alice-box
si t’as besoin d’un parefeu sur ton pc je te conseil comodo parefeu, gratuit efficace et pas trop compliqué. ressemble un peu a bitdefender dans la façon de faire, mais gratuit. tu le trouvera ici: http://www.comodo.com/products/free-products.php
internet security pour parefeu + antivirus(gratuit aussi), sinon juste le firewall.

Répondre

JCR octobre 25, 2011 à 17:14

Bonjour,
J’ai suivi les instructions de « Sécuriser l’accès au serveur mySQL » (seule différence, il y avait 3 lignes root et non une seule). J’ai défini un premier mot de passe, et plus rien…
Je n’ai plus accès à phpMyAdmin, même après avoir fait la modif de config.inc.php.
Réinstallation: change rien.
Help

Répondre

heredia janvier 27, 2012 à 18:17

merci pour le tuto, enfin j’ai réussi à configurer mon serveur après quelques nuits blanches…. C’est super !!!!!!!!!!!!!!!!!!!!

Répondre

bugatti février 13, 2012 à 13:43

Salut,
j’aimerai configurer mon serverwamp et le proxy, et là je suis bloqué.
Tout fonctionne à merveille quant j’utilise le port 80 mais quant je règle le paramètre de mon proxy 3128, ça m’affiche ce message <>.

Bref, j’aimerai travailler avec mon server tout en utilisant le proxy.

Merci

Répondre

Leave a Comment

Previous post:

Next post: