Il est tout à fait possible d’utiliser un serveur IIS pour gérer à la fois de l’ASP .NET et du PHP sous Windows, ainsi que de mettre en place un serveur MySQL géré par phpMyAdmin. L’installation est relativement simple mais comporte un certain nombre de détails pas forcément évidents au premier abord. L’ensemble est parfaitement stable et permet de disposer facilement d’un serveur de développement Web utilisant l’ASP .NET et le PHP.
Dans cet article on supposera que l’on travaille sur un serveur Windows Server 2003 R2 à jour.
Première étape : installation de IIS 6
L’installation de IIS ne pose pas de problème particulier : il suffit d’aller dans Démarrer > Outils d’administration > Assistant Configurer votre serveur, cliquer deux fois sur Suivant et de sélectionner Serveur d’applications (IIS, ASP .NET). Cliquer ensuite sur Suivant, sélectionner ASP .NET et cliquer deux fois sur Suivant.
On dispose à présent d’une console d’administration du serveur IIS disponible dans Démarrer > Outils d’administration > Gestionnaire des services Internet (IIS).
Le site Web par défaut est un site comportant une page d’accueil par défaut. Il suffit d’ouvrir la page http://localhost dans un navigateur sur le serveur ou http://IP_DU_SERVEUR depuis un autre poste pour vérifier le bon fonctionnement du serveur.
Deuxième étape : installation de quelques éléments utiles pour la suite
Habituellement on installe plutôt PHP sur des serveurs tournant sous Linux et utilisant Apache comme serveur Web. Le mode de fonctionnement interne de IIS étant différent, il n’est pas par défaut optimisé pour l’exécution de scripts PHP. Pour remédier à cela il faut télécharger et installer l’extension FastCGI puis de l’installer. Si tout se passe bien une entrée FastCGI Handler apparaîtra avec un statut Autorisé dans le dossier Extensions du service Web du gestionnaire IIS.
Pour corriger un problème avec phpMyAdmin que l’on rencontrerait par la suite, on va télécharger le fichier libmcrypt.dll et le copier dans le répertoire C:\Windows\system32 du serveur.
Troisième étape : installation de PHP
Pour intégrer PHP à IIS il faut tout d’abord se rendre sur php.net pour télécharger la version Windows Binaries la plus à jour et correspondant à ses besoins. Dans mon cas j’ai choisi la version 4.4.9. Il faut ensuite dézipper le fichier téléchargé dans un répertoire, par exemple C:\PHP.
Editer le fichier C:\PHP\php.ini-recommended et supprimer le point virgule devant les extensions suivantes :
extension=php_mbstring.dll
extension=php_bz2.dll
extension=php_gd2.dll
extension=php_mcrypt.dll
extension=php_mhash.dll
Le support de MySQL et de ODBC est à présent directement intégré à PHP, il n’y a donc plus d’extensions php_mysql.dll ou php_mysqli.dll à activer.
Copier ce fichier dans C:\Windows et le renommer en php.ini.
Aller ensuite dans le gestionnaire des services Internet (IIS) puis faire un clic droit sur Extensions du service Web. Sélectionner Ajouter une nouvelle extension de service Web, donner un nom comme PHP 4.4.9, cliquer sur Ajouter, Parcourir puis sélectionner le fichier C:\PHP\sapi\php4isapi.dll et cliquer sur Ouvrir et OK. Vérifier que la case Définir le statut de l’extension à Autorisée est cochée puis cliquer sur OK. L’extension PHP 4.4.9 devrait alors apparaître dans le dossier Extensions du service Web.
Toujours dans le gestionnaire des services Internet (IIS), aller dans Sites Web et faire un clic droit sur Site Web par défaut, cliquer sur Propriétés > Répertoire de base et sélectionner Scripts et exécutables dans le menu déroulant Autorisations. Cliquer ensuite sur le bouton Configuration situé juste à droite et cliquer sur Ajouter dans l’onglet Mappages. Sélectionner ensuite le fichier C:\PHP\sapi\php4isapi.dll, entrer l’extension .php, séléctionner l’option Tous les verbes et la case Moteur de script. Cliquer ensuite trois fois sur OK.
Dans les propriétés du Site Web par défaut, cliquer sur l’onglet Documents puis sur Ajouter et entrer index.php, puis OK. Sélectionner index.php et le déplacer en première position avec le bouton Monter. De cette manière le serveur cherchera par défaut une page index.php lorsque l’adresse d’un répertoire est entrée dans un navigateur.
Aller ensuite dans Démarrer puis faire un clic droit sur Poste de Travail et sélectionner Propriétés puis l’onglet Avancé. Cliquer sur le bouton Variables d’environnement et sélectionner Path dans les Variables système. Cliquer sur Modifier et ajouter ;C:\PHP\ à la fin de la variable (y compris le point virgule au début !).
Redémarrer ensuite le serveur.
Quatrième étape : installation de MySQL
Aller sur mysql.org et télécharger la dernière version de MySQL Community Server pour Windows (Windows Essentials devrait être suffisant), dans mon cas la 5.1. L’installation par défaut est très simple et généralement suffisante.
A la fin de l’installation, choisir Detailed Configuration, Next, Developer Machine, Next, Multifunctional Database, Next, Decision Support (DSS)/OLAP, Next, Enable TCP/IP Networking, Add Firewall Exception for this port (au besoin), Enable Strict Mode, Next, Standard Character Set, Next, Install as Windows Service, Launch the MySQL Server automatically, Include Bin Directory in Windows PATH, Next, Modify Security Settings, entrer un mot de passe pour l’utilisateur root (administrateur), Next puis Execute.
Cliquer ensuite sur Démarrer > Tous les programmes > MySQL > MySQL Server 5.1 > MySQL Command Line Client et entrer le mot de passe de l’utilisateur root. Nous allons corriger un problème assez fréquent du à la gestion des mots de passe par MySQL et qui peut empêcher la connexion au serveur MySQL par des scripts PHP. Entrez donc la commande suivante (en remplaçant bien sûr le mot de passe) :
mysql> SET PASSWORD FOR
-> 'root'@'localhost' = OLD_PASSWORD('MOT_DE_PASSE');
Aller dans Démarrer > Exécuter et taper services.msc puis faire un clic droit sur le service MySQL et sélectionner Arrêter.
Editer ensuite le fichier C:\Program Files\MySQL\MySQL Server 5.1\my.ini (le chemin peut être différent) et ajouter la ligne suivante après [mysqld] :
old_passwords=1
Retourner dans la console services.msc et redémarrer le service MySQL.
Cinquième étape : installation de phpMyAdmin
Aller sur phpMyAdmin et télécharger la dernière version compatible avec la version de PHP installée précédemment (dans mon cas il s’agit de la version 2.11.9.4). Décompresser l’archive à la racine du Site Web par défaut (C:\Inetpub\wwwroot) dans un répertoire phpmyadmin par exemple.
Renommer ensuite le fichier C:\Inetpub\wwwroot\phpmyadmin\config.sample.inc.php en config.inc.php et l’éditer. Trouver la ligne $cfg['blowfish_secret'] et ajouter une suite de caractères au hasard (par exemple 6546thtfhyrfj4tuktu54er) qui servira de clé de cryptage pour les cookies, puis sauvegarder le fichier.
Sixième étape : quelques tests !
Pour vérifier que le PHP est bien pris en compte par IIS, créer une page index.php à la racine du Site Web par défaut et l’éditer avec le code suivant :
<?phpinfo();?>
Dans un navigateur, entrer l’adresse http://IP_DU_SERVEUR. Si tout se passe bien une page détaillant la version de PHP et toutes ses extensions installées devrait s’afficher.
Essayer ensuite d’accéder à http://IP_DU_SERVEUR/phpmyadmin. Une page de connexion devrait s’afficher. Utiliser le compte root et son mot de passe pour accéder à la gestion des bases MySQL. Si une erreur mcrypt est affichée sur la page de connexion, se référer à la deuxième partie de l’installation.
Le test ultime pourrait être d’essayer d’installer WordPress en décompressant l’archive dans un répertoire wordpress et en accédant ensuite à http://IP_DU_SERVEUR/wordrpress. Sur mon installation tout s’est passé sans problème.
Tags : IIS, MySQL, PHP, Windows 2003












