Apache France - Le Guide d`installation d`Apache pour Windows

Transcription

Apache France - Le Guide d`installation d`Apache pour Windows
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 2 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 cidessous 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 l'archive de PHP vers une localisation adéquate, par exemple C:\webdev\php.
Copiez ensuite le fichier php.ini-dist sous le nom php.ini vers le répertoire de base de Windows (C:\WINDOWS pour Windonws 95/8/Me,
C:\WINNT pour Windows NT et 2000).
C:\> copy c:\webdev\php\php.ini-recommended c:\winnt\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".
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
extension=php_zlib.dll
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 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.