Installer de IIS 6.0, c'est très simple :

- muni du CD Windows Xp ; aller dans le "Panneau de configuration", et choisir "Ajout / Suppression de programme". Dans la fenêtre qui s'ouvre, choisir : "Ajouter ou supprimer des composants Windows".

L'assistant d'installation ayant installé IIS sur le disque "C:/" ; j'ai pris le parti de déplacer le répertoire du site par défault "winroot" sur une partition réservée, en l'occurrence : 'D:/'.

L'arborescence de la partition en question :
D:

  • MySQL (répertoire à la racine)
  • --- php5 (répertoire de travail à la racine)
  • --- --- sessions (sous repertoire de php5)sous repertoire de php5
  • --- www (répertoire (winroot par défaut déplacé sur la racine de la partition retenue)
  • --- --- php (répertoire avec une extension serveur créé dans le site par défault et destiné à "phpMyAdmin"

Pour déclarer ce changement et a des fins de gestions futures :
- Cliquez sur démarrer > Poste de Travail (Clique droit) > Gérer > Services et applications > Services Internet (IIS).
Une fois IIS installé, il faut installer PHP. j'ai retenu l'installation automatique de la dernière version: 5.1.4

Installer PHP5

En automatique

- Télécharger le package sur le site www.php.net ;
- Ouvrez-le ;
- Cliquez sur "Next" ; - Cliquez sur "I Agree" pour accepter le contrat ;
- Sélectionnez "Standard" ;
- Cliquez sur "Next" ;
- Spécifier le répertoire d'installation ;
- Entrer les informations concernant le serveur ; pour le SMTP, mettre le SMTP du FAI. Exemple : smtp.wanadoo.fr. Pour l'e-mail, mettrez ce que l'on veut ;
- Cliquer sur Next ;
- Sélectionner la version de IIS ( Par défaut IIS 4) ;
- Cliquer sur Next ; - Cliquer sur Next pour débuter l'installation.

Une fois l'installation terminée, ne pas configurer le fichier php.ini pour le moment!

L'installation manuelle Après linstallation automatique, j'ai pris la décision de rajouter le fichier binaire(s) zippé de l'installation pour "windows" à la racine du répertoire "php5" de manière à avoir toutes les options sous la main car l'instalation automatique ne les inclue pas...

Pour info, PHP, comme tous les autres modules, donnant de meilleures performances en mode Isapi qu'en mode CGI, on ne détaillera que l'installation en mode Isapi. Il faut savoir que l'installation ne diffère pas énormément en mode CGI.

Le mode Isapi permet à IIS de charger PHP comme s'il faisait partie intégrante de IIS. Il est donc chargé en mémoire une seule fois. Le mode CGI, au contraire, force IIS à appeler une nouvelle instance de PHP à chaque demande de page PHP.

Il est possible d'utiliser CGI si les appels aux pages PHP sont rares.

Recommandation : -utiliser le mode Isapi dans tous les cas.

L'installation de PHP5 est quasiment la même que celle de PHP4. Seuls quelques petits changements sont à apporter à cause de IIS6. Pour commencer ;
- télécharger sur le site de PHP (www.php.net) la dernière version de PHP sans programme d'installation.
- Décompresser l'archive et copier son contenu dans d:\php5 dans cet exemple, ce sera le répertoire de travail avec PHP.
Créer tout de suite le répertoire php5\sessions\, si ce n'est pas encore fait, il servira au stockage des fichiers de sessions.
Copier maintenant les fichiers suivant dans les répertoires indiqués :

  • * php5isapi.dll et php5ts.dll dans c:\windows\system32\inetsrv
  • * libmysqli.dll dans c:\windows\system32
  • * php.ini-recommanded dans c:\windows\ en le renommant en php.ini

* php5isapi.dll est le fichier qui fait le « pont » entre IIS et le parser à proprement parler, php5ts.dll.
* libmysql.dll permet d'utiliser MySQL avec PHP, ce qui, avec la version 5 n'est plus implémentée en standard.
* php.ini est le fichier de configuration de PHP.

Tous les fichiers nécessaire étant à leur place, passer à la configuration.

Pourquoi j'utilise l'installer qui est disponible en téléchargement et l'installation manuelle ensuite. Trois bonnes raisons :
- la première est simple. J'ai réussi à avoir un Php opérationnel avec un IIS en utilisant cet assistant, mais la configuration n'est pas complète...
- La deuxième est que comme je l'ai dit, je garde toutes les options sous le coude dans le même répertoire et je suis plus libre des choix de configuration.
Il y en a une troisième, mais un peu moins importante, même si le contenu de l'installation et moins volumineux ; je dispose d'un espace disque dédié qui me permettra par la suite de faire évoluer ma configuration ;).

Configurer IIS en 2 étapes.
  • La première porte sur Php lui-même ;
  • la seconde sur IIS pour intégrer Php.

Php.ini
Editer maintenant le fichier php.ini de manière à vérifier les paramètres et à les modifier pour une bonne configuration de la machine.

Error handling and logging
error_reporting = E_ALL
display_errors = on

Pendant l'installation, Php indiqueraera ainsi toutes les erreurs qu'il rencontrera dans les scripts. Une fois le serveur en production, mettre display_errors à off

Data handling
register_globals = Off

Pour des raisons de sécurité, il fortement conseillé de laisser ce paramète à Off.

Dynamic Extensions
extension=php_mysqli.dll

Comme nous configurons Php avec une version de MySQL supérieur à la 4.1.x, il doit utiliser l'extension MySQLi

Session

Renseigner ici le répertoire de stockage des fichiers de sessions (par défaut gérées en mode fichier). auto_start est à faux, la majorité des hébergeurs le mettant à faux, il est préférable de le laisser ainsi.

Configurer IIS pour y intégrer Php :
Ouvrir une console d'administration des Services Web (Démarrer > Exécuter > inetmgr ou Démarrer > Programmes > Outils d'administration > Gestionnaire des services Internet (IIS)).

- Première étape : ajouter Php comme filtre Isapi. Pour cela, utiliser l'onglet approprié dans les propriétés du site web. Choisir Ajouter. Donner par exemple le nom Php5 en Isapi et sélectionner php5isapi.dll que l'on a copié dans c:\Windows\System32\InetSrv\ comme Exécutable.

Maintenant, il faut associer l'extension .php à notre filtre Isapi. Dans l'onglet répertoire de base, choisir Configuration puis Ajouter. L'exécutable est le même que pour le filtre (php5isapi.dll), l'extension est donc .php. Les autres options sont par défaut correctes. OK et le tour est joué, IIS sait maintenant que quand il rencontrera une page avec l'extension php, il devra utiliser php5isapi.dll pour la traiter

Afin de travailler principalement avec Php, on doît préciser que index.php est la page par défaut du site Web (c'est comme ça dans la majorité des scripts php que l'on rencontre sur Internet). Pour cela, aller dans l'onglet Documents, choisir Ajouter et saisir index.php. index.php apparaît alors en bas de la liste. Pour être sur que IIS regarde d'abord les pages index.php, utiliser le bouton Monter jusqu'à le faire arriver en début de liste.

-Dernière étape : la plus importante. Autoriser l'extension php. Toujours dans la console de management de IIS, faire un clic droit sur Extensions du Site Web et choisissez Ajouter une nouvelle extension de Service Web .... Donner un nom. J'ai choisi celui de le nom php par exemple et une fois de plus, sélectionner php5isapi.dll comme Fichiers requis et sélectionnez l'option Définir le statut de l'extension à Autorisée. OK, php apparaît dans la liste avec une petite coche verte normalement. Fermer la console IIS. Lancer une commande MS-Dos (Exécuter > Cmd) et tapez-y iisreset pour relancer IIS et charger Php.

Test

Tester si Php est bien installé et configuré : créee un fichier index.php contenant le code suivant à la racine de votre serveur Web :

Lancer le navigateur et aller à la page suivante : http://localhost/. Toute la configuration de Php en détail. Si tel n'est pas le cas, reprendre toutes les étapes précédentes une par une.

Installer MySQL

- Télécharger le package ;
- l'ouvrir :
- Sélectionner une installation de type "Typical" ;
- Suivre ensuite les instructions.
- Si une fenête "login to Mysql" s'ouvre, cliquer sur "Skip Signup"
Une fois l'installation terminée, MySQL lance son utilitaire de configuration.

Configurer Mysql.

-En premier, il faut séltecionner "Server Machine" ou "Developpement Machine" ;
-Cliquer sur Next ;
- Sélectionner "Multifonctionnal Database" ;
- Cliquer sur Next ;
- Sélectionner le répertoire d'installation "MySQL" créé précédemment à la racine du disque d:;
- Cliquer sur Next.
- Sélectionner "Online Transaction Processing (OLTP) ;
- Cliquer sur Next.
- Laisser le port à 3306 ;
- Cliquez sur Next.
- Laisser "Standart Character Set' ;
- Cliquer sur Next.
- Spécifier un nom de service (J'ai choisi la sélection MYSQL4-1) ;
- Cliquer sur Next.
- Spécifier un Pass si besoin ;
- Cliquer ensuite sur Next.
- Enfin, cliquer sur Finish.

A la fin de l'installation, vérifier en tappant [Ctrl]+[Alt]+[Suppr] que le service "mysql-nt.exe" est bien lancé.

Une fois le tout créé, il faut installer MySQL Administrator pour gérer ses Bases de donées, utilisateurs etc...
Pour celà, il suffit de télécharger le package et de suivre les instructions.
Ensuite, cliquez sur démmarer > Tous les Programmes > MySQL > MySQL System Trai Monitor ;
Vous verrez un "Tray icon" apparaître dans la barre d'état. - faire un click-doit dessus. Sélectionner MySQL administrator et se connecter ;
- aller Dans "Catalogs pour gérer les BBD"

Dernière étape de cette installation, la mise en place de phpMyAdmin ...

Installer PHPMyAdmin.

C'est très simple.
Décompresser phpMyAdmin dans le dossier de son choix. Ensuite rendez-vous dans la console d'administration de IIS pour lui créer un répertoire virtuel.

Pour installer phpMyAdmin, j'ai décidé de le mettre dans un répertoire virtuel, afin qu'il n'encombre pas la racine de mon site Web.
La première étape consiste donc à créer cet espace virtuel. L'intérêt de cette méthode est qu'il est possible de protéger phpMyAdmin à l'aide du système d'authentification Windows et des droits NTFS.
Aller sur le site de "The PhpMyAdmin Project" et télécharger la version stable 2.8.2.
Dézipper le tout dans un répertoire WEB (Attribué à IIS).
Par exemple php est le nom du rpertoire que je lui ai attribué.

Pour activer la demande de login / mot de passe sur le dossier, et ainsi restreindre son accès, allez dans les propriétés du répertoire virtuel que nous venons de créer. Dans l'onglet Sécurité de répertoire, choisissez Authentification et contrôle d'accès. Désélectionnez Activer la connexion anonyme. Essayez maintenant d'accéder à phpMyAdmin depuis le navigateur d'une autre machine pour vérifier.

Penser à configurer les droits NTFS sur le répertoire physique de phpMyAdmin pour contrôler les accès.

Editer le fichier de configuration de PHPMyAdmin : config.inc.php ou à défault, ouvrir "config.default.php" et l'enregistrer en le renommant.

URL pour accéder à MySQL
$cfg['PmaAbsoluteUri'] = 'http://server/phpmyadmin/';

Le $i du fichier de configuration vous permet de disposer d'autant de configurations que vous le désirez. Ainsi pour chaque configuration, ces paramètres sont à modifier. Serveur où se situe la base MySQL

Nom ou adresse IP du serveur
$cfg['Servers'][$i]['host'] = 'localhost'; L'extension que vous utilisez avec PHP (voir plus haut) pour accéder à vos bases MySQL
$cfg['Servers'][$i]['extension'] = 'mysqli'; Utilisateur et mot de passe que l'utilisateur utilise pour se connecter
$cfg['Servers'][$i]['user'] = 'user'; $cfg['Servers'][$i]['password'] = '*********';
Un message rouge en bas de la page principale de phpMyAdmin s'affiche alors pour indiquer que l'extension PHP mbstring n'a pu être localisée. Qu'à cela ne tienne, ajouter la par l'intermédiare du fichier de configuration de Php, dans la section Dynamic Extension, il suffit de décommenter la ligne extension=php_mbstring.dll(suppression du ;). Ne pas oublier de relancer IIS pour prendre en compte ces modifications.
Pour fonctionner au mieux, phpMyAdmin aura besoin de stocker des informations dans une base de données.
Créer pour cela une première base de données intitulée phpMyAdmin. Base de données de phpMyAdmin
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';

Préciser également le nom des tables de cette base utilisées pour stocker ces données :

Tables de phpMyAdmin
$cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark'; $cfg['Servers'][$i]['relation'] = 'pma_relation';
$cfg['Servers'][$i]['table_info'] = 'pma_table_info'; $cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages'; $cfg['Servers'][$i]['column_info'] = 'pma_column_info';
$cfg['Servers'][$i]['history'] = 'pma_history';

Après avoir créé la base de données phpmyadmin, créer les tables précédentes à l'aide du script contenu dans le fichier suivant : CreateTables.sql

La création des tables peut se faire à partir de phpMyAdmin, l'absence de celles-ci n'affectant en rien son fonctionnement.

Autres éléments à renseigner :

Le test en local à l'adresse locale http://localhost/php ou http://127.0.0.1/php fait apparaître le message d'erreur comme quoi, la librairie n'a pas pu être chargée...
C'est normal !

Faire démarrer > Exécuter > C:\Windows\php.ini
Rechercher la ligne : ";extension=php_mysql.dll"
enlevez le ";"

Note : Vérifier que le fichier "php_mysql.dll" est présent. S'il ne l'est pas, le télécharger fichier ZIP contenant ce fichier sur php.net et le dézipper dans le répertoire de PHP5.

Une fois le tout fait, rendez-vous sur PHPMyAdmin du serveur local (http://localhost/php)