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%.
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