You are on page 1of 21

Installation dune ferme IIS

redondante en mode Core (v4.0)



Tutorial conu et rdig par Michel de CREVOISIER Janvier 2014









SOURCES


Ferme IIS:
http://technet.microsoft.com/en-us/library/jj129543.aspx

Configuration de la ferme:
http://technet.microsoft.com/en-us/library/jj129390.aspx



INDEX

SOURCES .............................................................................................................................................................. 1
INDEX ................................................................................................................................................................... 2
Prambule ........................................................................................................................................................... 3
1. Prparation du serveur de fichiers ............................................................................................................. 4
1.1 Cration des utilisateurs ...................................................................................................................... 4
1.2 Cration des dossiers partags ............................................................................................................ 4
1.3 Affectation des droits .......................................................................................................................... 4
2. Configuration des serveurs Web ................................................................................................................ 5
2.1 Ajout des fonctionnalits IIS ................................................................................................................ 5
2.2 Activation de la console de gestion distante IIS .................................................................................. 7
2.3 Cration dun site Web ........................................................................................................................ 7
2.4 Dplacement du site web .................................................................................................................... 8
2.5 Configuration IIS partage ................................................................................................................... 9
3. Activation du load-balancing .............................................................................................................. 12
4. Passage en mode Core ........................................................................................................................ 12
4.1 Intrts .............................................................................................................................................. 12
4.2 Activation du mode Core ............................................................................................................. 12
5. Console IIS distante .................................................................................................................................. 13
5.1 Configuration des serveurs Web ....................................................................................................... 13
5.2 Connexion aux serveurs Web ............................................................................................................ 15
6. Application Request Routing (ARR) .......................................................................................................... 17
6.1 Installation ......................................................................................................................................... 17
6.2 Cration dune ferme ........................................................................................................................ 18
7. Erreurs ....................................................................................................................................................... 20
7.1 503 Service unavailable ..................................................................................................................... 20
7.2 Current identity does not have write access [] ............................................................................... 20
7.3 Server manager : WebServer.Events.xml .......................................................................................... 21
7.4 Cannot write configuration file [] ................................................................................................... 21




Prambule



Lobjectif de ce tutoriel est de mettre en place une ferme de serveurs web hautement disponibles.
Pour cela nous utiliserons un systme de configuration IIS partage ainsi quun systme de rpartition
de charge NLB afin dquilibrer les requtes. Pour terminer nous activerons le monde Core sur la
ferme afin doptimiser et scuriser au maximum les serveurs.


Pour ce tuto, jutiliserai 4 serveurs membres du mme domaine :
SRV-AD: serveur Active Directory et DNS (installation non dtaille)
SRV-WEB01 : serveur web (installation dtaille)
SRV-WEB02 : serveur web (installation dtaille)
SRV-FS : serveur de fichier (installation non dtaille)


Le schma ci-dessous prsente larchitecture cible :

IIS futurs
Websites
IIS futurs
Websites
Shared configuration
NLB with virtual IP
(Network Load Balancing)
File server for
IIS files





1. Prparation du serveur de fichiers

1.1 Cration des utilisateurs

Depuis la console Active Directory, crez deux utilisateurs du domaine nomms :
IIS-Websites : pour laccs au dossier partag contenant vos sites
IIS-ConfigShare : pour laccs au dossier contenant la configuration partage dIIS

1.2 Cration des dossiers partags

Sur votre serveur de fichiers, crez deux dossiers partags :
Content : contiendra les dossiers propres vos sites web
Config : contiendra la configuration partage dIIS

1.3 Affectation des droits

Affectez ensuite les droits suivants sur les dossiers crs :
Content :
o Administrators : lecture/criture
o IIS-Website : lecture
Config :
o Administrators : lecture/criture
o IIS-ConfigShare : lecture/criture







2. Configuration des serveurs Web

2.1 Ajout des fonctionnalits IIS

Pour commencer, il vous faut ajouter le rle IIS sur chacun de vos futurs serveurs Web. Vous disposez
pour cela de 3 possibilits listes la suite. A toutes fins utiles, vous trouverez ici la liste des services
associs au rle IIS 7.5.

2.1.1 Installation locale (GUI)

La premire solution passe une approche traditionnelle. Autrement dit, il vous sera ncessaire de
rpter cette tche sur chacun des serveurs de la ferme. Pour cela :
Connectez-vous sur votre serveur (localement ou distance)
Lancer le Server Manager > Manage > Add roles and fetaures wizard
Et ajoutez la fonctionnalit Web Server IIS avec les modules souhaits :

2.1.2 Installation push (GUI)

Cette seconde solution tire profit des nouveauts apportes par la console Server Manager de Server
2012. En effet, au lieu de vous connecter sur chaque serveur, vous aller pouvoir lancer directement
lassistant depuis la console de votre serveur principal. Toutefois, cela ne vous dispensera pas de
rpter la tche pour chaque serveur. Pour cela :



Ajoutez les futurs serveurs web dans lapart All Servers

Lancer le Server Manager > Manage > Add roles and fetaures wizard
Slectionnez le serveur de votre choix :

Et ajoutez la fonctionnalit Web Server IIS avec les modules souhaits

2.1.3 Installation push (PowerShell)

Cette troisime solution est probablement la plus adapte et la plus rapide dans le cadre de
dploiements massifs de serveurs. Pour commencer, il vous faut instancier une variable avec le nom
des serveurs sur lesquels vous souhaitez dployer ses fonctionnalits. Il suffit ensuite dexcuter une
commande PowerShell globale pour installer dun coup les fonctionnalits souhaites. Pour cela,
ouvrez une console PowerShell et excutez les commandes suivantes :
$Session=New-PsSession ComputerName <name1>, <name2>, <name3>
Invoke-Command Session $Session ScriptBlock {Import-Module ServerManager}
Invoke-Command Session $Session ScriptBlock {Add-WindowsFeature Web-Server,Web-Mgmt-
Tools,Web-Mgmt-Console,Web-WebServer,Web-Common-Http,Web-Default-Doc,Web-Static-
Content,Web-Performance,Web-Stat-Compression,Web-Dyn-Compression,Web-Security, Web-
Mgmt-Service, Web-Basic-Auth, Web-Windows-Auth }

Vous pouvez galement prciser un chemin diffrent pour les sources : -Source D:\sources\sxs



Vrifiez que les rles ont bien t dploys :

2.2 Activation de la console de gestion distante IIS

Avant de poursuivre avec la configuration des serveurs Web, je vous recommande dactiver la console
IIS remote management. Celle-ci vous permettra de configurer et manager plusieurs serveurs IIS
depuis une seule et unique console. Pour cela rfrez-vous au point 5.

2.3 Cration dun site Web

2.3.1 Ajout dune entre DNS

Ajoutez une entre DNS de type A correspondant au nom de votre site web :
Add-DnsServerResourceRecordA -Zonename "<zone DNS>" -Name "<Name>" -IPv4Address "<IP>"

2.3.2 Cration du site

Crez ensuite votre site web (source) :
Import-Module webadministration
New-Item IIS:\Sites\<name> -bindings @{protocol="http";bindingInformation=":<port>:TestSite"} -
physicalPath <c:\test>

Note : aucun application pool sera cr (celui par dfaut sera utilis). Par ailleurs vous naurez
pas la possibilit de prciser les droits de connexion au dossier partag tel quexpliqu au point 2.4.1.

2.3.3 Rgle pare-feu

Pour terminer, crez une rgle autorisant le trafic web sur le port indiqu au point prcdent :
New-NetFirewallRule -DisplayName "<Name>" -Direction Inbound -LocalPort <port> -Protocol TCP -
Action Allow





2.4 Dplacement du site web

2.4.1 Changement de rpertoire

La premire tape consiste modifier lemplacement de votre site en le faisant pointer vers le dossier
partag cr au point 1.2. Depuis la console IIS :
Clic droit sur votre site > Manage website > Advanced settings
Modifiez la valeur Physical path en le faisant pointer vers le dossier partag situ sur votre
serveur de fichier : \\SRV-FILE\<share>

Modifiez ensuite la valeur Physical path credentials en renseignant le compte utilisateur IIS-
Website cr au point 1.1:

Validez le tout et recyclez lapplication pool

2.4.2 Approbation du dossier partag

Il vous faut maintenant approuver le partage rseau contenant votre site. Pour cela excutez les
commandes DOS suivantes sur VOS serveurs IIS :
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\caspol.exe -m -ag 1. -url file://\\<file
server>\<share>\<folder>\* FullTrust
C:\Windows\Microsoft.NET\Framework\v4.0.30319\caspol.exe -m -ag 1. -url file://\\<file
server>\<share>\<folder>\* FullTrust



O :
Fileserver : nom du serveur de fichier
Share : nom du dossier partag contenant vos sites web
Folder : dossier contenant votre site

Vrifiez ensuite que votre zone a bien t prise en compte :
caspol -lg

2.4.3 Autorisations .NET pour le compte IIS

Si vous utilisez les composants .NET v2 et v4 pour votre site, veuillez rajouter le compte daccs au
dossier partag pour le site IIS en question (point 1.1) sur les dossiers Framework suivants :
C:\Windows\Microsoft.NET\Framework64\v2.0.50727\Aspnet_regiis.exe -ga server\IIS-website
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Aspnet_regiis.exe -ga server\ IIS-website
C:\Windows\Microsoft.NET\Framework\v2.0.50727\Aspnet_regiis.exe -ga server\IIS-website
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Aspnet_regiis.exe -ga server\ IIS-website

Dans le cas contraire, lerreur du point 7.2 apparatra.

2.5 Configuration IIS partage

2.5.1 Export de la configuration

Pour que dautres serveurs puissent tre intgrs la ferme, il vous faut activer le mode de
configuration partage. Pour cela :
Sur la console IIS de votre serveur, cliquez sur Shared configuration




Cliquez droite sur Export configuration :
o Indiquez lemplacement du dossier partag cr cet gard au point 1.2
o Indiquez lutilisateur IIS-ConfigShare en cliquant sur Connect As
o Indiquez une clef de chiffrement pour la configuration

2.5.2 Activation de la configuration partage

Il vous faut maintenant activer la configuration partage. Pour cela :
Cliquez sur Enable shared configuration et renseignez les informations demandes :
o Physical path : emplacement du dossier partag de configuration cr au point 1.2
o User name : indiquez lutilisateur IIS-ConfigShare
o Password : son mot de passe associ




La clef de cryptage cre au point 2.5.1 vous sera alors demande. Validez pour terminer :

2.5.3 Intgration dun nouveau serveur

Maintenant que votre configuration Web est partage de faon scurise, il vous est possible
dintgrer dautres serveurs web. Pour cela, rptez le point 2.5.2 et :
Redmarrez le service IIS depuis la console
Fermez et ouvrez la console IIS

On notera que toutes les lments propres la configuration du serveur sont pris en compte, dont :
Les Applications Pool
Les sites web
Les modes dauthentification activs ou dsactivs
Les binds (IP, nom, port, certificats )

Note : en revanche, les tats des sites ne sont pas synchroniss. Heureusement car autrement cette
configuration naurait aucun intrt.

2.5.4 Vrifications des accs

Vous pouvez vrifier que les identifiants saisis sont corrects de la faon suivante :
Slectionnez votre site dans larborescence situe gauche de la console IIS
Dans lapart droite, cliquez sur Basic settings > Test settings






3. Activation du load-balancing

Maintenant que vos serveurs web sont oprationnels, ajoutez-les au sein dun cluster NLB afin de
rendre hautement disponibles les sites hbergs. Pour cela je vous recommande la lecture de mon
tuto concernant la mise en place dun cluster NLB.

Notez toutefois quel lIP mule par le NLB devra correspondre lentre DNS pointant vers le nom
de votre site (point 2.3.1).

4. Passage en mode Core

4.1 Intrts

Le mode Core permet de dsactiver linterface graphique du serveur de faon minimiser sa surface
dattaque. Par ailleurs, cela contribue grandement la scurit tout en rduisant les oprations de
maintenance ainsi que les ressources consommes. Sous Server 2008 R2, ce choix devait seffectuer
lors de linstallation de Windows. Mais avec Windows Server 2012, il est facilement possible de
changer de mode ; lide gnrale tant de configurer son serveur en mode GUI pour ensuite le
basculer en mode Core lorsque la configuration serait prte.

A titre dinformation, sachez quun Windows Server 2012 (virtuel) consomme aprs son installation
et avec les dernires mises jour, 400 Mb sur 1 Gb dinstall. En mode Core, la mmoire RAM occupe
est rduite denviron 45%.

4.2 Activation du mode Core

Import-Module ServerManager
Uninstall-WindowsFeature Server-Gui-Shell,Server-Gui-Mgmt-Infra -Restart





5. Console IIS distante

Pour rappel, lactivation de cette console permet ladministration distante dIIS. Notez toutefois que
sa configuration est uniquement accessible depuis la console IIS locale.

5.1 Configuration des serveurs Web

5.1.1 Ajout de la fonctionnalit (PowerShell)

Ouvrez une console PowerShell sur votre serveur pilote et excutez la commande suivante, en
prcisant bien le nom des serveurs pour lesquels vous souhaiter activer cette fonctionnalit :
$Session=New-PsSession ComputerName <name1>, <name2>, <name3>
Invoke-Command Session $Session ScriptBlock {Import-Module ServerManager}
Invoke-Command Session $Session ScriptBlock {Add-WindowsFeature Web-Mgmt-Service}

5.1.2 Ajout de la fonctionnalit (GUI)

Vous pouvez galement ajouter cette fonctionnalit graphiquement sur vos serveurs. Pour cela :
Connectez-vous sur votre serveur (localement ou distance)
Lancer le Server Manager > Manage > Add roles and fetaures wizard
Slectionnez la fonctionnalit Web Server (IIS)
Et ajoutez le Management Service

5.1.3 Activation du service (GUI)

Il vous faut maintenant configurer le service. Pour cela, connectez-vous manuellement sur chaque
serveur est effectuez les configurations suivantes :
Lancez la console Internet Information Services (IIS) Manager

Cliquez sur Management Service



Cliquez sur Enable remote connections et renseignez les informations demandes :
o IP address: indiquez lIP qui sera en coute pour ce service
o Port : choisissez un port de votre choix (par dfaut 8172)
o SSL certificate : vous pouvez utiliser le certificat par dfaut ou en ajouter un
o IP address restrictions : passez le champ Deny et ajoutez ladresse IP de votre
serveur pilote

Une fois votre configuration termine, cliquez sur Apply dans le menu droite pour valider
votre configuration, puis sur Start pour dmarrer le service :




5.1.4 Cration dune rgle de pare-feu

Si vous optez pour la configuration par dfaut (dconseill), la rgle suivante sera automatiquement
active pour autoriser les communications TCP sur le port 8172 :

Pour crer une rgle de pare-feu afin dautoriser les connexions entrantes sur un port diffrent de
celui utilis nativement, excutez la commande suivante :
$Session=New-PsSession ComputerName <name1>,<name2>
Invoke-Command Session $Session ScriptBlock {New-NetFirewallRule -DisplayName IIS
management -Direction Inbound Protocol TCP LocalPort <port> -Action allow Profile
Private,Domain}

5.1.5 Dmarrage automatique du service

Passez ensuite le mode de dmarrage du service en automatique (manuel par dfaut) en excutant
la commande DOS suivante :
$Session=New-PsSession ComputerName <name1>,<name2>
Invoke-Command Session $Session ScriptBlock {set-service wmsvc -startuptype automatic}

5.2 Connexion aux serveurs Web

5.2.1 Ajout de la console IIS

Maintenant que tous les serveurs Web de votre ferme ont le service activ et configur, il vous faut
installer la console IIS sur le serveur qui pilotera votre ferme. Pour cela, excutez la commande
PowerShell suivante :
Add-WindowsFeature Web-Mgmt-Tools,Web-Mgmt-Console

5.2.2 Ajout dun serveur web

Ajoutez pour terminer les serveurs web que vous souhaitez piloter. Pour cela :
Ouvrez la console IIS Manager et cliquez sur Connect to a server




Renseignez les informations demandes :
o Server name : <nom serveur> :<port>

o User name : <domaine>\<user>
Acceptez lalerte de certificat
Indiquez un nom pour cette connexion

Rptez ensuite cette action pour tous vos serveurs Web



6. Application Request Routing (ARR)

6.1 Installation

LApplication Request Routing (ARR) vous permet dimplmenter des fonctionnalits avances de
haute-disponibilit et de rpartition de charge sur vos serveurs IIS (source).

Attention ! ARR ne supporte pas la configuration partage active au point 2.5

6.1.1 Installation automatique

Tlchargez le Web installer partir du lien suivant. Lancez-le afin quil installe automatiquement
les logiciels requis :

Si tout est bon :




6.1.2 Installation manuelle

Pour installer ARR en mode en hors-ligne, vous devrez installer dans lordre les composants
suivants (source) :
Web Farm Framework (v1): tlchargement ici
External Cache (v1): tlchargement ici
URL rewrite (v2): tlchargement ici
ARR (v2.5): tlchargement ici

6.1.3 Nouveauts

Les services suivants sont rajouts par lARR :
Application Requet Routing Cache
URL Rewrite
Web Plateform Installer

Lapart Server Farm est galement disponible :

6.2 Cration dune ferme

Clic droit > Create server farm




Indiquez le nom des serveurs web membre de la ferme :

Dirigez-vous ensuite vers la ferme cre et remarquez les nouvelles options disponibles :




7. Erreurs

7.1 503 Service unavailable

Le problme suivant se pose ds lors que vous utilisez une configuration partage. En effet, lorsque
le serveur de fichier hbergeant la configuration IIS nest plus joignable, le systme va essayer de la
recharger partir dune configuration locale. A ce stade :
des erreurs W3SVC seront enregistres

une erreur 503 Service Unavailable sera prsente sur votre site

Solution : excutez un IISreset sur chacun de vos serveurs pour relancer vos sites. Il existe quelques
solutions parant cette problmatique :
Mise en place dun partage DFS
Mise en place dun partage SMB v3 hautement disponible
Configurer les Offlines files (sources)

7.2 Current identity does not have write access []




Cette erreur se produit si votre site web fait appel aux composants .NET tout en utilisant un dossier
partag (point 2.4). Pour corriger ce problme, suivez les indications du point 2.4.3.

7.3 Server manager : WebServer.Events.xml

Pour corriger cette erreur, supprimer la clef EventQuery situe dans la ruche suivante :
HKLM\Software\Microsoft\ServerManager\ServicingStorage\ServerComponentCache\Web-Server

7.4 Cannot write configuration file []

Si vous pilotez vos serveurs IIS partir dune console distante (point 5) tout en utilisant une
configuration partage (point 2.5), lerreur ci-dessous se produira si par exemple vous souhaitez
arrter/dmarrer votre serveur :

Cette erreur est provoque en raison de labsence de droits sur le dossier partag de la configuration
dIIS. En effet, lorsque vous grer distance vos serveurs IIS sur configuration partage, ce nest pas
votre compte qui est utilis, sinon le compte de service excutant le Web Management Service
(point 5).

Solution : ajouter le compte Local Service en lecture/criture sur le dossier partag de la
configuration partage IIS. Vous pouvez galement modifier le compte de service Web
Management Service avec un compte de service et ajoutant ce compte sur ce dossier partag




Nhsitez pas menvoyer vos commentaires ou retours ladresse suivante :
m.decrevoisier A-R-0-B-A-5 outlook . com

Soyez-en dores et dj remerci

You might also like