Eseguire la migrazione di un sito Web da IIS 6.0 a IIS 7 o versione successiva

di Fede A

Questa guida rapida consente di eseguire la migrazione di un sito Web da IIS 6.0 a IIS 7 o versione successiva usando lo strumento di distribuzione Web.

Quali tipi di migrazioni è possibile eseguire con lo strumento di distribuzione Web?

  • Eseguire la migrazione di 1 o 1.000 siti Web da IIS 6.0 a IIS 7 o versione successiva, incluse tutte le impostazioni di configurazione, il contenuto e i certificati
  • Eseguire la migrazione di una singola applicazione
  • Eseguire la migrazione di un intero server (tutti i siti Web, i pool di applicazioni e così via) da IIS 6.0 a IIS 7 o versione successiva
  • Eseguire la migrazione di un manifesto personalizzato costituito da siti, pool di applicazioni, assembly, oggetti COM, chiavi del Registro di sistema, contenuto e altro ancora da IIS 6.0 a IIS 7 o versione successiva

Prerequisiti

Questa guida richiede i prerequisiti seguenti:

  • .NET Framework 2.0 SP1 o versione successiva
  • Strumento di distribuzione Web 1,1

Nota: se lo strumento di distribuzione Web non è già stato installato, vedere e configurazione della distribuzione Web.

Parte 1- Visualizzare le dipendenze del sito

  1. Ottenere le dipendenze del sito Web eseguendo il comando seguente:

    msdeploy -verb:getDependencies -source:metakey=lm/w3svc/1
    
  2. Esaminare l'output delle dipendenze e cercare eventuali mapping di script o componenti installati in uso dal sito. Ad esempio, se l'autenticazione di Windows è in uso dal sito Web, verrà visualizzato <dependency name="WindowsAuthentication" />.

  3. Se il sito eredita mappe script, queste non verranno elencate nelle dipendenze ed è necessario esaminare manualmente le mappe di script per il sito.

  4. Compilare un elenco dei componenti necessari nella destinazione.

Per i passaggi dettagliati sull'analisi dell'output di getDependencies, vedere .

Parte 2: Configurare la destinazione

Esaminare l'elenco delle dipendenze e installarle nel server di destinazione.

Si supponga, ad esempio, di avere quanto segue in uso per il sito Web:

  • ASP.NET
  • Autenticazione di Windows
  • Autenticazione anonima

In base a questa analisi delle dipendenze, installare i componenti e i moduli corrispondenti.

Parte 3: Eseguire la migrazione del sito alla destinazione usando un file di pacchetto

  1. Eseguire sempre un backup del server di destinazione. Anche se si esegue solo il test, consente di ripristinare facilmente lo stato del server.

    %windir%\system32\inetsrv\appcmd add backup "PreWebDeploy"
    
  2. Eseguire il comando seguente nel server di origine per creare un file di pacchetto (compresso) del server:

    msdeploy -verb:sync  -source:metakey=lm/w3svc/1 -dest:package=c:\Site1.zip > WebDeployPackage.log
    
  3. Copiare il file del pacchetto nel server di destinazione.

  4. Eseguire il comando seguente nel server di destinazione per verificare cosa accadrebbe se fosse stata eseguita un'operazione di sincronizzazione :

    msdeploy -verb:sync -source:package=c:\Site1.zip -dest:metakey=lm/w3svc/1 -whatif > WebDeploySync.log
    
  5. Dopo aver verificato l'output, eseguire di nuovo lo stesso comando senza il flag whatif:

    msdeploy -verb:sync -source:package=c:\Site1.zip -dest:metakey=lm/w3svc/1 > WebDeploySync.log
    

{Facoltativo - Eseguire la migrazione del sito alla destinazione usando il servizio Deployment Agent Web}

Se non si vuole usare un pacchetto, è possibile usare il servizio Web Deployment Agent (MsDepSvc, detto anche "servizio remoto") per eseguire la sincronizzazione da IIS 6.0 a IIS 7 o versione successiva.

  1. Installare il servizio remoto nell'origine o nella destinazione a seconda che si voglia eseguire la sincronizzazione da un'origine remota o in una destinazione remota.

  2. Avviare il servizio nel computer.

    net start msdepsvc
    
  3. Eseguire il comando seguente per eseguire una sincronizzazione "push" dall'origine locale a una destinazione remota (sostituire Server1 con il nome del computer remoto). Eseguire prima il comando con il flag whatif, quindi senza di esso dopo aver confermato che il comando eseguirà le operazioni desiderate.

    msdeploy -verb:sync -source:metakey=lm/w3svc/1 -dest:metakey=lm/w3svc/1,computername=Server1 -whatif > msdeploysync.log
    
  4. In alternativa, eseguire il comando seguente per eseguire una sincronizzazione "pull" dall'origine remota alla destinazione locale (sostituire Server1 con il nome del computer remoto). Eseguire prima il comando con il flag whatif, quindi senza di esso dopo aver confermato che il comando eseguirà le operazioni desiderate.

    msdeploy -verb:sync -source:metakey=lm/w3svc/1,computername=Server1 -dest:metakey=lm/w3svc/1 -whatif > msdeploysync.log
    

A questo punto è stata completata la migrazione del sito. Per verificare, testare l'esplorazione del sito Web nel server di destinazione. Per informazioni sulla risoluzione dei problemi, vedere .

Riepilogo

È stato ora sincronizzato un sito Web da un server IIS 6.0 di origine a un server IIS 7 o versione successiva di destinazione visualizzando le dipendenze, configurando il server IIS di destinazione e usando un file di pacchetto o il servizio Web Deployment Agent.