43 votes

Directement en modifiant le fichier de configuration applicationHost.config d'IIS 7

Je sais que IIS 7+ utilise des fichiers de configuration XML au lieu de la base de registre. Je sais aussi que si je modifie un fichier web.config pour un site donné, IIS détecte automatiquement les changements et implémente les modifications de configuration correspondantes.

Cependant, est-ce que cela s'applique également au fichier de paramètres applicationHost.config au niveau du serveur ? (généralement situé dans C:\windows\system32\inetsrv\config) En particulier, est-il sûr de modifier ce fichier plutôt que d'utiliser Gestionnaire IIS ou l'utilitaire de ligne de commande appcmd ? Je n'ai rien trouvé dans la documentation qui dise si c'est autorisé ou non de le faire.

Je suis curieux car j'ai besoin de changer les liaisons pour de nombreux sites d'une IP à une autre. Ce serait beaucoup plus rapide de faire une recherche et remplacement global de l'adresse IP dans le fichier de configuration au lieu de modifier manuellement quelques douzaines de sites dans l'interface graphique.

58voto

Babo Saram Points 1

Consultez également cette réponse ici : Impossible de modifier manuellement applicationhost.config

La réponse est simple, même si ce n'est pas évident : win2008 est en 64 bits, notepad++ est en 32 bits. Lorsque vous accédez à Windows\System32\inetsrv\config en utilisant l'explorateur, vous utilisez un programme en 64 bits pour trouver le fichier. Lorsque vous ouvrez le fichier avec notepad++, vous essayez de l'ouvrir avec un programme en 32 bits. La confusion vient du fait que, au lieu de vous informer de ce que vous faites, Windows vous permet d'ouvrir le fichier mais lorsque vous l'enregistrez, le chemin du fichier est automatiquement redirigé vers Windows\SysWOW64\inetsrv\Config.

En pratique, cela signifie que vous ouvrez applicationhost.config avec notepad++, apportez une modification, enregistrez le fichier ; mais au lieu d'écraser l'original, vous enregistrez une copie en 32 bits dans Windows\SysWOW64\inetsrv\Config, ce qui signifie que vous ne modifiez pas la version réellement utilisée par IIS. Si vous accédez à Windows\SysWOW64\inetsrv\Config, vous trouverez le fichier que vous venez d'enregistrer.

Comment contourner ce problème ? C'est simple - utilisez un éditeur de texte en 64 bits, tel que le bloc-notes classique fourni avec Windows.

10voto

TristanK Points 8893

Plus précisément, est-il sûr de modifier soigneusement ce fichier au lieu d'utiliser IIS Manager ou l'utilitaire de ligne de commande appcmd?

Oui! Vous pouvez modifier directement le fichier applicationhost.config si vous êtes administrateur de la machine; c'est tout ce que font aussi les outils d'administration.

Si vous rencontrez des problèmes, au moins 20 minutes de sauvegardes de configuration sont stockées par défaut dans \inetpub\history.

3voto

Mathias R. Jessen Points 24807

Vous trouverez une belle introduction au fichier applicationHost.config juste ici sur IIS.NET. Il y a aussi une référence approfondie pour tous les éléments du schéma de configuration IIS.

C'est assez bien documenté en fait :-)

0voto

Phantom Yoda Points 470

Un autre élément utile à savoir : lorsque vous modifiez manuellement le fichier applicationHost.config (comme le font les outils), seules les applications pour lesquelles vous avez modifié la configuration seront recyclées. En fait, IIS prend en réalité un instantané de la configuration pour chaque application et ne la met à jour que lorsqu'un changement se produit pour cette application.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X