Migrar Site do IIS 6.0 para o IIS 7 ou versões superiores
por Faith A
Este guia rápido ajudará você a migrar um site do IIS 6.0 para o IIS 7 ou superior usando a Ferramenta de Implantação da Web.
Quais tipos de migrações posso realizar com a Ferramenta de Implantação da Web?
- Migrar 1 ou 1.000 sites do IIS 6.0 para o IIS 7 ou superior, incluindo todas as definições de configuração, conteúdo e certificados
- Migrar um aplicativo individual
- Migrar um servidor inteiro (todos os sites, pools de aplicativos etc.) do IIS 6.0 para o IIS 7 ou superior
- Migrar um manifesto personalizado composto por sites, pools de aplicativos, assemblies, objetos COM, chaves do Registro e conteúdo, entre outros, do IIS 6.0 para o IIS 7 ou superior
Pré-requisitos
Este guia exige os seguintes pré-requisitos:
- .NET framework 2.0 SP1 ou superior
- Ferramenta de Implantação da Web 1.1
Observação: se você ainda não instalou a Ferramenta de Implantação da Web, consulte Instalando e Configurando a Implantação da Web.
Parte 1 – Exibir as dependências do seu site
Obtenha as dependências do site executando o seguinte comando:
msdeploy -verb:getDependencies -source:metakey=lm/w3svc/1
Revise a saída das dependências e procure quaisquer mapas de script ou componentes instalados em uso pelo site. Por exemplo, se a Autenticação do Windows estiver em uso pelo site, você verá <dependency name="WindowsAuthentication" />.
Se o seu site estiver herdando quaisquer mapas de script, eles não serão listados nas dependências e você também deverá revisar os mapas de script para seu site manualmente.
Compile uma lista dos componentes necessários no destino.
Para obter etapas detalhadas sobre como analisar a saída de getDependencies, confira Como exibir dependências.
Parte 2 – Configurar o destino
Revise a lista de dependências e instale-as no servidor de destino.
Por exemplo, vamos supor que você tinha o seguinte em uso para seu site:
- ASP.NET
- Autenticação do Windows
- Autenticação Anônima
Com base nessa análise de suas dependências, você instalaria os componentes e módulos correspondentes.
Parte 3 – Migrar o site com o destino usando um arquivo de pacote
Sempre faça backup do servidor de destino. Mesmo se você estiver apenas testando, ele permite que você restaure facilmente o estado do seu servidor.
%windir%\system32\inetsrv\appcmd add backup "PreWebDeploy"
Execute o seguinte comando no servidor de origem para criar um arquivo de pacote (compactado) do servidor:
msdeploy -verb:sync -source:metakey=lm/w3svc/1 -dest:package=c:\Site1.zip > WebDeployPackage.log
Copie o arquivo de pacote para o servidor de destino.
Execute o comando a seguir no servidor de destino para validar o que aconteceria se a operação de sincronização fosse executada:
msdeploy -verb:sync -source:package=c:\Site1.zip -dest:metakey=lm/w3svc/1 -whatif > WebDeploySync.log
Depois de verificar a saída, execute o mesmo comando novamente sem o sinalizador -whatif:
msdeploy -verb:sync -source:package=c:\Site1.zip -dest:metakey=lm/w3svc/1 > WebDeploySync.log
{Opcional – Migrar o site para o destino usando o Serviço do Agente de Implantação da Web}
Se você não quiser usar um pacote, poderá usar o Serviço de Agente de Implantação da Web (MsDepSvc, também chamado de "serviço remoto") para sincronizar do IIS 6.0 para o IIS 7 ou superior.
Instale o serviço remoto na origem ou no destino, dependendo de você desejar sincronizar de uma origem remota ou para um destino remoto.
Inicie o serviço no computador.
net start msdepsvc
Execute o seguinte comando para fazer uma sincronização por "push" da origem local para um destino remoto (substitua Server1 pelo nome do computador remoto). Execute o comando primeiro com o sinalizador whatif, depois sem ele após confirmar que o comando fará o que você deseja.
msdeploy -verb:sync -source:metakey=lm/w3svc/1 -dest:metakey=lm/w3svc/1,computername=Server1 -whatif > msdeploysync.log
Como alternativa, execute o comando a seguir para fazer uma sincronização por "pull" da origem remota para o destino local (substitua Server1 pelo nome do computador remoto). Execute o comando primeiro com o sinalizador whatif, depois sem ele após confirmar que o comando fará o que você deseja.
msdeploy -verb:sync -source:metakey=lm/w3svc/1,computername=Server1 -dest:metakey=lm/w3svc/1 -whatif > msdeploysync.log
Você terminou de migrar o site. Para verificar, teste a navegação até o site no servidor de destino. Para obter ajuda para solucionar problemas, consulte Solução de Problemas de Implantação da Web.
Resumo
Você sincronizou um site de um servidor de origem do IIS 6.0 com um servidor de destino do IIS 7 ou superior exibindo as dependências, configurando o servidor de destino do IIS 6.0 e usando o Serviço do Agente de Implantação da Web ou um arquivo de pacote.