Le Guide d'installation d'Apache pour Windows
URL de référence : http://www.apachefrance.com/Articles/4/
Préambule
Ce nouveau guide d'installation d'Apache/PHP/MySQL est cette
fois destiné à la plate-forme Win32. Il se veut plus un complément
du guide d'installation d'Apache sous Linux dans la mesure où de nombreux
éléments sont indépendants du système d'exploitation.
Nous allons donc présenter l'installation dans son ensemble (MySQL, Apache
et PHP) ainsi que les spécificités de configuration liées
à la plate-forme Windows.
En ce qui concerne la configuration nécessaire, je vous conseille d'avoir
un système d'exploitation le plus à jour possible : Service Pack
1 pour Windows XP, Service Pack 3 pour Windows 2000, Service Pack 6a pour Windows
NT 4, Windows 98 2ème édition, Windows 95 avec le Service Pack 1.
La prmière étape consiste à récupérer les
différents programmes d'installation.
En effet, et contrairement à Linux, nous n'allons pas compiler les différentes
applications mais utiliser les versions binaires. De plus, nous n'aurons pas
besoin de compiler les librairies FreeType, GD et PDF pour les utiliser avec
PHP, celles-ci sont en effet fournies sous la forme de DLL (Dynamic Linking
Librairies) avec la distribution de PHP. Vous pouvez donc vous rendre dans la
rubrique
Téléchargement
et téléchargez les dernières versions d'Apache, PHP et
MySQL dans un répertoire temporaire. Attention, vous devez avoir un outil
permettant de décompresser les fichiers ZIP. Je vous conseille à
ce titre
Power Archiver
ou
Winzip
qui sont tous les deux des partagiciels (sharewares).
MySQL
Comme nous l'avons évoqué précédemment,
nous allons utiliser la version précompilée de MySQL pour des
raisons de simplicité. Celles-ci contient les binaires de MySQL et MySQL-Max,
cette dernière version permettant via de nouveaux formats de tables le
support des transactions.
Installation
Avant toute chose, vérifier qu'il vous reste environ 30 Mo sur votre
disque C pour pouvoir installer MySQL. Ensuite, décompactez l'archive
ZIP contenant le programme d'installation de MySQL puis double-cliquez sur setup.exe.
Après quelques instants, la fenêtre d'accueil devrait apparaître.
Cliquez sur le bouton "Suivant"

La fenêtre suivante vous renseigne sur certaines contraintes
liées à l'installation de MySQL comme un service si le répertoire
d'installation n'est pas "C:\MYSQL". Nous y reviendrons plus tard,
vous pouvez continuer en cliquant sur le bouton "Suivant".

L'étape suivante permet justement de choisir le répertoire
d'installtion. Nous avons choisi C:\webdev\mysql. Nous expliquerons un peu plus
loin comme déplacer la partie "données" dans un autre
répertoire. Cliquez sur le bouton "Suivant".

La fenêtre suivante vous permet de choisir le type d'installation
: Typical (par défaut), Compact (Minimum) ou Custom (Personnalisée).
Cette fois encore, gardez l'option par défaut (Typical) et cliquez sur
le bouton "Suivant".

Le programme d'installation va alors procéder à
la copie des fichiers nécessaires. Lorsque cette opération est
terminée, l'écran vous indiquant que MySQL apparaîtra. Cliquez
sur le bouton "Terminer".

L'installation terminée, copiez le fichier de configuration
my-medium.cnf (contenu dans le répertoire C:\mysql) vers C:\ sous
le nom my.cnf.
C:\ > copy c:\webdev\mysql\my-medium.cnf c:\my.cnf
Attention, sous Windows 2000, les fichiers portant l'extension CNF correspondent
à des fichiers de configuration d'une application intégrée.
Dans l'Explorateur, ils n'apparaissent donc pas comme des fichiers mais comme
des raccourcis. Si vous avez un souci pour la copie du fichier, passez par une
fenêtre DOS (Démarrer - Exécuter-cmd). De même, si
vous devez éditer ce fichier, démarrez Notepad et passez par Fichier-Ouvrir
en spécifiant *.* comme masque d'extension pour les fichiers.
A titre de rappel, les différents fichiers de configuration disponibles
sont à utiliser en fonction de la mémoire centrale disponible
sur la machine.Ainsi, si vous disposez de 512 Mo à 1 Go de mémoire,
utilisez le fichier my-large.cnf. Si vous disposez de plus d'1 Go de mémoire,
utilisez le fichier my-huge.cnf.
Changement du répertoire de données
Lors de l'installation, nous avons gardé les options
par défaut par simplicité. Cependant, il est plus pratique de
désolidariser système et données (pour des raisons d'espace
disponible et de performances). Pour cela, créez un répertoire
qui va recevoir les données : dans une autre partition du même
disque, sur une partition d'un autre disque physique pour de meilleures performances.
Nous avons choisi D:\webdevdata. Copiez alors le contenu du répertoire
C:\webdev\mysql\data vers le répertoire nouvellement créé.
Il est alors nécessaire de stipuler ce changement dans le fichier de
configuration (c:\my.cnf). Editez le fichier, recherchez le début de
la section relative au démon mysql (elle est intitulée [mysqld]),
puis ajoutez juste en-dessous les deux lignes suivantes :
basedir = C:/webdev/mysql/
datadir = D:/webdevdata/mysql/
Modifiez la ligne datadir pour la faire correspondre au répertoire
où vous avez copié le contenu du répertoire data
précédemment. Attention à utiliser des slashs ("/")
et non pas des backslashs ("\") comme habituellement sous Windows.
Accès aux exécutables
Pour accèder plus facilement aux exécutables de MySQL, je vous
suggère d'ajouter le répertoire d'installation dans le chemin
de recherche (PATH).
La marche à suivre dépend de votre système d'exploitation
:
sous Windows 95/98/Me :
Ajoutez ou complétez la ligne PATH de votre fichier AUTOEXEC.BAT pour
qu'il ressemble à la ligne suivante :
PATH=%PATH%;C:\webdev\mysql\bin
Redémarrez ensuite Windows pour que la modification soit prise en compte.
sous Windows NT/2000 :
Ajoutez une variable d'environnement (pour votre profil uniquement) nommée
PATH et ayant pour valeur %PATH%;C:\webdev\mysql\bin


Démarrage de MySQL
Sous Windows 95/98/Me
Pour démarrer MySQL, ouvrez une fenêtre DOS et tapez la commande
suivante :
C:\> C:\webdev\mysql\bin\mysqld
MySQL tournera en arrière-plan sans qu'aucune fenêtre ne soit visible.
Pour utiliser le version Max de MySQL (offrant un support correct des transactions),
démarrez mysqld-max plutôt que mysqld.
Pour arrêter MySQL, tapez la commande suivante :
C:\> C:\webdev\mysql\bin\mysqladmin -u root shutdown
Sous Windows NT/2000
Le plus simple est de faire fonctionner MySQL comme un service, afin de MySQL
démarre automatiquement à chaque démarrage du serveur.
Pour cela, il suffit d'installer le service avec la commande suivante :
C:> C:\webdev\mysql\bin\mysqld-nt --install
Cette fois encore, si vous souhaitez utiliser MySQL-Max, substituez mysqld-max-nt
à mysqld-nt dans la commande ci-dessus. Le service installé
est nommé mysql.
Vous pouvez ensuite démarrer ou arrêter MySQL soit par le gestionnaire
de services de Windows, soit par les commandes NET START et NET STOP, le paramètre
étant le nom du service, donc mysql.
Si vous préférez faire fonctionner MySQL indépendamment
plutôt que comme un service, vous pouvez utiliser la commande suivante
:
C:\> C:\webdev\mysql\bin\mysqld-nt --standalone
Dernière étape
Pour vérifier si votre installation de MySQL fonctionne convenablement,
vous pouvez essayer les commandes suivantes :
C:\> C:\webdev\mysql\bin\mysqlshow
C:\> C:\webdev\mysql\bin\mysqlshow -u root mysql
C:\> C:\webdev\mysql\bin\mysqladmin version status proc
C:\> C:\webdev\mysql\bin\mysql test
Enfin, n'oubliez pas de spécifier un mot de passe pour l'administrateur
MySQL (root) avec la commande suivante :
C:\> C:\webdev\mysql\bin\mysqladmin -u root password votre_motdepasse
Apache
Tout comme pour MySQL, nous allons installer une version déjà
compilée de Apache pour Windows. Le programme d'installation est fourni
sous la forme d'un fichier Microsoft Installer (avec l'extension .MSI) et nécessite
donc la présence de ce programme sur votre ordinateur. Si vous utiliser
Windows 2000, il est intégré en standard. Sinon, il convient de
télécharger la version adaptée à votre système
d'exploitation. Vous trouverez les URL de référence dans notre
rubrique Téléchargement.
Attention, Apache nécessite Winsock version 2, les utilisateurs de Windows
95 devront donc charger cette mise à jour ici.
Cette toute dernière version est a priori compatible Windows XP.
Installation
Une fois Microsoft Installer installé, double-cliquez sur le package
MSI. L'écran d'accueil apparaît. Vous pouvez cliquer sur "Suivant".

L'étape suivante vous présente la license Apache,
dont vous devez accepter les conditions en choisissant l'option "I accept....".
Cliquez ensuite sur "Suivant".

La fenêtre suivante rappelle des informations générales
sur Apache. Cliquez ensuite sur "Suivant".

L'étape suivante permet de spécifier des paramètres
de configuration d'Apache. La rubrique Network Domain correspond à votre
suffixe de domaine DNS (interne si le serveur se destine à l'hébergement
d'un intranet, externe si le serveur va se trouver sur Internet). Dans la case
"Server Name", entrez le nom de la machine mais sans le nom de domaine.
Dans la troisième cas, saisissez votre adresse email. Enfin, le choix
de la dernière options dépend du système d'exploitation
sur lequel vous installez Apache. Pour Windows 9x/Me, choisissez "Run when
started manually" (démarrage manuel). Pour Windows NT/2000, choisissez
"Run as a service" (tourne en tant que service NT, démarrage
automatique) ; le service installé s'appelera Apache. Cliquez
ensuite sur "Suivant".

L'étape suivante permet de sélectionner le type
d'installation. Choisissez "Complete" et cliquez sur le bouton "Suivant".

Cette étape permet de spécifier le répertoire
d'installation d'Apache. Vous pouvez le modifier si le chemin par défaut
ne vous convient pas, mais attention, un sous-répertoire Apache sera
créé automatiquement. Nous choisissons d'installer Apache dans
c:\webdev\apache, il faut donc spécifier c:\webdev comme répertoire
cible. Cliquez ensuite sur "Suivant".

La fenêtre suivante est purement informative et notifie
que le programme d'installation est prêt à démarrer et à
configurer Apache en fonction des choix précédents. Vous pouvez
cliquer sur le bouton "Suivant".

La copie des fichiers et le premier niveau de configuration
terminé, le programme d'installation annonce que l'installation s'est
déroulée avec succès. Vous pouvez cliquer sur le bouton
"Terminer".

Si vous souhaitez (ou devez) démarrer Apache manuellement,
je vous conseille l'outil Apache Manager (disponible dans la rubrique Téléchargement). Après l'avoir chargé, il vous suffit de le décompacter
dans le répertoire où vous avez installé Apache. Démarrez
Apache Manager en double-cliquant sur l'icône apmgr.exe. Une petite
plume apparaît dans le System Tray (la partie en bas à droite à
côté de l'horloge). En faisant un clic-droit sur cette plume, vous
pouvez très simplement arrêter ou démarrer Apache...un incontournable
!
Si Apache a été installé en tant que service, le programme
d'installation l'a démarré automatiquement. Sinon, rendez-vous
dans le gestionnaire des services, sélectionner le service Apache
et cliquer sur "Démarrer". L'autre alternative est d'ouvrir
une fenêtre DOS et de taper la commande suivante :
C:\> net start apache
Vous pouvez immédiatement tester votre installation en ouvrant votre
navigateur et en saisissant le nom du serveur. Un écran similaire à
celui ci-dessous devrait apparaître.

Configuration
Emplacement des pages
Si vous souhaitez déplacer la partie "données" d'Apache
(c'est-à-dire l'arborescence des pages HTML et PHP) vers un autre répertoire,
créez le répertoire approprié et copiez vos données
dedans. Ensuite, éditez le fichier de configuration d'Apache (httpd.conf,
situé dans le sous-répertoire conf du répertoire
d'installation) et modifiez le paramètre DocumentRoot pour le faire correspondre
à vos besoins. Attention, bien qu'étant une version Windows, Apache
impose l'utilisation de slashs ("/") dans les chemins, en lieu et
place des backslashs ("\").
Avant : DocumentRoot "C:/Program Files/Apache Group/Apache/htdocs"
Après : DocumentRoot "D:/webdevdata/htdocs"
Modifiez également le paragraphe Directory correspondant :
Avant : <Directory "C:/Program Files/Apache Group/Apache/htdocs">
Après : <Directory "D:/webdevdata/htdocs">
Arrêtez puis redémarrez Apache afin de prendre en compte la nouvelle
configuration.
PHP
L'installation de PHP sous Windows est facilitée par
rapport à la version Linux dans la mesure où elle ne nécessite
ni l'installation préalable de librairies ni une compilation.
Décompactez tout d'abord l'archive de PHP vers une localisation adéquate,
par exemple C:\webdev\php.
Puis copiez ensuite le fichier php.ini-dist sous le nom php.ini vers le répertoire
de base de Windows (par défaut C:\WINDOWS pour Windonws 95/8/Me/XP, C:\WINNT
pour Windows NT et 2000).
C:\> copy c:\webdev\php\php.ini-recommended c:\windows\php.ini
NDR : destiné aux environnements de production, ce fichier ini comprend
une option qui désactive l'affichage des messages d'erreur. Du coup,
on se trouve devant une page blanche sans comprendre ce que se passe. Pour y
remédier, recherchez l'option display_errors et fixez comme valeur
"On" en lieu et place de "Off".
Enfin, copiez le fichier php4ts.dll dans le sous-répertoire system32
(pour Windows NT 4.0/2000/XP) ou system (pour Windows 9x/Me) du répertoire
de base de Windows mentionné ci-dessus.
C:\> copy c:\webdev\php\php4ts.dll c:\windows\system32
Configuration des modules complémentaires
PHP 4.0.5 et supérieurs offrent en standard le support des extensions
(modules) suivantes : MySQL, ODBC, FTP, Calendar, BCMath, COM, PCRE, Session,
WDDX et XML. Il n'est pas nécessaire de charger un quelconque module
pour pouvoir utiliser les fonctions qui leur sont rattachées.
Les modules supplémentaires activables permettent entre autres l'accès
à d'autres bases de données (Microsoft SQL Server par exemple),
la génération d'images, le chiffrement, la compression, l'accès
aux annuaires LDAP, etc.
Pour configurer le support des extensions, éditez le fichier php.ini
et recherchez le paramètre extension_dir (rubrique Paths and Directories).
Modifiez-le afin qu'il désigne le sous-répertoire extensions du
répertoire où vous avez décompacté l'archive de
PHP. Par exemple, si vous avez décompacté PHP dans C:\webdev\php,
modifiez la ligne comme suit :
extension_dir = c:\webdev\php\extensions
Recherchez ensuite la rubrique Dynamic Extensions. Cette rubrique permet de
spécifier des modules optionnels à activer au sein de PHP. De
façon à disposer des mêmes fonctionnalités que sous
Linux, décommentez (enlevez le caractère ";" en début
de ligne) les lignes suivantes :
extension=php_gd2.dll (l'extension correspond à GD 2 et
le fichier se nomme ainsi, il faut donc ajouter un 2...petite coquille du fichier
ini)
extension=php_pdf.dll
NDR : la ligne extension=php_zlib.dll n'existe plus avec la version
4.3.0 car zlib est désormais intégré à PHP.
Attention, certaines extensions (par exemple l'extention PDF) font appel à
des DLLs spécifiques situées dans le répertoire c:\webdev\php\dlls.
La première possibilité serait de copier tous les fichiers ".dll"
du répertoire c:\webdev\php\dlls dans C:\windows\system (sous Win9x/Me)
ou C:\winnt\system32 (sous WinNT/Win2k/XP) mais personnellement je ne trouve
pas ça "propre". Je préfère ajouter le répertoire
c:\webdev\php\dlls dans le chemin de recherche ("PATH", rubrique "System
variables" dans la première image pour Win2K/XP, ajouter une ligne
SET PATH=%PATH%;C:\webdev\php\dlls dans l'AUTOEXEC.BAT pour Win9x/Me).
Cette modification du chemin de recherche nous sera utile plus tard, c'est donc
la bonne approche.


Remarque : pour que le chemin de recherche soit effectivement
mis à jour, un redémarrage de la machine est nécessaire.
Configuration d'Apache
Il existe deux façons de configurer la version Windows d'Apache pour
lui ajouter le support de PHP : soit utiliser PHP sous la forme d'un CGI, soit
l'utiliser sous la forme d'un module dynamique, comme nous l'avions fait sous
Linux. Le choix dépend essentiellement des besoins. La version CGI est
parfaitement stable, et est donc la plus conseillée dans un environnement
de production. Son principal défaut est de présenter des performances
moyennes. A contrario, la version "module Apache" de PHP présente
de bien meilleures performances mais n'est pas considérée comme
100% stable du fait qu'elle emploie les processus légers (threads) et
que cette partie du code de PHP présenterait encore quelques bugs. Des
retours d'information contradictoires sur le sujet (problèmes avec la
version CGI, fonctionnement parfait avec la version module et vice-versa) ont
été postés sur le site de PHP. Il est donc difficile de
se prononcer pour une méthode plutôt que pour une autre, le mieux
étant de tester les deux solutions en fonction de votre plate-forme matérielle
et logicielle.
PHP en tant que CGI
Recherchez ensuite dans le fichier de configuration d'Apache (httpd.conf) la
rubrique <IfModule mod_alias.c> et ajoutez juste avant la ligne
</IfModule> qui clôt le paragraphe la ligne suivante :
ScriptAlias /php/ "c:/webdev/php/"
Recherchez ensuite la section Document types. Tout à la fin du
paragraphe, Juste avant la directive </IfModule>, ajoutez les lignes suivantes
:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
Ajoutez juste en-dessous de ces deux lignes la ligne suivante :
Action application/x-httpd-php "/php/php.exe"
PHP en tant que module Apache
Copiez le fichier php4ts.dll situé dans le répertoire de
PHP (c:\webdev\php dans notre cas) dans le répertoire c:\webdev\php\dlls,
en écrasant au besoin une version antérieure. Ce fichier devant
se trouver dans le chemin de recherche, la modification apportée plus
haut nous facilite la vie tout en gardant une vision claire de l'emplacement
des DLLs utilisées par PHP.
Recherchez ensuite dans le fichier de configuration d'Apache (httpd.conf) la
section relative à l'emploi des modules dynamiques (Dynamic Shared Object
(DSO) Support), juste avant la section 2. Ajoutez alors les lignes suivantes
:
LoadModule php4_module c:/webdev/php/sapi/php4apache.dll # Apache 1.3
ou
LoadModule php4_module c:/webdev/php/sapi/php4apache2.dll # Apache 2.0
Et un peu plus loin
AddModule mod_php4.c
Adaptez le chemin au besoin afin qu'il corresponde à votre installation,
et veillez à utiliser des slashs ("/") en lieu et place des
backslashs ("\").
Recherchez ensuite la section Document types. Tout à la fin du
paragraphe, Juste avant la directive </IfModule>, ajoutez les lignes suivantes
:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
Pour ajouter le support des fichiers PHP comme fichiers par défaut (cf
le Guide d'installation d'Apache sous Linux), recherchez le paramètre
DirectoryIndex et ajoutez index.php après index.html en les séparant
par un espace :
DirectoryIndex index.html index.php
Quelque soit la méthode que vous ayez choisi, n'oubliez pas ensuite d'arrêter
et de redémarrer Apache.
Si Apache est installé comme un service :
C:\> net stop apache
C:\> net start apache
Si Apache est démarré manuellement, stoppez-le en utilisant
Apache Manager.
Vous pouvez ensuite vérifier le bon fonctionnement du couple Apache/PHP
en créant le fichier info.php avec le contenu suivant dans votre
arborescence de pages :
<?php
phpinfo();
?>
Ouvrez votre navigateur et saisissez l'URL du fichier, la page d'information
de PHP devrait apparaître.

A noter que la ligne Server API affiche CGI si
PHP a été configuré comme CGI, Apache dans le cas
où il est employé comme module d'Apache.
Pour vous assurez du support des fonctions GD, PDF et Zlib, défilez dans
la page à la recherche de la partie présentée ci-dessous
:
Conclusion
Après avoir suivi ce guide, vous deviez disposer d'une plate-forme Apache/PHP/MySQL
fonctionnelle et ce dans un environnement Windows. Si vous rencontrez des problèmes,
vous pouvez poster un message dans les Forums.
|