Transfert de la configuration IIS

Sauvegarder la configuration de l'ancien serveur

Chercher les fichiers de backup de la métabase et les transférer

Restaurer la configuration sur le nouveau serveur IIS

Transferts partiels

Quelques pièges idiots


Sauvegarder la configuration de l'ancien serveur

Si ce n'est déjà fait, lancez la console MMC avec Gestionnaire des services internet. Cliquer droit sur l'ancien serveur et choisir Sauvegarder/Restaurer la configuration. Cliquer sur "Créer la sauvegarde...", lui donner un nom adéquat et sauvegarder. Le problème maintenant est de récupérer cette information pour la transférer.

Chercher les fichiers de backup de la métabase et les transférer

En supposant que les doux noms donnés au sauvegardes de configuration faites depuis la MMC avec gestionnaire de services internet, se retrouvent quelquepart sur le disque, on peut lancer une recherche. Et là, oh miracle, on s'aperçoit que c'est le cas.

Prendre celui qui vous intéresse (en principe le dernier, on peut supposer) et le copier dans le répertoire C:\winnt\system32\inetsrv\MetaBack de votre nouveau serveur.

Restaurer la configuration sur le nouveau serveur IIS

Lancer la console MMC et cliquer droit sur le nouveau serveur.

Choisir Sauvegarder/Restaurer la configuration.

Sélectionner la sauvegarde...

... et cliquer sur Restaurer.

Valider l'écran suivant avec "Oui".

Ca mouline un certain temps, puis...

Cliquer sur Fermer dans l'écran précédent.

Repérer d'abord tous les problèmes d'adressage IP en cliquant sur le nouveau serveur, dans la console MMC.

Régler les problèmes, sans oublier le DNS si vous attribuez de nouvelles adresses IP à ces services.

Redémarrer les services (changement dans IIS des adresses IP) ou le serveur (changement/ajout d'adresses IP sur le serveur NT).

Toutes les caractéristiques du serveur IIS semblent récupérées, à tel point que même si le répertoire correspondant à un répertoire virtuel manque à l'appel (défaut de recopie ou création tardive, après la sauvegarde de la configuration) le répertoire virutel est quand même créé. Simplement il est indiqué en erreur.

Il suffit de regarder le chemin d'accès dans la colonne de droite (non visible sur cet écran) pour savoir où se situe le problème.

Transferts partiels

Méthode

Pour des transferts partiels. On peut utiliser l'outil "MetaEdit". Là on peut transférer un service seul. Evidemment on a tout intérêt à ce qu'il porte le même numéro sur le serveur source et le serveur de destination sinon on risque d'écraser un service existant avec celui que l'on transfère.

Cliquer sur le service que l'on veut transférer (par exemple LM/W3SVC/2), puis dans le menu "Metabase" choisir "Export Text File..." et valider. Choisir le nom de fichier de destination et valider.

Sur le serveur de destination :

  1. Vérifier si le numéro de service existe déjà ou non.
  2. Trois cas :

Trucs

Pour ces trucs j'utilise soit tantôt Perl tantôt Grep. Le Perl peut être celui d'Active State ou de cygwin. Le Grep que j'utilise est celui de Cygwin.

Changer le numéro de service dans le fichier export de métabase, avant réimportation, avec Perl
Ici on a remplacé 2 par 9.
(syntaxe avec Active Perl ; avec le Perl de Cygwin, on peut mettre la redirection de sortie en fin de ligne)
perl -pe > fichier_dest.txt "s!^(\[.*)/2(/|])(.*)!$1/9$2$3!" fichier_source.txt
Obtenir la liste des clés du fichier export de métabase
(Attention, j'ai choisi .rtf comme format de sortie à cause du grep de Windows 2000 qui termine chaque ligne sortie seulement par LF, sans CR devant. Cela gène notepad mais pas wordpad.)
grep -ie "^\[/[^/\][^/\]*\(/[^/\][^/\]*\)*]$" metaedittest.txt > liste_cles.rtf
pour les puristes
et
grep -ie "^\[" metaedittest.txt > liste_cles.rtf
pour les économes (je n'ai pas vu de lignes parasites dans le fichier généré)
Obtenir la liste des espaces de scripts du fichier export de métabase
(Attention, il n'y a pas de vérification réelle qu'il s'agisse bien d'un espace de scripts. On s'appuie seulement sur la règle de dénomination utilisée sur le serveur et sur le fait qu'il n'y a jamais de propriété IIS redéfinie plus bas que cet espace. Bien entendu avec VBScript on pourrait faire quelque chose de rigoureux.)
grep -ie "^\[/[^/\][^/\]*\(/[^/\][^/\]*\)*/scripts]$" metaedittest.txt > liste_cles.rtf
 

Quelques pièges idiots

Les certificats pour https

Si vous n'utilisez pas les mêmes certificats sur le serveur web d'origine et le nouveau, ces paramètres doivent être redéfinis "à la main" après le transfert de configuration.

Les redirections d'URL

Un des pièges les plus stupides (nul n'est à l'abri) est lorsque sur le serveur source existait une redirection sur une URL identique du serveur de destination.

Exemple

La racine virtuelle "www.mondom.fr/util" pointe sur "http://ww9.mondom.fr/util" et vous transférez la configuration IIS de www vers ww9.
Evidemment, après transfert, si cette URL pointe sur elle-même, alors l'URL ainsi appelée boucle indéfiniment sur elle-même sans jamais rien afficher.


mailto:etienne.durup@free.fr

Dernière mise à jour : 24.06.2002