web-dev-qa-db-fra.com

Comment migrez-vous un IIS 7 site sur un autre serveur?

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

  • Recréez manuellement le site sur le nouveau serveur (non maintenable pour des raisons évidentes)
  • Copiez le fichier de paramètres applicationHost.config.
  • Utilisez appcmd pour effectuer une sauvegarde et une restauration
  • Utiliser MSDeploy pour publier le site sur le nouvel ordinateur
  • Utiliser un outil tiers

Je me demandais simplement quelles étaient les expériences des autres.

90
Kalid

Je dirais que vous devez exporter votre configuration de serveur dans le gestionnaire IIS:

  1. Dans le gestionnaire IIS, cliquez sur le nœud Serveur.
  2. Aller à la configuration partagée sous "Gestion"
  3. Cliquez sur «Exporter la configuration». (Vous pouvez utiliser un mot de passe si vous les envoyez par Internet, si vous voulez les déplacer via une clé USB, alors ne vous en faites pas.)
  4. Déplacez ces fichiers sur 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 dans le chemin d'accès physique à ces fichiers et appliquez-les.

  6. Il devrait demander le mot de passe de cryptage (si vous le définissez) et réinitialiser IIS.

BAM! Allez prendre une bière!

113
chews

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

19
Bill Staples

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

17
Roy

Microsoft Web Deploy v3 peut exporter et importer tous vos fichiers, les paramètres de configuration, etc. Il place le tout dans une archive Zip prête à être importée sur le nouveau serveur. Il peut même effectuer une mise à niveau vers les versions les plus récentes de IIS (v7-v8). 

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

Après avoir installé l'outil: Cliquez avec le bouton droit de la souris sur votre serveur ou site Web dans la console de gestion IIS, sélectionnez "Déployer", "Exporter l'application ..." et exécutez l'exportation.

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

12
Zymotik

Je ne peux pas commenter le fil en raison d'un manque de rep. Un autre intervenant a déclaré qu’ils ne pouvaient pas migrer d’une version inférieure vers une version supérieure d’IIS. Cela est vrai si vous ne fusionnez pas certains fichiers, mais vous pouvez le faire car je viens de migrer mon site IIS 7.5 vers IIS 8.0 en utilisant la réponse publiée par chews.

Lorsque l'exportation est créée (II7.5), il existe deux fichiers de clé (administration.config et applicationHost.config) qui font référence à des ressources sur le serveur IIS7.5. Par exemple, une DLL sera référée avec une clé publique et une version spécifique à la version 7.5. Ce ne sont pas les mêmes sur le serveur IIS8. La configuration des fonctionnalités peut également différer (je me suis assuré que les miennes étaient identiques). Certaines nouvelles fonctionnalités de la version 8 n'existeront jamais dans la version 7.5.

Si vous êtes assez courageux pour fusionner les deux fichiers, cela fonctionnera. J'ai dû désinstaller IIS une fois, car je me suis trompé, mais je l'ai eu une deuxième fois.

J'ai utilisé un outil de fusion (Beyond Compare) et sans quelque chose d'équivalent, ce serait un énorme PITA - mais c'était assez facile avec un bon outil de comparaison (cinq minutes).

Pour effectuer la fusion, les fichiers 8.0 doivent être comparés aux fichiers 7.5 exportés AVANT une tentative d’importation. Dans la plupart des cas, les fichiers 8.0 doivent écraser le contenu spécifique au serveur dans les fichiers exportés 7.5, tout en laissant le contenu spécifique au pool de sites/applications.

J'ai trouvé que administration.config était presque identique, sans les informations de version de nombreuses entrées. Celui-ci était facile.

Le fichier applicationHost.config a beaucoup plus de différences. Certaines entrées sont ordonnées différemment, mais sinon identiques, vous devrez donc cerner chaque différence et la comprendre.

Je mets mes fichiers d'exportation 7.5 dans le dossier System32\inetsrv\config\Export avant la fusion.

J'ai fusionné à partir du dossier System32\inetsrv\config dans le dossier System32\inetsrv\config\Export pour les deux fichiers que j'ai mentionnés ci-dessus. J'ai tout inséré dans les fichiers FROM, à l'exception des balises/éléments spécifiques au site (par exemple, applicationPools, customMetadata, sites, authentification). Il est à noter que je devais conserver de nombreux blocs de balises "emplacement" spécifiques au site, mais le nouveau serveur avait son propre bloc de balises "emplacement", avec des valeurs par défaut spécifiques au serveur à conserver.

Enfin, notez que si vous utilisez des comptes de service, ces mots de passe mis en cache sont indésirables et devront être ressaisis pour vos pools d'applications. Au début, aucun de mes sites ne fonctionnait, mais tout ce qui était nécessaire était de ressaisir les mots de passe de tous mes pools d'applications et j'étais opérationnel.

Si quelqu'un qui peut commenter mentionne ce message, cela aidera probablement quelqu'un d'autre comme moi qui possède de nombreux sites sur un serveur avec des configurations compliquées.

Cordialement,

Stuart

3
Stuart

utilisez appcmd pour exporter un ou tous les sites vers l'extérieur, puis réimportez-les dans le nouveau serveur. Cela pourrait être iis7.0 ou 7.5 Lorsque vous exportez avec appcmd, les mots de passe sont décryptés, puis réimportés et ils seront à nouveau cryptés.

3
Jim

Dans mon cas, les fichiers étant déjà copiés, j'ai trouvé le moyen le plus simple de suivre les étapes de ce guide: https://www.ryadel.com/fr/exporting-importing-app-pools-and-websites-configuration -between-multiple-iis-instances/

J'ai exporté AppPools/Websites, copié les fichiers XML sur le serveur de destination, puis importé AppPools puis Websites. A très bien fonctionné. C'est aussi une autre excellente option pour cette question.

0
Ralph