Serveur Web IIS 7 de Microsoft
Serveur Web IIS 7 de Microsoft
Serveur Web IIS 7 de Microsoft
INTRODUCTION
IIS7 est la dernire version du serveur web de Microsoft, ce dernier est rattach,
dans une version allge, Windows Vista et dans sa version intgrale
Windows Server 2008. Une version de Windows Server 2008 lui est entirement
ddie avec Windows Web Server 2008.
Cette version de IIS7 est galement utilisable sur ldition Core de Windows
Server 2008 seulement ce server Web ne prendra pas en charge le Framework
.NET.
Cette dernire version dIIS dispose dune toute nouvelle architecture qui
change totalement dIIS6, cette nouvelle architecture permettra une
administration plus facile et plus performante.
Dans cet article, nous prsenterons les amliorations d'IIS 7.0 et aborderons
ensuite dans les dtails les diffrentes tapes du dploiement et ladministration
du serveur web puis nous arborerons les diffrents modules qui composent notre
serveur web prfr.
Ce cours est ralis avec windows server 2008.
I Les nouvelles fonctionnalits de IIS7
La nouvelle version dIIS prsente des atouts
majeurs par rapport aux anciennes versions. Il est
beaucoup plus modulable, plus scuris et plus
facilement administrable.
II Linstallation dIIS7
II.1 Les modules
- Dveloppement applicatif
Fournit l'infrastructure de dveloppement et d'hbergement des applications
web. Utilisez ces fonctionnalits pour crer des contenus Web ou tendre la
fonctionnalit des services Internet (IIS). Ces technologies permettent
gnralement d'effectuer des oprations dynamiques qui entrainent la cration de
document HTML, qui sont ensuite envoys par les services Internet (IIS) pour
traiter les demandes des clients.
- Intgrit et Diagnostics
Fournit une infrastructure pour analyser, grer et dpanner l'intgrit des
serveurs, des sites et des applications Web.
- Scurit
Fournit une infrastructure pour scuriser le serveur Web face aux utilisateurs et
aux demandes. IIS prend en charge plusieurs mthodes d'authentification.
Choisissez un modle d'authentification appropri en fonction du rle du
serveur. Filtrez toutes les demandes entrantes, en rejetant sans traitement les
demandes qui correspondent des valeurs dfinies par l'utilisateur, ou
restreignez les demandes en fonction de l'espace d'adressage d'origine.
- Performances
Fournit une infrastructure pour mettre en cache la sortie en intgrant les
possibilits de mise en cache dynamiques dASP.NET avec les possibilits de
mise en cache de sortie statiques qui taient prsentes dans IIS 6.0. IIS permet
galement d'utiliser plus efficacement la bande passante et d'optimiser
l'utilisation de mcanismes de compression courants.
- Outils de gestion
Fournissent une infrastructure pour grer un serveur Web IIS7. Vous pouvez
utiliser l'interface utilisateur, les outils en ligne de commande et les scripts IIS
pour grer le serveur Web. Vous pouvez galement modifier directement les
fichiers de configuration.
Cette fentre vous prsente les pr-requis pour installer IIS7. Lorsque vous avez
tout lu, cliquez sur suivant.
Sont reprsents ici tout les rles disponible sur votre serveur, nous sommes
plus particulirement intress par le rle Serveur Web(IIS), cochez le.
Nous pouvons voir que lassistant na pas slectionn dautre rle, vous pouvez
cliquez sur Suivant.
Cette fentre vous propose une introduction au serveur Web ( IIS7). Lorsque
vous avez tout lu, cliquez sur suivant.
Nous sommes prsent sur la fentre de slection des services de rles, nous
allons donc respecter notre cas concret et slectionner ASP.NET dans :
Serveur Web --> Dveloppement dapplications --> ASP.NET
Afin de vous simplifier les choses, aprs avoir coch la case, lassistant vous
propose de slectionner tout les services ncessaires au serveur Web pour tre
un serveur de dveloppement pour ASP.NET. Cliquez donc sur Ajouter les
services de rle requis .
Lassistant a donc slectionn tous les services ncessaires, vous pouvez cliquer
sur Suivant.
Nous remarquons que le dossier qui contient le site web par dfaut est
C:\inetpub\wwwroot . Jai choisit de mettre mon site dans le rpertoire
C:\inetpub\wwwroot\Supinfo mais vous pouvez le mettre nimporte o du
moment que vous puissiez y accder. Jai appel ma page index.html . Si
votre site est dj ralis, copiez lintgralit de votre site dans un dossier.
Attention cependant au respect des langages supports par IIS7. Si vous voulez
raliser un site en ASP.NET, il va falloir installer les modules pour pouvoir lire
vos pages *.aspx et pareil pour PHP.
Voici le site web que je viens de crer. Maintenant, aller dans Dmarrer /
Outils dadministration / Internet Information Service (IIS) Manager .
Nous pouvons voir dans laffichage de notre site est bien apparu.
:
Les quatre options cocher sont ASP.NET et Extensibilit.NET puis Extensions
et Filtres ISAPI qui est l'acronyme d'Internet Server Application Programming
Interface. Le but d'ISAPI est de permettre d'augmenter les fonctionnalits du
serveur web au moyen de DLLs d'extension. Il existe deux types de DLL ISAPI
: les filtres ISAPI et les extensions ISAPI.
Il vous faut placer l'ensemble des fichiers de votre projet ASP.NET dans votre
dossier : c:\inetpub\wwwroot .
Ensuite suivez la dmarche explicative du III.2 qui permet d'ajouter un site web.
Si vous avez suivi toutes ces explications, alors vous devriez pouvoir faire
fonctionner votre site web en entrant http://localhost/ dans la barre de lien de
votre navigateur internet.
Pour la conception d'un site en ASP.NET et en apprendre les rudiments redirig
vous vers www.dotnet-france.com
IV.1.b PHP
Afin d'installer PHP5, il est ncessaire de tlcharger la version zip qui sert
l'obtention des librairies complmentaires de PHP et le .msi disponible tous deux
cet adresse : http://www.php.net/downloads.php
Une fois ces deux fichiers tlchargs nous allons respecter un ordre d'opration,
savoir l'installation du .msi suivi de l'extraction du .zip puis configuration de
php.ini et pour finir configuration d'IIS7.
Installation du .msi
Nous allons donc commencer par l'excution du .msi, pour ce faire double
cliquez sur votre fichier.msi correspondant PHP5 :
Vous devez accepter les termes de la License puis cliquez sur Next.
Vous tes dans la fentre de slection de votre rpertoire pour y installer PHP,
laissez le par dfaut et si toutefois, C:\Program Files\PHP\ n'est pas par
dfaut alors remplacez la ligne par dfaut par celle entoure sur l'image. Puis
cliquez sur Next.
Dans ce cas nous souhaitons donc installer notre module PHP sur un serveur
web IIS, il est conseill pour des raisons de scurits d'utilise IIS ISAPI module
plutt que CGI.
Vous avez extrait tout le contenu de l'arche .zip dans le dossier C:\Program
Files\PHP\
Configuration de php.ini
Allez dans le rpertoire ou vous venez d'extraire votre archive.zip, dans ce
rpertoire se trouve un fichier PHP.ini qu'il faut diter, une fois le fichier trouver
double cliquez dessus
Une fois dans le fichier, pour rechercher la ligne, allez dans Edition?Rechercher,
dans la zone recherche indiquer ceci : extension_dir = "./"
Vrifier dans cette fentre s'il y a un script ayant pour chemin d'accs *.php, s'il
n'y en a pas, il vous faut le crer, pour cela sur la colonne de droite cliquez sur
Ajouter un mappage de script puis inscrivez s'y les mmes informations que
celle figurant sur les captures d'cran suivantes.
Lorsque les trois champs sont remplis, cliquez sur Restrictions des demandes
et indiquez la mme configuration que celle sur les trois captures d'cran
suivantes :
Une fois ceci fait, revenez sur la page d'accueil de votre serveur web puis double
cliquez sur Restrictions CGI et ISAPI :
Ajoutez y une restriction, afin de complter les champs, inscrivez y les mme
paramtres que ceux de la capture d'cran suivante :
A prsent, dans l'onglet connexion placez-vous sur votre site web, vous devrez
refaire la configuration de l'tape Mappage de Gestionnaire par ailleurs il ne faut
pas oublier de positionner votre nouveau Gestionnaire au-dessus du StaticFile.
Pour savoir lequel est au-dessus duquel il faut cliquer droite sur Afficher une
liste trie...
La configuration d'IIS7 est termine, il ne vous reste plus qu'a placer ce fichier
dans votre dossier : c:\inetpub\wwwroot (dossier principale par dfaut de votre
serveur web)
Index.php :
Inscrivez ensuite ce lien dans votre navigateur pour tester votre page :
http://localhost/index.php
IV.2 Scurit
Nous allons maintenant mettre en place la scurit sur notre site cr
prcdemment. Pour cela, nous allons crer un accs ce site en HTTPS
(HyperText Transfer Protocol Secured) en utilisant des certificats. Nous allons
aussi voir comment restreindre l'accs certains utilisateurs.
IV.2.a Installation d'une autorit de certification
Pour commencer, il faut installer une autorit de certification. Cette autorit va
permettre de gnrer des certificats pour utiliser le protocole HTTPS via SSL
(Secure Socket Layer). Un certificat permet de garantir que l'metteur est bien
celui qu'il prtend tre. Pour installer une autorit de certification, il faut
commencer par aller dans Server Manager puis d'ajouter un rle.
Une fois que l'on a cliqu sur suivant, on choisit les rles associs aux certificats
que l'on souhaite installer. Nous choisissons d'installer l'autorit de certification
et le module permettant de demander un certificat par le web ( Certificate
Authority Web Enrollment ). Les autres modules sont destins des
infrastructures complexes.
Une fois le rle install, l'assistant prend fin et nous signale que tout s'est
effectu sans problmes.
IV.2.b HTTPS
Configuration de HTTPS via SSL
Notre autorit de certification cre, on va gnrer un certificat auto-sign pour
utiliser SSL. Pour cela, il faut aller dans l'assistant d'IIS7 et ouvrir Server
Certificate .
Une fentre apparat nous spcifiant que ce site est dj associ au protocole
HTTP. Cliquez sur Ajouter pour lui associer HTTPS.
Il faut maintenant configurer le protocole SSL sur notre site Web. Pour cela,
dans l'assistant d'IIS7, choisissez SSL Settings .
Une fois que l'on a accept de visualis le site et de faire confiance au certificat,
nous accdons au site Web en HTTPS et le cadenas apparat nous signalant que
le site est scuris. En cliquant sur le certificat, nous pouvons voir des
informations complmentaires notamment que la connexion est chiffr via SSL
(128 bits).
Lorsque nous tentons d'accder notre site Web, le navigateur nous demande
de faire confiance au site Web. Si on fait confiance, on arrive sur le site en
HTTPS et le cadenas est prsent.
Nous allons maintenant effectuer le test sous Windows Server 2008 quip
d'internet explorer v7.
Si nous accdons au site via HTTPS, le navigateur commence par nous indiquer
que nous allons nous connecter au site via une connexion scuris.
Ensuite, IE7 nous signale qu'il ne fait pas confiance au certificat du site et nous
suggre de fermer le site.
Si nous continuons, nous arrivons sur le site mais l'adresse est surligne en rouge
et IE7 nous indique toujours que le certificat n'est pas considr, pour lui,
comme une source de confiance.
Nous voyons par cet exemple, qu'IE7 est plus scuris et nous indique de faire
attention face des sites non reconnus comme source de confiance.
Nous allons maintenant voir comment restreindre l'accs aux utilisateurs
anonymes ou n'importe quel utilisateur.
IV.2.c Restriction d'accs
Tout d'abord nous allons voir comment restreindre l'accs aux utilisateurs
anonymes. Lancez l'assistant d'IIS7 et aller dans le menu Authorization Rules
.
Ce menu permet de dfinir les utilisateurs qui auront ou non le droit d'accder
notre site Web. Par dfaut, tous les utilisateurs y ont accs. Faites un clic droit
dans la nouvelle page de l'assistant qui vient d'apparatre et choisissez Add
Deny Rule . On va interdire l'accs aux utilisateurs anonymes.
C'est dans ce volet d'affichage que nous allons choisir nos restrictions d'accs.
Les utilisateurs pouvant se connecter au site Web sont ceux situs dans l'Active
Directory condition qu'ils ne soient pas refuss dans le menu Authorization
Rules .
Les autres modules d'authentifications permettent de faire une authentification
transparente avec l'AD, d'utiliser les cookies
V Autres Services
V.1 FTP
Nous allons nous consacrer dsormais llaboration dun serveur FTP (File
Transfert Protocol) afin de pouvoir partager des fichiers entre des utilisateurs.
V.1.a Installation du serveur FTP 7
Pour commencer, il faut tlcharger FTP v7 sur le site officiel de Microsoft
sinon la version incluse dans IIS7 est la version 6. Pour cela, rendez-vous sur
ladresse : www.microsoft.com/france/telechargements/default.aspx
Le fichier que jai tlcharg se nomme : ftp7_x86_rtw.msi . Une fois
excut, lassistant dinstallation se lance.
Cliquez sur suivant pour pouvoir choisir les modules que vous souhaitez
installer. Jai choisit dinstaller tous pour bnficier au maximum des capacits
du FTP.
Une fois que linstallation sest termine avec succs, vous pouvez consulter le
fichier dinstallation et utiliser FTP 7.
Vous pouvez constater que de nouveaux icnes sont apparus dans la fentre
dadministration dIIS7.
Nous allons maintenant crer un espace FTP pour pouvoir dposer des fichiers
dessus et en rcuprer. Pour cela, aller dans Dmarrer / outils
dAdministrations / Internet Information Services (IIS) Manager .
Ensuite, fates un clic droit sur le dossier Sites et cliquez sur Ajouter un
site FTP .
Ensuite, il faut configurer laccs notre FTP puis SSL. Jai choisi de laisser les
paramtres par dfaut pour laccs lespace FTP (port 21 et par toutes les
interfaces) et de configurer SSL plus tard.
Une fois cette tape valide, on renseigne les autorisations du site et le mode
dauthentification c'est--dire comment et qui peuvent y accder.
La partie Authentification permet de dfinir le mode dauthentification. Si
lon choisit Anonyme , tout le monde pourra y aller sans problme alors que
le mode Basique permet dutiliser des comptes de lAD (Active Directory).
La partie Autorisation permet de renseigner les utilisateurs pouvant accder
notre espace FTP. On prcise aussi les permissions (Lecture, Ecriture).
Jai choisi dautoriser les utilisateurs anonymes consulter notre espace et leur
donner seulement un accs en lecture.
Vous pouvez ajouter des utilisateurs pouvant accder notre espace FTP. Faites
un clic droit au milieu de la fentre et choisissez Add Allow Rule .
Je peux dsormais accder mon espace FTP via mon utilisateur et mettre des
fichiers sur le FTP.
Dsormais, lorsque nous nous connectons notre FTP, nous avons le message
de bienvenue.
Il est aussi possible de mettre en place le protocole SSL pour chiffrer les
donnes entre le serveur et le client. Pour cela, allez dans lassistant IIS et
cliquez sur FTP SSL Settings .
V.2 Webdav
Nous allons maintenant voir comment mettre en place un serveur WebDAV
(Web-based Distributed Authoring and Versioning). WebDAV est une extension
du protocole http permettant de partager, rcuprer, dposer et synchroniser
des fichiers facilement travers le Web.
V.2.a Installation de WebDAV 7
Pour commencer, il faut tlcharger FTP v7 sur le site officiel de Microsoft :
http://www.iis.net/downloads/default.aspx
Le fichier que jai tlcharg pour la rdaction de cet article se nomme :
webdav_x86_rtw.msi . Une fois excut, lassistant dinstallation se lance.
Une fois que vous avez valid la licence et cliquez sur suivant, linstallation se
lance. Celle-ci est assez rapide.
Cet icne vous permet de configurer les paramtres et les utilisateurs pouvant
accder WebDAV.
V.2.b Configuration de WebDAV 7
Pour activer WebDAV, cliquez sur WebDAV Authoring Rules puis sur le
menu de droite Enable WebDAV .
Dans mon cas, jautorise seulement les utilisateurs authentifis et non les
utilisateurs anonymes.
Notre serveur WebDAV est maintenant oprationnel. Nous allons faire un test
sur un client.
Pour cela, jutilise un Windows XP qui se connecte au domaine via lutilisateur
aroumegous .
Je cre un lecteur rseau la main (via la commande net use) pointant vers un
rpertoire que jai cr dans mon serveur configur pour utiliser WebDAV.
La commande est : Net use O: http://winsrv2k8/Supinfo . Le lecteur a
correctement t mont dans Poste de Travail .
Nous voyons dsormais que nous navons plus le droit de modifier un fichier.
On peut galement configurer les pages par dfaut que va charger le serveur
IIS lorsque vous arrivez sur le site. Par dfaut, sur les sites Web, elle se nomme
index.htm ou sur le serveur IIS7 iisstart.htm . On va configurer notre
serveur IIS7 pour dmarrer sur la page mapage.htm . Pour cela, allez dans le
menu Default Document dans lassistant IIS7.
Vous arrivez alors sur toutes les pages reconnus pour tre des pages de
dmarrage.
Nous avons bien notre site Web qui apparat et pas derreur 404 (page not
found).
Commenons par crer une page 404.htm que lon stocke ladresse
http://localhost/Error/404.htm .
Nous allons maintenant personnaliser nos pages derreur. Allez dans le menu
Error Pages dans lassistant IIS7.
Double cliquez sur lerreur 404 pour pouvoir changer la page et mettre la page
que lon a cre.
Validez puis essayez de rentrer une adresse qui nexiste pas dans le navigateur.
Notre page devrait se charger.
Nous allons mettre en place une redirection. Cela peut tre utile lorsquon met
jour un site et que lon ne peut pas le mettre en ligne ou lorsquon ferme un
site et quon souhaite rediriger les requtes vers un autre site. Nous allons
rediriger notre site vers www.supinfo.com.
Pour cela, allez dans le menu HTTP Redirect .
Pour finir cette partie, nous pouvons limiter laccs au site en fonction de
ladresse IP (prive ou publique). Allez dans le menu IPv4 Address et Domain
Restrictions .
Nous allons interdire une machine du rseau accder au site. Pour connatre
son adresse IP, tapez IPCONFIG dans une invite de commande sur la
machine que lon veut interdire.
Son adresse IP est 10.0.0.4. Nous allons donc interdire cette IP.
Conclusion
Nous avons donc pu voir que Microsoft propose ici une version de leur serveur
web totalement remani qui nous permet d'apprcier le systme de module, le
dploiement et la maintenance de ce serveur web, ainsi que les efforts
effectuer du ct de Microsoft pour intgrer le PHP et autres langages
dynamiques dans son serveur web.
On pourra galement apprcier la compatibilit descendante avec IIS6 et le
portail de la communaut IIS de Microsoft (www.iis.net) qui contient toutes les
informations dont vous avez besoin.