Table des matières

Voir cette page sous forme de diaporama.

SI5 - Windows 2003 : serveur WEB IIS6.0

TP 09 - mardi 27 mars et jeudi 29 mars 2012

Objectifs

Éléments de configuration prérequis

Installer IIS 6.0

Nous allons installer IIS et créer une configuration minimale composée d'un site Web par défaut en mode hautement sécurisé et limité à du contenu statique (si cette procédure n'a pas été déjà réalisée).

On vérifie que notre installation s'est déroulée correctement :

Le site Web par défaut

Grâce au Gestionnaire des services Internet (IIS), interface graphique, on configure les fonctionnalités de fiabilité, de performances et de sécurité d'IIS. Il est possible d’ajouter ou supprimer des sites ; de démarrer ou arrêter des sites ; sauvegarder et restaurer des configurations de serveur ; ….

Chaque site Web doit avoir un répertoire de base (racine). On peut modifier le répertoire de base d'un site Web mais attention à penser dans ce cas à redémarrer le service. Les informations sont stockées dans un fichier nommé MetaBase.xml dans le répertoire C:\windows\System32\Inetsrv).

NB : Si vous insérez une virgule dans le nom d'un document par défaut, IIS la considère comme un séparateur distinguant les noms de deux documents par défaut.

Vous allez maintenant créer dans le répertoire de base du serveur Web une page d’accueil personnalisée baptisée index.htm .

<html>
<head>
<title> BIENVENUE !</title>
</head>
<body>
<h1>Vous êtes sur la page d’accueil du site Web par défaut ...</h1>
</body>
</html>

Utilisation d’un répertoire virtuel

Un répertoire virtuel est un alias, nom qui représente soit un répertoire physique sur le disque dur du serveur situé en dehors du répertoire de base, soit un répertoire situé sur un autre ordinateur de manière à pouvoir inclure ces fichiers dans votre site Web.

Un alias étant généralement plus court que le chemin d'accès du répertoire physique, il est plus pratique à saisir pour les utilisateurs. Un alias est plus sûr. En effet, les utilisateurs ne savent pas où vos fichiers sont stockés physiquement sur le serveur et ne peuvent donc pas utiliser cette information pour les modifier. Les alias vous permettent de déplacer plus facilement des répertoires dans votre site. Plutôt que de modifier l'URL du répertoire, vous modifiez le mappage entre l'alias et l'emplacement physique du répertoire. Pour utiliser un répertoire situé sur un autre ordinateur, vous devez spécifier le nom UNC (Universal Naming Convention) du répertoire et fournir un nom d'utilisateur et un mot de passe qui seront utilisés pour les droits d'accès.

Nous allons créer un répertoire virtuel pour pointer vers les pages spécifiques aux comptables qui sont physiquement enregistrées dans le répertoire Données Comptables\web sur le disque E.

	<h1>Vous êtes sur la page d’accueil des comptables ...</h1>

Installation d’un nouveau site Web

Que votre site soit placé sur un réseau intranet ou sur Internet, les principes de fourniture de contenu sont identiques. Vous placez vos fichiers Web dans des répertoires sur votre serveur de sorte que les utilisateurs puissent établir une connexion HTTP et afficher vos fichiers avec un navigateur Web.

Nous allons créer un nouveau site Web pour assurer la promotion de la société.

	<h1>Vous êtes sur la page d’accueil PUBLICITE ...</h1>

Installation d’ASP

Pour héberger un site Web dynamique, il faut un serveur Web et un langage de programmation côté serveur. Pour cela, nous pouvons utiliser ASP. Nous allons donc configurer IIS 6.0 sur le serveur afin d'intégrer ASP.

<%@ LANGUAGE="VBSCRIPT" %>
<HTML>
<HEAD>
<TITLE>BIENVENUE !</TITLE>
</HEAD>
<BODY>
<% Response.Write("<h1>Bonjour tout le monde !</h1>")%>
<p>Nous sommes le <% Response.Write(DATE) %> et il est <% Response.Write(TIME) %></p>
<% for each variable in Request.ServerVariables
       Response.Write(variable + ": " + Request.ServerVariables(variable) + "<br>")
   next %>
</BODY>
</HTML>

Installation de PHP

Pour héberger un site Web dynamique, nous pouvons aussi utiliser PHP : voici comment installer PHP sur notre serveur et configurer IIS 6.0 afin de l'intégrer.

Nous allons au préalable créer un nouveau site Web pour présenter le catalogue de l'entreprise.

	<h1>Vous êtes sur la page d’accueil CATALOGUE ...</h1>

Nous allons maintenant installer l'archive PHP

; Directory in which the loadable extensions (modules) reside.
; extension_dir = ./

par :

; Directory in which the loadable extensions (modules) reside.
extension_dir = F:\PHP5\ext

Il existe deux manières de configurer PHP5 avec IIS6 :

  1. soit sous forme d’un module intégré ISAPI(php5isapi.dll), option retenue ici,
  2. soit sous forme d’un programme externe CGI (php.exe).

Il ne faut bien sur choisir qu’un seul de ces deux modes ! Nous allons utiliser la 1ère option, plus performante (plus rapide en exécution et plus sécurisée), et dérouler sa configuration en trois étapes.

Première étape, il faut ajouter le module php comme filtre Isapi

Deuxième étape, il faut associer l'extension .php au filtre nouvellement créé

Dernière étape, autoriser l'extension php

Chargement des extensions PHP5 : Afin que les extensions php soient chargées correctement, veillez à modifier le path windows en ajoutant le chemin F:\php5.

Il faut également redémarrer IIS6 sur le serveur.

NB : il est souhaitable d'ajouter php parmi les types de page par défaut

Pour modifier l’ordre de priorité des pages par défaut, vous pouvez monter ou descendre les pages présentes (par exemple index.html, index.aspx etc..).

Tester que cela fonctionne

<HTML>
<HEAD>
  <TITLE>BIENVENUE !</TITLE>
</HEAD>
<BODY>
  <?PHP echo "<h1>Bonjour tout le monde !</h1>"; ?>
  <p>Nous sommes le <?PHP echo date("d/m/Y"); ?> 
  et il est <?PHP echo date("H:i"); ?></p>
  <?PHP
  phpinfo();
  ?> 
</BODY>
</HTML>

Pour aller plus loin

Depuis la version 5.3 de PHP, le recours à ISAPI que nous avions privilégié à CGI pour des raisons de performances est délaissé au profit de FastCGI.

Lorsque une application Web utilise CGI (Common Gateway Interface), celle-ci exécute un nouveau processus à chaque requête. La programmation est parfois ardue car le programme est systématiquement exécuté dans un environnement vierge et il faut éventuellement retrouver les informations des requêtes précédentes. De plus, la création systématique de processus peut entrainer une saturation du serveur en cas de forte sollicitation.

Avec FastCGI, un ensemble limité de processus est utilisé pour traiter toutes les requêtes. Suivant les cas, la programmation peut être beaucoup plus simple et le traitement des requêtes plus rapide.