Come esportare e importare la configurazione di App Pool e Website di IIS

Exporting & Importing App Pools and Websites configuration between multiple IIS instances

Una delle cose che si fanno meno volentieri quando si ha la necessità di configurare molteplici web server - ad esempio quando si cambia web farm o si ha la necessità di riconfigurare o aggiornare la propria infrastruttura - è configurare gli Application Pool e i Website in ciascuna istanza di IIS.

Fortunatamente, a partire da IIS7+, questa procedura può essere quasi interamente automatizzata grazie a una preziosa command-line utility chiamata appcmd, che rende possibile l'esportazione dell'intera configurazione degli App Pool e dei Webserver di IIS in formato XML e la successiva importazione da un'altra istanza: vediamo come.

Esportare gli Application Pool

Nella maggior parte dei casi sarà necessario partire con gli Application Pool, perché i Website si appoggiano ad essi per funzionare: qualsiasi tentativo di importare uno o più website che faccia riferimento a un Application Pool inesistente provocherà il blocco dell'intera procedura. Questo è il comando da utilizzare sul webservice di origine per esportare la totalità degli App Pool in un singolo file .xml:

E' opportuno considerare che questo programma esporterà anche gli Application Pool predefiniti. Sarà necessario rimuoverli manualmente onde evitare problemi con la procedura di importazione. Per far questo, aprite il file  apppools.xml  appena creato e rimuovete i nodi relativi ai seguenti App Pool:

  • DefaultAppPool
  • Classic .NET AppPool
  • .NET v2.0
  • .NET v2.0 Classic
  • .NET v4.5
  • .NET v4.5 Classic

... e qualsiasi altro App Pool già presente sull'IIS di destinazione. Se ne dimenticherete qualcuno, non preoccupatevi: ve ne accorgerete quando proverete a lanciare la procedura di importazione, che si arresterà segnalandovi che ci sono uno o più problemi di nomi già in uso ancora da risolvere.

Importare gli Application Pool

Copiate il file  apppools.xml  sul webserver di destinazione e digitate il seguente comando:

Tutti gli Application Pool presenti all'interno del file saranno creati nella configurazione di IIS del webserver di destinazione.

Esportare i Website

Subito dopo aver finito con gli App Pools potrete passare ai Website. Aprite nuovamente una console command-line sul server di origine e digitate il seguente comando:

Ancora una volta dovrete occuparvi di rimuovere i website predefiniti -  in questo caso soltanto uno, chiamato per l'appunto Default Website - e qualsiasi altro website già esistente sul webserver di destinazione o che volete evitare di copiare. Inutile dire che, anche stavolta, eventuali errori verranno segnalati dalla procedura di importazione che non avrà modo di avere luogo fino a quando il file conterrà uno o più nomi già in uso.

Importare i Website

Esattamente come fatto in precedenza con il file degli Application Pool, Copiate il file  websites.xml  sul webserver di destinazione e digitate il seguente comando:

Esportare/Importare un AppPool e/o un Website specifico

Questi comandi possono essere utilizzati anche per esportare/importare un singolo Application Pool o un Website specifico. L'unico cambiamento da effettuare consiste nell'aggiunta alla command-line del nome dell'App Pool ovvero del Website che si desidera copiare alla command-line, nel seguente modo:

Esportare un Application Pool specifico

Importare un Application Pool specifico

Esportare un Website specifico

Importare un Website specifico

Per il momento è tutto: felice sviluppo!

 

About Ryan

IT Project Manager, Web Interface Architect e Lead Developer di numerosi siti e servizi web ad alto traffico in Italia e in Europa. Dal 2010 si occupa anche della progettazione di App e giochi per dispositivi Android, iOS e Mobile Phone per conto di numerose società italiane. Microsoft MVP for Development Technologies dal 2018.

View all posts by Ryan

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *


The reCAPTCHA verification period has expired. Please reload the page.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.