126 votes

Comment migrer un site IIS 7 vers un autre serveur ?

Je me demande quelle est la meilleure pratique pour déplacer un site web vers un autre serveur (avec tous les paramètres, etc.)

  • Recréer manuellement le site sur le nouveau serveur (pas maintenable pour des raisons évidentes)
  • Copier le fichier de paramètres applicationHost.config
  • Utiliser appcmd pour sauvegarder et restaurer
  • Utiliser MSDeploy pour publier le site sur la nouvelle machine
  • Utiliser un outil tiers

Je me demande juste quelles ont été les expériences des autres.

0 votes

Microsoft recommande seulement Web Deploy (après la création de cet outil), donc avant de lire les réponses ci-dessous, assurez-vous de savoir que vous le faites entièrement à vos propres risques.

154voto

chews Points 1507

Je dirais d'exporter la configuration de votre serveur dans le gestionnaire IIS :

  1. Dans le gestionnaire IIS, cliquez sur le nœud Serveur

  2. Allez dans Configuration partagée sous "Gestion"

  3. Cliquez sur "Exporter la configuration". (Vous pouvez utiliser un mot de passe si vous les envoyez via internet, si vous les déplacez simplement via une clé USB, ne vous en faites pas.)

  4. Déplacez ces fichiers vers votre nouveau serveur

    administration.config
    applicationHost.config
    configEncKey.key 
  5. Sur le nouveau serveur, retournez à la section "Configuration partagée" et cochez "Activer la configuration partagée". Entrez l'emplacement du chemin physique vers ces fichiers et appliquez-les.

  6. Il devrait vous demander le mot de passe de chiffrement (si vous l'avez défini) et réinitialiser IIS.

BAM ! Allez prendre une bière !

1 votes

One small tip.... J'avais continuellement le message Service Unavailable sur ma deuxième machine. En consultant l'Observateur d'événements, il mentionnait une DLL qu'il ne pouvait pas charger. Cela est survenu car j'avais des options différentes sélectionnées dans la Configuration de Windows sur la boîte principale.

10 votes

Il faudrait probablement utiliser l'Import Server ou le Site Package au lieu de simplement copier les fichiers, même si je n'ai pas testé cela non plus. Mais je sais qu'il y a des chemins de fichiers dans le fichier applicationHost.config qui ne seront pas forcément présents sur le nouveau serveur, ce qui provoquerait un dysfonctionnement. De plus, vous devriez probablement mentionner qu'il ne peut y avoir AUCUN site actuellement sur IIS, afin que ce processus ne perturbe pas la configuration en cours d'exécution.

0 votes

J'ai eu une erreur lors de la première tentative, mais j'ai ouvert les deux fichiers de configuration et j'ai remplacé le nom de la machine à partir de laquelle la configuration a été exportée par le nom de la machine d'importation et cela a fonctionné.

32voto

Bill Staples Points 101

MSDeploy peut migrer tout le contenu, la configuration, etc. c'est ce que recommande l'équipe de l'IIS. http://www.iis.net/extensions/WebDeploymentTool

Pour créer un package, exécutez la commande suivante (remplacez Default Web Site par le nom de votre site web) :

msdeploy.exe -verb:sync -source:apphostconfig="Default Web Site" -dest:package=c:\dws.zip > DWSpackage7.log

Pour restaurer le package, exécutez la commande suivante :

msdeploy.exe -verb:sync -source:package=c:\dws.zip -dest:apphostconfig="Default Web Site" > DWSpackage7.log

1 votes

Merci Bill - J'avais vu l'outil mais j'étais méfiant car il était encore en Beta.

2 votes

En 2016, c'est toujours "state of the art", mais MSDEPLOY 3.6 est vraiment difficile à utiliser. J'espère qu'ils créeront quelque chose de nouveau à un moment donné.

1 votes

MSDeploy n'a pas transféré correctement les sites pour nous. Nous nous sommes retrouvés avec un site contenant des applications de chacun de nos sites, donc la structure entière était incorrecte.

22voto

Roy Points 71

Voici un site Web utile sur l'utilisation d'appcmd pour exporter/importer une configuration de site. http://www.microsoftpro.nl/2011/01/27/exporting-and-importing-sites-and-app-pools-from-iis-7-and-7-5/

1 votes

Merci pour le lien. Cela m'a également permis de modifier l'identifiant du site et tout le reste sans avoir à configurer 10 applications différentes et 30 répertoires virtuels différents. Gagne-temps.

1 votes

Comme cette approche ne prend pas en compte les dépendances sous-jacentes (modules IIS, etc.), utilisez-la à vos propres risques.

0 votes

Valide pour ce paysage ? : Mes sites Web et virtualdirs ont des certificats pour https et les noms d'hôte. Certains sites Web sont publics pour Internet.

15voto

Zymotik Points 491

Microsoft Web Deploy v3 peut exporter et importer tous vos fichiers, les paramètres de configuration, etc. Il les met tous dans une archive zip prête à être importée sur le nouveau serveur. Il peut même passer à des versions plus récentes d'IIS (v7-v8).

http://www.iis.net/extensions/WebDeploymentTool

Après avoir installé l'outil : Cliquez avec le bouton droit sur votre serveur ou site web dans la console de gestion IIS, sélectionnez 'Déployer', 'Exporter l'application...' et suivez le processus d'exportation.

Sur le nouveau serveur, importez l'archive zip exportée de la même manière.

0 votes

Mais il prend tous les fichiers. Y a-t-il un moyen de ne pas prendre les fichiers? si vous, par exemple, migrez un serveur FTP, il essaie de récupérer tous les fichiers et de les compresser.

2 votes

@RayofCommand - Lors de la sélection des options de déploiement, vous pouvez effacer la liste "Contenu" - puis le package ne comprend pas tous les fichiers.

1 votes

Mais seulement lors du déploiement site par site.... pas pour un déplacement complet du serveur.

3voto

Jim Points 21

Utilisez appcmd pour exporter un ou tous les sites, puis réimportez-les dans le nouveau serveur. Il peut s'agir de iis7.0 ou 7.5 Lorsque vous exportez en utilisant appcmd, les mots de passe sont décryptés, puis réimportez-les et ils seront à nouveau chiffrés.

0 votes

Avez-vous un exemple complet à ce sujet, en utilisant appcmd ?

0 votes

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X