Accueil > Outils > Installer Php et mySql sur IIS

Installer Php et mySql sur IIS

phpiisUtilisant des serveurs Windows 2003, j’ai eu besoin de faire fonctionner sur l’un d’eux une application Php + mySql. L’objectif de l’opération étant bien sûr de faire fonctionner cette application Php à partir de IIS6, et de ne pas installer Apache.

La configuration déjà installée est la suivante :

  • Windows Server Standard 2003 Sp2
  • SQL Server 2005 Standard Sp3
  • Windows Sharepoint Services 2007 Sp2

Les sites Sharepoint 2007 fonctionnent sur le port 80, les sites d’administration sur les ports 4737et 32001. L’installation cible est d’ajouter une application Php sur le port 8080, ainsi que phpMyAdmin sur le port 8090.

IIS

Pour commencer, il faut télécharger les packages suivants:

Installer Php 5

Créer un répertoire sur le serveur pour y décompresser le zip contenant Php.  

Depuis le répertoire d’installation Php, par exemple « C:\PHP », copier le fichier php.ini-recommended dans le répertoire C:\WINDOWS, et renommez le en php.ini. Je n’ai pas réussi pour l’instant à utiliser le fichier php.ini en dehors du répertoire Windows, même en manipulant le PATH. Si quelqu’un à une idée…

Editer le fichier php.ini et modifier comme ci-dessous les lignes suivantes :

; Windows: "\path1;\path2"
include_path = ".;c:\php\includes"
; Directory in which the loadable extensions (modules) reside.
;extension_dir = "./"
extension_dir="c:\php\ext"
extension=php_mysql.dll
extension=php_mysqli.dll

Ajoutez dans le PATH du serveur le chemin vers l’installation de Php. Il trouvera ainsi la Dll « libmysql.dll » nécessaire au fonctionnement php-sql.

Créer un nouveau site dans la console IIS, sur le port 8080 (différent de celui de Sharepoint), qui pointe vers un répertoire local. Ouvrir ensuite les propriétés du site et dans l’onglet « Home Directory » ouvrir « Select Configuration ».

Ajoutez alors l’extension .php en cliquant sur « Add », et en saisissant pour exécutable  « c:\php\php5isapi.dll » et comme extension « .php« .

Ouvrir ensuite les « Web Services Extensions »  de la console IIS et ajouter une extension liée à « c:\php\php5isapi.dll », que vous autorisez.

extend

Redémarrer le serveur.

Créer un fichier de test à la racine du site web « testphp.php » et coller le code suivant.

 <?Php
phpinfo();
?>

Ouvez cette page dans votre navigateur, vous devez avoir des informations sur la version de Php, similaires à ci-dessous.

523

Installer MySQL

 Lancez l’assistant d’installation de MySQL Server et prendre les options suivantes dans la configuration « Detailed configuration » :

  • Server machine
  • Non Transactionnal database (pour un site web php)
  • Decision Support (en fonction du nombre d’accès)
  • Enable TCP, port 3309, Add Firewall exception (attention au port déjà occupé par SQL 2005)
  • Enable Strict Mode
  • UTF-8 (si multilinguisme)
  • Install as Windows Service, Service name « MySQL5 », Launch automaticaly
  • Add to Windows Path
  • Modify Security settings (mettre un mot de passe pour le compte SQL par defaut « root »)

Tester la connexion au service MySQL en créant un fichier « testmysql.php » placé dans la racine du site web, et dans lequel vous collez le code suivant.

<?PHP
//remember to change the password to whatever you set
//it to in mysql instance configuration
//first parameter is server name, 2nd username 'root', 3rd is password
$rst = @mysql_connect("localhost","root","root");
if (!$rst){
  echo( "<p>Unable to connect to database manager.</p>");
       die('Could not connect: ' . mysql_error());
  exit();
} else {
  echo("<p>Successfully Connected to MySQL Database Manager!</p>");
}
if (! @mysql_select_db("mysql") ){
  echo( "<p>Unable to  connect database...</p>");
  exit();
} else {
  echo("<p>Successfully Connected to Database 'MYSQL'!</p>");
}
?>

Installez les MySQL 5.0 GUI Tools pour créer sur le serveur mySQL un compte de connexion autre que « root ». Donnez accès à ce compte au serveur local sur lequel s’exécute le serveur mySQL.

Installer phpMyAdmin

Installer PhpMyAdmin simplement en décompressabnt le fichier Zip dans un répertoire, auquel vous attachez un nouveau site web, port 8090 dans mon exemple (ou sur la racine du site précédemment créé).

sql

Installation d’une application Php

Enfin, but ultime de la manipulation, installation par exemple de GRR (Gestion et Reservation de Ressources).

Décompressez le Zip de GRR dans le répertoire racine du site associé au port 8080.

Accédez au site, l’installeur de GRR va s’occuper du reste, une fois que vous aurez saisi le login et mot de passe du compte de connexion mySQL.

Au final, on obtient donc un serveur Windows 2003 qui sert des sites Windows Sharepoint Services 2007 / SQL server 2005, et un site Php / mySql.

alltogether

  1. Endoril
    03/02/2010 à 10:14 | #1

    Bonjour,

    J’ai suivi le tuto a la lettre, j’ai actuellement un serveur IIS avec PHP fonctionnel.
    J’ai installé MySQL (toujours en suivant le tuto) le service tourne, mais impossible d’avoir le support my SQL : la page de testSQL reste désespérément blanche.
    J’ai tenté d’installer joomla et jai le message « Support Mysql : NO »
    Si vous avez une solution merci de me répondre, une journée que je galère deja :s

  2. Endoril
    03/02/2010 à 11:34 | #2

    Bon j’ai fini par trouver : avec PHP 5.2 il faut :
    copier php.ini dans windows (sans ca PHP fonctionne mais pas MySQL)
    copier libmysql.dll dans system32
    En espérant aider ^^

  3. 04/02/2010 à 10:02 | #3

    Tu as été plus rapide que moi 🙂 Comme d’habitude sous Windows , les fichiers .ini ça marche mieux dans C:\Windows. Il fallait s’y attendre… merci de l’info.

  4. 11/04/2011 à 14:52 | #4

    Bonjour à tous !!

    J’ai bien suivis le Tuto mais au moment du test SQL j’ai une page blanche aussi… J’ai copier le fichier php.ini et libmysql.dll !! Et toujours une page blanche !!

    Merci de m’aider..

  5. 11/04/2011 à 16:17 | #5

    @jerome je suppose donc que tu passes l’étape phpinfo() avec succès, et que tu obtiens bien la page de confirmation de la configuration php ?

    Si le script Php de test de la base ne retourne qu’une page blanche, je pense que c’est plutôt un problème sur Php.

  1. Pas encore de trackbacks