Compartilhar via


Configuração de um servidor Web para publicação de Implantação da Web (agente remoto)

por Jason Lee

Este tópico descreve como configurar um servidor Web dos Serviços de Informações da Internet (IIS) para dar suporte à publicação e implantação da Web usando o Serviço de Agente Remoto da Ferramenta de Implantação da Web (Implantação da Web) do IIS.

Quando você trabalha com a Implantação da Web 2.0 ou posterior, há três abordagens main que você pode usar para colocar seus aplicativos ou sites em um servidor Web. Você pode:

  • Use o Serviço de Agente Remoto de Implantação da Web. Essa abordagem requer menos configuração do servidor Web, mas você precisa fornecer as credenciais de um administrador de servidor local para implantar qualquer coisa no servidor.
  • Use o Manipulador de Implantação da Web. Essa abordagem é muito mais complexa e requer mais esforço inicial para configurar o servidor Web. No entanto, ao usar essa abordagem, você pode configurar o IIS para permitir que usuários não administradores executem a implantação. O Manipulador de Implantação da Web só está disponível no IIS versão 7 ou posterior.
  • Use a implantação offline. Essa abordagem requer a menor configuração do servidor Web, mas um administrador do servidor deve copiar manualmente o pacote web para o servidor e importá-lo por meio do Gerenciador do IIS.

Para obter mais informações sobre os principais recursos, vantagens e desvantagens dessas abordagens, consulte Escolhendo a abordagem certa para a implantação da Web.

O Agente Remoto de Implantação da Web é a abordagem certa para você?

Sim, se o usuário que implantar o conteúdo puder fornecer as credenciais de um administrador no servidor de destino. Essa abordagem geralmente é desejável nesses tipos de cenários:

  • Ambientes de desenvolvimento ou teste, em que o desenvolvedor tem controle total sobre o servidor Web de destino e o servidor de banco de dados.
  • Organizações menores nas quais um único usuário ou um pequeno grupo de usuários tem controle sobre todo o ciclo de vida do aplicativo.

Em muitas organizações maiores e, particularmente, para ambientes de preparo ou produção, muitas vezes não é realista dar aos usuários direitos de administrador em servidores Web. No caso de servidores Web hospedados, é especialmente improvável que esse seja o caso. Além disso, se você estiver planejando automatizar a implantação de um servidor de build, talvez não queira usar as credenciais de administrador para o processo de implantação. Nesses cenários, configurar seus servidores Web para dar suporte à implantação usando o Manipulador de Implantação da Web pode fornecer uma opção mais satisfatória.

Visão geral da tarefa

Este tópico descreve como configurar um servidor Web do IIS (Serviços de Informações da Internet) 7.5 para aceitar e implantar pacotes Web de um computador remoto usando a abordagem do Agente Remoto de Implantação da Web. Você precisará:

  • Instale o IIS 7.5 e a configuração recomendada do IIS 7.
  • Instale a Implantação da Web 2.1 ou posterior.
  • Crie um site do IIS para hospedar o conteúdo implantado.
  • Verifique se o Serviço de Deployment Agent Web está em execução.

Para hospedar a solução de exemplo especificamente, você também precisará:

  • Instale o .NET Framework 4.0.
  • Instale ASP.NET MVC 3.

Este tópico mostrará como executar cada um desses procedimentos. As tarefas e instruções passo a passo neste tópico pressupõem que você está começando com um build de servidor limpo executando o Windows Server 2008 R2. Antes de continuar, verifique se:

  • O Windows Server 2008 R2 Service Pack 1 e todas as atualizações disponíveis estão instalados.
  • O servidor é ingressado no domínio.
  • O servidor tem um endereço IP estático.

Observação

Para obter mais informações sobre como ingressar computadores em um domínio, confira Como ingressar computadores no domínio e fazer logon. Para obter mais informações sobre como configurar endereços IP estáticos, consulte Configurar um endereço IP estático. O serviço agente remoto tem suporte do IIS 6 em diante e não exige que você seja ingressado em um domínio. No entanto, as etapas neste tutorial foram desenvolvidas e testadas no IIS 7.5 e os procedimentos para outras versões podem variar.

Instalar produtos e componentes

Esta seção orientará você na instalação dos produtos e componentes necessários no servidor Web. Antes de começar, uma boa prática é executar Windows Update para garantir que o servidor esteja totalmente atualizado.

Nesse caso, você precisa instalar estes itens:

  • Configuração recomendada do IIS 7. Isso habilita a função servidor Web (IIS) no servidor Web e instala o conjunto de módulos e componentes do IIS necessários para hospedar um aplicativo ASP.NET.
  • .NET Framework 4.0. Isso é necessário para executar aplicativos que foram criados nesta versão do .NET Framework.
  • Ferramenta de Implantação da Web 2.1 ou posterior. Isso instala a Implantação da Web (e seu executável subjacente, MSDeploy.exe) em seu servidor. Como parte desse processo, ele instala e inicia o Serviço de Deployment Agent Web. Esse serviço permite implantar pacotes Web de um computador remoto.
  • ASP.NET MVC 3. Isso instala os assemblies necessários para executar aplicativos MVC 3.

Observação

Este passo a passo descreve o uso do Web Platform Installer para instalar e configurar os componentes necessários. Embora você não precise usar o Instalador da Plataforma Web, ele simplifica o processo de instalação detectando automaticamente dependências e garantindo que você sempre obtenha as versões mais recentes do produto. Para obter mais informações, consulte Microsoft Web Platform Installer 3.0.

Para instalar os produtos e componentes necessários

  1. Baixe e instale o Web Platform Installer.

  2. Quando a instalação for concluída, o Instalador da Plataforma Web será iniciado automaticamente.

    Observação

    Agora você pode iniciar o Instalador da Plataforma Web a qualquer momento no menu Iniciar . Para fazer isso, no menu Iniciar, clique em Todos os Programas e, em seguida, clique em Microsoft Web Platform Installer.

  3. Na parte superior da janela Web Platform Installer 3.0 , clique em Produtos.

  4. No lado esquerdo da janela, no painel de navegação, clique em Estruturas.

  5. Na linha 4 do Microsoft .NET Framework, se o .NET Framework ainda não estiver instalado, clique em Adicionar.

    Observação

    Talvez você já tenha instalado o .NET Framework 4.0 até Windows Update. Se um produto ou componente já estiver instalado, o Instalador da Plataforma Web indicará isso substituindo o botão Adicionar pelo texto Instalado.

    Se um produto ou componente já estiver instalado, o Instalador da Plataforma Web indicará isso substituindo o botão Adicionar pelo texto Instalado.

  6. Na linha ASP.NET MVC 3 (Visual Studio 2010), clique em Adicionar.

  7. No painel de navegação, clique em Servidor.

  8. Na linha Configuração Recomendada do IIS 7 , clique em Adicionar.

  9. Na linha Ferramenta de Implantação da Web 2.1 , clique em Adicionar.

  10. Clique em Instalar. O Instalador da Plataforma Web mostrará uma lista de produtos, juntamente com as dependências associadas, a serem instalados e solicitará que você aceite os termos de licença.

    Clique em Instalar. O Instalador da Plataforma Web mostrará uma lista de produtos junto com as dependências associadas a serem instaladas e solicitará que você aceite os termos de licença.

  11. Examine os termos de licença e, se você consentir com os termos, clique em Aceito.

  12. Quando a instalação for concluída, clique em Concluir e feche a janela Instalador da Plataforma Web 3.0 .

Se você instalou o .NET Framework 4.0 antes de instalar o IIS, precisará executar o ASP.NET Ferramenta de Registro do IIS (aspnet_regiis.exe) para registrar a versão mais recente do ASP.NET com o IIS. Se você não fizer isso, descobrirá que o IIS fornecerá conteúdo estático (como arquivos HTML) sem problemas, mas retornará o erro HTTP 404.0 – Não encontrado quando você tentar navegar para ASP.NET conteúdo. Você pode usar esse procedimento para garantir que ASP.NET 4.0 esteja registrado.

Para registrar ASP.NET 4.0 com o IIS

  1. Clique em Iniciar e digite Prompt de Comando.

  2. Nos resultados da pesquisa, clique com o botão direito do mouse em Prompt de Comando e clique em Executar como administrador.

  3. Na janela Prompt de Comando, navegue até o diretório %WINDIR%\Microsoft.NET\Framework\v4.0.30319 .

  4. Digite este comando e pressione Enter:

    aspnet_regiis -iru
    
  5. Se você planeja hospedar aplicativos Web de 64 bits a qualquer momento, também deverá registrar a versão de 64 bits do ASP.NET com o IIS. Para fazer isso, na janela Prompt de Comando, navegue até o diretório %WINDIR%\Microsoft.NET\Framework64\v4.0.30319 .

  6. Digite este comando e pressione Enter:

    aspnet_regiis -iru
    

Como uma boa prática, use Windows Update novamente neste ponto para baixar e instalar todas as atualizações disponíveis para os novos produtos e componentes que você instalou.

Configurar o site do IIS

Antes de implantar conteúdo da Web em seu servidor, você precisa criar e configurar um site do IIS para hospedar o conteúdo. A Implantação da Web só pode implantar pacotes da Web em um site do IIS existente; ele não pode criar o site para você. Em um alto nível, você precisará concluir estas tarefas:

  • Crie uma pasta no sistema de arquivos para hospedar seu conteúdo.
  • Crie um site do IIS para atender ao conteúdo e associe-o à pasta local.
  • Conceda permissões de leitura para a identidade do pool de aplicativos na pasta local.

Embora não haja nada que impeça você de implantar conteúdo no site padrão no IIS, essa abordagem não é recomendada para nada além de cenários de teste ou demonstração. Para simular um ambiente de produção, você deve criar um novo site do IIS com configurações específicas aos requisitos do aplicativo.

Para criar e configurar um site do IIS

  1. No sistema de arquivos local, crie uma pasta para armazenar seu conteúdo (por exemplo, C:\DemoSite).

  2. No menu Iniciar, aponte para Ferramentas Administrativas e clique em Gerenciador dos Serviços de Informações da Internet (IIS).

  3. No Gerenciador do IIS, no painel Conexões , expanda o nó do servidor (por exemplo, TESTWEB1).

    No Gerenciador do IIS, no painel Conexões, expanda o nó do servidor (por exemplo, TESTWEB1).

  4. Clique com o botão direito do mouse no nó Sites e clique em Adicionar Site.

  5. Na caixa Nome do site , digite um nome para o site do IIS (por exemplo, DemoSite).

  6. Na caixa Caminho físico , digite (ou navegue até) o caminho para sua pasta local (por exemplo, C:\DemoSite).

  7. Na caixa Porta , digite o número da porta no qual você deseja hospedar o site (por exemplo, 85).

    Observação

    Os números de porta padrão são 80 para HTTP e 443 para HTTPS. No entanto, se você hospedar este site na porta 80, precisará interromper o site padrão para poder acessar seu site.

  8. Deixe a caixa Nome do host em branco, a menos que você deseje configurar um registro DNS (Sistema de Nomes de Domínio) para o site e clique em OK.

    Deixe a caixa Nome do host em branco, a menos que você deseje configurar um registro DNS (Sistema de Nomes de Domínio) para o site e clique em OK.

    Observação

    Em um ambiente de produção, você provavelmente desejará hospedar seu site na porta 80 e configurar um cabeçalho de host, juntamente com registros DNS correspondentes. Para obter mais informações sobre como configurar cabeçalhos de host no IIS 7, consulte Configurar um cabeçalho de host para um site (IIS 7). Para obter mais informações sobre a função de servidor DNS no Windows Server 2008 R2, consulte Visão geral do servidor DNS.

  9. No painel Ações , em Editar Site, clique em Ligações.

  10. Na caixa de diálogo Ligações do Site, clique em Adicionar.

    Na caixa de diálogo Associações de Site, clique em Adicionar.

  11. Na caixa de diálogo Adicionar Associação de Site , defina o endereço IP e a Porta para corresponder à configuração do site existente.

  12. Na caixa Nome do host, digite o nome do servidor Web (por exemplo, TESTWEB1) e clique em OK.

    Na caixa Nome do host, digite o nome do servidor Web (por exemplo, TESTWEB1) e clique em OK.

    Observação

    A primeira associação de site permite que você acesse o site localmente usando o endereço IP e a porta ou http://localhost:85. A segunda associação de site permite que você acesse o site de outros computadores no domínio usando o nome do computador (por exemplo, http://testweb1:85).

  13. Na caixa de diálogo Ligações do Site, clique em Fechar.

  14. No painel Conexões, selecione Pools de aplicativos.

  15. No painel Pools de Aplicativos , clique com o botão direito do mouse no nome do pool de aplicativos e clique em Configurações Básicas. Por padrão, o nome do pool de aplicativos corresponderá ao nome do seu site (por exemplo, DemoSite).

  16. Na lista .NET Framework versão, selecione .NET Framework v4.0.30319 e clique em OK.

    Na lista .NET Framework versão, selecione .NET Framework v4.0.30319 e clique em OK.

    Observação

    A solução de exemplo requer .NET Framework 4.0. Isso não é um requisito para a Implantação da Web em geral.

Para que seu site atenda ao conteúdo, a identidade do pool de aplicativos deve ter permissões de leitura na pasta local que armazena o conteúdo. No IIS 7.5, os pools de aplicativos são executados com uma identidade exclusiva do pool de aplicativos por padrão (ao contrário das versões anteriores do IIS, em que os pools de aplicativos normalmente seriam executados usando a conta do Serviço de Rede). A identidade do pool de aplicativos não é uma conta de usuário real e não aparece em nenhuma lista de usuários ou grupos. Em vez disso, ela é criada dinamicamente quando o pool de aplicativos é iniciado. Cada identidade do pool de aplicativos é adicionada ao grupo de segurança IIS_IUSRS local como um item oculto.

Para conceder permissões a uma identidade do pool de aplicativos em um arquivo ou pasta, você tem duas opções:

  • Atribua permissões à identidade do pool de aplicativos diretamente, usando o formato IIS AppPool[nome do pool de aplicativos] (por exemplo, IIS AppPool\DemoSite).
  • Atribua permissões ao grupo IIS_IUSRS .

A abordagem mais comum é atribuir permissões ao grupo de IIS_IUSRS local, pois essa abordagem permite alterar pools de aplicativos sem reconfigurar as permissões do sistema de arquivos. O próximo procedimento usa essa abordagem baseada em grupo.

Observação

Para obter mais informações sobre identidades do pool de aplicativos no IIS 7.5, consulte Identidades do pool de aplicativos.

Para configurar permissões de pasta para um site do IIS

  1. No Windows Explorer, navegue até o local da pasta local.

  2. Clique com o botão direito do mouse na pasta e, em seguida, clique em Propriedades.

  3. Sobre a guia Security , clique em Edite, em seguida, em Add.

  4. Clique em Locais. Na caixa de diálogo Locais , selecione o servidor local e clique em OK.

    Clique em Locais. Na caixa de diálogo Locais, selecione o servidor local e clique em OK.

  5. Na caixa de diálogo Selecionar Usuários ou Grupos, digiteIIS_IUSRS, clique em Verificar Nomes e clique em OK.

  6. Na caixa de diálogo Permissões para (nome da pasta), observe que o novo grupo recebeu as permissões Ler & executar, Listar conteúdo da pasta e Ler por padrão. Deixe isso inalterado e clique em OK.

  7. Clique em OK para fechar a caixa de diálogo Propriedades (nome da pasta ).

Como uma tarefa final antes de tentar implantar pacotes Web no servidor, você deve garantir que o Serviço de Deployment Agent Web esteja em execução. Quando você implanta um pacote de um computador remoto, o Serviço de Deployment Agent da Web é responsável por extrair e instalar o conteúdo do pacote. O serviço é iniciado por padrão quando você instala a Ferramenta de Implantação da Web e é executado na identidade do Serviço de Rede.

Você pode marcar se um serviço está em execução de várias maneiras diferentes, usando vários utilitários de linha de comando ou cmdlets de Windows PowerShell. Este procedimento descreve uma abordagem simples baseada em interface do usuário.

Para marcar que o Serviço de Deployment Agent Web está em execução

  1. No menu Iniciar , aponte para Ferramentas Administrativase depois clique em Serviços.

  2. Localize a linha Serviço Deployment Agent Web e verifique se o Status está definido como Iniciado.

    Localize a linha Serviço Deployment Agent Web e verifique se o Status está definido como Iniciado.

  3. Se o serviço ainda não tiver sido iniciado, clique em Iniciar.

Configurar exceções de firewall

Por padrão, o Serviço de Agente Remoto escuta na porta TCP 80, nesta URL:

http://servername.com/MSDEPLOYAGENTSERVICE

Na maioria dos casos, você não precisará configurar nenhuma regra de firewall adicional para o Serviço de Agente Remoto porque os servidores Web normalmente escutam solicitações HTTP na porta 80. Se você personalizou sua instalação para escutar em uma porta não padrão, precisará configurar exceções de firewall conforme necessário.

Conclusão

Neste ponto, seu servidor Web está pronto para aceitar e instalar pacotes Web de um computador remoto. Antes de tentar implantar um aplicativo Web no servidor, convém marcar estes pontos-chave:

  • Você registrou ASP.NET 4.0 com o IIS?
  • A identidade do pool de aplicativos tem acesso de leitura à pasta de origem do seu site?
  • O Serviço de Deployment Agent Web está em execução?

Leitura Adicional

Para obter diretrizes sobre como configurar arquivos de projeto de Microsoft Build Engine personalizados (MSBuild) para implantar pacotes Web no Serviço de Agente Remoto, consulte Configurando propriedades de implantação para um ambiente de destino.