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.