Wamp : un serveur Apache MySQL PHP sous Windows

Pré-requis

Paquetage VC9 (Pour Windows 2000 Service Pack 4; Windows Server 2003; Windows Server 2008; Windows Vista; Windows XP, W7, W8)Microsoft Visual C++ 2008 SP1 Redistributable Package (x86) (32bits)Microsoft Visual C++ 2008 SP1 Redistributable Package (x64) (64bits)Paquetage VC10 (Pour Windows 7 ; Windows Server 2003 ; Windows Server 2008 ; Windows Server 2008 R2 ; Windows Vista ; Windows XP)Microsoft Visual C++ 2010 SP1 Redistributable Package (x86)Microsoft Visual C++ 2010 SP1 Redistributable Package (x64)Paquetage VC11 (Windows 7 Service Pack 1 ; Windows 8 ; Windows Server 2008 R2 SP1 ; Windows Server 2012 ; Windows Vista Service Pack 2 VC11)Les deux fichiers VSU4\vcredist_x86.exe et VSU4\vcredist_x64.exe à télécharger sont sur la même page : Redistribuable Visual C++ pour Visual Studio 2012 Update 4 (x86 and x64)Paquetage VC13 (Windows 7 Service Pack 1; Windows 8; Windows Server 2008 R2 SP1; Windows Server 2012; Windows Vista Service Pack 2)Les deux fichiers VSU4\vcredist_x86.exe et VSU4\vcredist_x64.exe à télécharger sont sur la même page : Visual C++ Redistributable Packages for Visual Studio 2013Paquetage VC14 (Windows 10 Tech Preview , Windows 7 Service Pack 1, Windows 8, Windows 8.1, Windows Server 2003 Service Pack 2, Windows Server 2008 R2 SP1, Windows Server 2008 Service Pack 2, Windows Server 2012, Windows Vista Service Pack 2)vcredist_x86.exe et vcredist_x64.exe à télécharger sont sur la page : Visual C++ Redistributable Packages for Visual Studio 2015	si vous avez un Windows 64 bits, il faut installer les deux versions 32 et 64bits, même si vous n'utilisez que Wampserver 32 bits
un éditeur de texte comme Notepad++ que vous trouverez à la page http://notepad-plus-plus.org/fr/.

Installation

Installez une version 32 bit, même avec un Windows 64 bit.
Installez DLL Microsoft Visual C++ Redistributable, voici 24 versions disponibles :	Nom Taille Package Version Microsoft Visual C++ 2005 2,37 Mo X86 http://download.microsoft.com/download/c/b/2/cb26d72e-5839-4aae-97b3-0686f6264915/vcredist_x86.exe 3,84 Mo X64 http://download.microsoft.com/download/b/3/f/b3f79194-7383-4d0e-a805-8f0e482c2c85/vcredist_x64.exe 420 Ko Sp1 - X86 http://download.microsoft.com/download/a/3/7/a379292d-24f2-4bbb-841b-c2aeb1100471/vcredist_x86.exe 700 Ko Sp1 - X64 http://download.microsoft.com/download/2/d/8/2d83625f-1af0-4807-9da0-5b994058d213/vcredist_x64.exe 348 Ko Sp1 ATL - X86 http://www.microsoft.com/fr-fr/download/details.aspx?id=14431 620 Ko Sp1 ATL - X64 298 Ko Sp1 MFC - X86 http://www.microsoft.com/fr-fr/download/confirmation.aspx?id=26347 572 Ko Sp1 MFC - X64 Microsoft Visual C++ 2008 1,25 Mo X86 http://download.microsoft.com/download/f/5/a/f5a61e7a-ddab-43f6-b3eb-0f329692472e/vcredist_x86.exe 604 Ko Sp1 - X86 9.0.30729 790 Ko Sp1 - X64 9.0.30729 596 Ko Sp1 ATL - X86 9.0.30729.6161 788 Ko Sp1 ATL - X64 9.0.30729.4148 600 Ko Sp1 MFC - X86 9.0.30729.6161 788 Ko Sp1 MFC - X64 9.0.30729.4148 Microsoft Visual C++ 2010 9,76 Mo X86 9.0.30319 1,43 Mo X64 9.0.21022 Microsoft Visual C++ 2012 17,3 Mo X86 11.0.61030.0 20,5 Mo X64 Microsoft Visual C++ 2013 17,1 Mo X86 12.0.21005.1 20,5 Mo X64 Microsoft Visual C++ 2015 RC 20,5 Mo X86 14.0.22816.0
Téléchargez WampServer sur http://www.wampserver.com/Installez-le (double-clic sur l'exe).Autorisez l'installateur à se lancerAcceptez la licenceInstallez à la racine de n'importe quel lecteur (C:, D:, E:, etc.), ex : C:\wampCréez une icône sur le bureau et sur la barre de lancement rapideRenseignez deux paramètres concernant la gestion de l'envoi des mails sous WampServer :adresse sortante du serveur de courrier SMTP de votre FAIvotre adresse mailDans la barre des tâches apparaît une nouvelle icône avec un 'W' dessiné à l'intérieur. Elle peut être verte, orange ou rouge. En cliquant dessus, vous obtenez le menu suivant :Cela fait, cliquer sur l'icône de wampmanager dans la barre système et lancer “Refresh” pour reconstruire le fichier wampmanager.ini.

Configuration

Changer proprement le chemin du répertoire www

Fichier httpd.conf

Ouvrez le fichier :Cliquez sur l'icône wamp et sélectionnez Apache -> httpd.confÉditez le fichier httpd.conf pour le modifier comme ceci :Remplacez la ligne :

DocumentRoot “REPERTOIRE_WAMP/www/”

par le nouveau chemin du workspace :

DocumentRoot “D:/srv/www/”

Remplacer la ligne :

<Directory “REPERTOIRE_WAMP/www/”>

par le nouveau chemin du workspace :

DocumentRoot “D:/srv/www/”

Remplacez ce chemin par le votre.
Redémarrez WAMP.

Fichier config.inc.php

Éditez le fichier REPERTOIRE_WAMP\scripts\config.inc.php pour le modifier comme ceci :Remplacez la ligne

$wwwDir = $c_installDir.’/www';

par

$wwwDir = ‘D:/srv/www/';

Remplacez ce chemin par le votre.
Quittez wamp puis le relancer.

Utiliser les VirtualHost

Voir http://forum.wampserver.com/read.php?1,124502

Page d'accueil, menu Vos Projets et le besoin de VirtualHost

L'utilisation des VirtualHost est demandée avec Wampserver 2.5, mais cette demande est valable quelles que soient les versions et même quel que soit le serveur local utilisé, à partir du moment où il utilise Apache.
Il est impératif de créer un hôte virtuel pour chacun de vos projets (même si vous les mettez dans la structure \wamp\www\sous-dossier). Sinon, la page d'accueil de WampServer (\wamp\www\index.php) ne fonctionnera pas correctement. Lancer ses sites locaux par http://localhost/projet1/ ou http://localhost/projet2/ est à bannir totalement. En effet, cela introduit un niveau supplémentaire localhost/ dans les url d'accès à vos sites locaux. Beaucoup de variables prédéfinies par le serveur HTTP n'auront pas les bonnes valeurs. Par exemple, soit un projet wamp/www/mon-projet/ Avec l'appel tel qu'il devrait être : (http://mon-projet/) voici les valeurs de quelques éléments prédéfinis $_SERVER['HTTP_HOST'] = mon-projet $_SERVER['SERVER_NAME'] = mon-projet $_SERVER['DOCUMENT_ROOT'] =C:/wamp/www/mon-projet Et voilà quels sont les mêmes éléments prédéfinis avec (http://localhost/mon-projet/) $_SERVER['HTTP_HOST'] = localhost $_SERVER['SERVER_NAME'] = localhost $_SERVER['DOCUMENT_ROOT'] =C:/wamp/www Vous pouvez voir, entre autres, que le chemin d'accès au dossier racine du projet ($_SERVER['DOCUMENT_ROOT']) n'est pas le bon chemin. et, en plus, ce sera TOUJOURS C:/wamp/www quel que soit le projet lancé de cette manière. Ces valeurs erronées vont - à coup sûr - induire des erreurs incompréhensibles avec des Frameworks, des CMS ou des applications web que vous ajouterez à vos projets, par exemple Wordpress ou Joomla ; mais ce ne sont pas les seules. Vos « projets » sont hébergés chez “localhost” tout comme les sites « réels » sont hébergés chez “ovh”, “free”, “1and1”, “gandi” ou autres et, pour accéder à ces sites réels , vous ne tapez pas (http://gandi/wampserver.com) mais bien (http://wampserver.com) Il faut donc définir quelles sont les caractéristiques et la localisation de vos projets par rapport à leurs hébergement chez “localhost”. Sans définition de VirtualHost, (http://localhost/mon-projet/) fonctionne parce que ce nom “localhost” est défini en tant nom de site par défaut et qu'une adresse d'accès lui est donnée et que le dossier /mon-projet/ est considéré comme un « niveau » secondaire du site localhost. Ceci est effectué par le fichier “C:\Windows\System32\drivers\etc\hosts” (sans extension) qui donne les correspondances entre les adresses IP et les noms de site. Après installation du serveur, ce fichier doit contenir, comme ligne active (C'est-à-dire sans # au début de ligne), au moins : 127.0.0.1 localhost (La séparation entre l'adresse IP et le nom peut être un ou plusieurs espaces ou tabulations) Si votre système supporte IPv6 (En principe, par défaut depuis Windows 7), il faut y ajouter l'adresse IPv6, donc : 127.0.0.1 localhost ::1 localhost

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).

Créez la définition du VirtualHostAjoutez votre nouveau nom de domaine dans le fichier HOSTS.Valider la ligne dans le fichier httpd.conf qui inclut le fichier de définition des hôtes virtuels.

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

Editez le fichier appelé `httpd-vhosts.conf` qui pour WampServer a pour chemin complet \wamp\bin\apache\apache2.4.9\conf\extra\httpd-vhosts.conf (Les numéros de version Apache peuvent différer, faites travailler vos petites cellules grises{©Hercule Poirot} avant de continuer)

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
Supposons que nous voulons créer une définition pour un site appelé projet1 qui est dans \wamp\www\projet1

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 :

<VirtualHost *:80>
ServerName localhost
ServerAlias localhost
DocumentRoot C:/wamp/www
<Directory "C:/wamp/www/">
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Require local
</Directory>
</VirtualHost>

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

Voir http://forum.wampserver.com/read.php?1,124502

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

Ces déclaratives se placent dans le fichier Repertoire_Wamp\bin\Apache\Apache2.4.10\conf\extra\httpd-vhosts.conf.

Editer le fichier httpd.conf et décommenter la ligne include :

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

pour obtenir :

# 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 :

ServerName : nom de votre site (obligatoire).serverAdmin : adresse email pour vous joindre en cas de problème (facultatif en mode local).DocumentRoot : nom du répertoire racine où se trouve votre site (obligatoire).ErrorLog : fichier compte-rendu des erreurs d'Apache (obligatoire). Ne pas oublier de créer le fichier 'text' à vide.CustomLog : fichier complémentaire des erreurs d'Apache (obligatoire). Ne pas oublier de créer le fichier 'text' à vide.Options : déclarative pour démarrer sans problème (obligatoire). Lisez la documentation d'Apache sur la directive Options.AllowOverride : 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 ':*'.

Utilisation

Désinstallation

Voir aussi

(fr) http://www.wampserver.com/(fr) http://forum.wampserver.com/read.php?1,124502(fr) http://forum.wampserver.com/read.php?1,119444(fr) http://forum.wampserver.com/read.php?1,88043(fr) http://www.jcz.fr/wampserver/(fr) http://www.cndp.fr/crdp-dijon/Installer-et-configurer-Wampserver.html(fr) http://framasoft.net/article2315.html(fr) http://forum.wampserver.com/read.php?2,42224(fr) http://blog.nicolashachet.com/niveaux/debutant/apache-wamp-deplacer-la-racine-www-de-votre-serveur-web/(fr) http://www.waebo.com/wamp-modifier-le-repertoire-racine-www.html(fr) http://blog.idleman.fr/wamp-changer-le-chemin-du-repertoire-www-proprement/

Basé sur << Article >> par Auteur.