Lolokai – Supervision, systèmes, réseaux, base de données…

1

Installation de PHP sur notre serveur Web IIS 7.0

taochy.samuel 22 mars 2012

Introduction

Suite à un commentaire de « src » sur le billet précèdent intitulé « Installation d’un Serveur Web IIS 7.0 » . Je vous propose de voir l’installation d’une plateforme PHP sur le Serveur Web IIS 7.0.

Il y a deux moyens d’installer PHP, une façon intuitive  simple qui est d’exécuter via un programme d’installation Windows. il suffit de télécharger le kit d’outil WIX (Windows Installer XML) et installer PHP via « l’installateur ». Cette méthode même si elle est intuitive comporte un défaut: Par défaut aucune extension n’est installée, et si l’on customize l’installation il arrive souvent que soit toutes les extensions soit installées ou beaucoup d’extensions qui ne seront pas utilisées. Or nous sommes sur un serveur,pour des raisons de sécurité il est recommandé d’installer uniquement les extensions utiles à l’utilisation.

L’autre methode et c’est celle que nous détaillerons, est l’installation via le fichier zip Windows téléchargeable sur le site de php. Cette methode est plus fastidieuse pour l’installation mais permet d’avoir un vrai contrôle sur les extensions à installer.

Installation de PHP

Tout d’abord il faut télécharger le fichier zip sur: « http://www.php.net/downloads.php« .

Une fois téléchargé, il faut le dé-zipper dans un dossier. Personnellement j’ai choisi de créer un dossier à la racine nommé php. Je dé-zippe donc mon fichier à « C:/php/ ».

Dossier PHP

Le fichier étant dé-zippé, il faut renommer le fichier « php.ini-production » en « php.ini« . Ensuite, il est important de modifier certaines petites options dans le php.ini : Il faut mettre le « fastcgi.impersonate » à 1, car sous IIS et seulement sous IIS, cette option permet de gérer la sécurité de celui qui fait la requête (grossièrement elle empêche l’usurpation d’identité).
On met le « cgi.fix_pathinfo » à 0, c’est à dire on desactive cette nouvelle fonction de PHP. Cette option permet de dire à php de ne pas fournir un PATH_INFO qui est l’information supplémentaire sur le chemin, mais seulement un PATH_TRANSLATED en SCRIPT_NAME. Pour plus de précision jetez un coup d’oeil aux spécificités des CGI sur le site de php.

Il faut mettre « cgi.force_redirect » à 0, car sous IIS cette option est inutile et peut interferer tout comme OmniHTTPD ou Xitami.

fastcgi et cgi_info

Il faut aussi dire où se situe les extensions. Dans notre cas il s’agit du dossier « ext » présent dans le meme dossier que le php.ini. Donc il faut le stipuler dans l’option « extension_dir = « . / ext » ».

Enfin, il est important de regler les messages d’erreurs pour cela modifier

error_log = « C:/php_errors.log »

Je vous propose aussi de dé-commenter la ligne d’extension mysql: « extension=php_mysql.php », pour activer l’extension mySQL pour php, dans une possible utilisation de MySQL.
Maintenant qu’on a modifié le fichier « php.ini », on va modifier la variable d’environnement « Path » en rajoutant le chemin du dossier php soit « C:\php ». Pour cela il faut aller dans Panneau de configuration -> Système -> Paramètres système avancés -> Variables d’environnement. Dans la fenêtre qui vient de s’ouvrir modifiez la variable path dans les variables systèmes. Il suffit d’ajouter « ;C\php » à la variable.

Cette variable va nous permettre de donner le chemin de notre nouveau module php à notre Serveur IIS. Pour cela ouvrir le « gestionnaire des services internet (IIS) ».  Dans la page d’accueil de votre serveur cliquez sur « Mappages de gestionnaires ».

Dans le menu de droite cliquez sur « Ajouter un mappage de module ». Une fenêtre s’ouvre. Dans cette fenêtre nous allons renseigner le chemin de notre php via la variable « path » modifiée précédemment. On donne le chemin de l’éxecutable de notre php soit « php-cgi.exe ». Il faut aussi choisir le module « FastCGImodule », ce rôle n’est disponible que si vous avez installé le service CGI dans serveur web IIS. Si ce n’est pas le cas rendez-vous dans le « gestionnaire de serveur -> Role -> Serveur Web -> Ajouter des service de roles ». Et ajouter CGI comme service.

Ajoutez en document par défaut le fichier index.php et « defaut.php ».

Une fois cela fait redémarrez votre serveur et vous pouvez coller vos fichiers php dans le dossier « wwwroot ». Et sa marche !

Conclusion

Nous avons vu l’installation d’un serveur IIS et maintenant nous venons de voir comment rajouter la plateforme php pour pouvoir héberger site et application web.

Préférez-vous PHP ou ASP .NET ? Vous qui avez déjà un Serveur Web IIS et php installé, utilisez-vous une extension spécifique qui vous semble indispensable ?taochy.samuel

Comments (1)

  1. Bonjour,
    Tout d’abord merci pour tout vos astuces & tutoriaux qui sont très utiles et très explicites.
    Pour info: l’adresse http est un site exemple pour l’instant.
    Je cherche des renseignements pour PHP:
    J’ai un serveur ISS avec PHP. Je développe avec Webaccappella qui est très simple d’utilisation. La fonction mail fonctionne mais les mails n’arrive pas. Y-a-il une fonction pour PHP particulière. J’ai le même problème avec un serveur Wamp virtualisé par contre j’ai un serveur dédié chez OVH et là ça fonctionne. Je pense que je dois rater quelque chose quelque part. Je ne sais pas si je m’adresse à la bonne personne mais je vous remercie d’avance pour vos renseignements.
    Cordialement,

    Répondre

Laisser un commentaire

Login to your account

Can't remember your Password ?

Register for this site!