Partilhar via


Configuração de um Servidor Web para Publicar com Web Deploy (Agente Remoto)

por Jason Lee

Este tópico descreve como configurar um servidor web de Serviços de Informação da Internet (IIS) para suportar publicação e implementação web utilizando o Serviço de Agente Remoto da Ferramenta de Implantação Web do IIS (Web Deployment).

Quando trabalha com Web Deploy 2.0 ou versões posteriores, existem três abordagens principais que pode usar para colocar as suas aplicações ou sites num servidor web. É possível:

  • Use o serviço Web Deploy Remote Agent. Esta abordagem requer menos configuração do servidor web, mas é necessário fornecer as credenciais de um administrador local para poder implementar qualquer coisa no servidor.
  • Utilize o Web Deploy Handler. Esta abordagem é muito mais complexa e exige mais esforço inicial para configurar o servidor web. No entanto, ao usar esta abordagem, pode configurar o IIS para permitir que utilizadores não administradores realizem a implementação. O Web Deploy Handler está disponível apenas na versão 7 do IIS ou posterior.
  • Use a opção de implementação offline. Esta 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 através do IIS Manager.

Para mais informações sobre as principais características, vantagens e desvantagens destas abordagens, consulte Escolher a Abordagem Certa para a Implementação Web.

O Web Deploy Remote Agent é a abordagem certa para si?

Sim, se o utilizador que irá implementar o conteúdo puder fornecer as credenciais de um administrador no servidor de destino. Esta abordagem é frequentemente desejável nestes tipos de cenários:

  • Ambientes de desenvolvimento ou teste, onde o programador tem controlo total sobre o servidor web de destino e o servidor de base de dados.
  • Organizações mais pequenas em que um único utilizador ou um pequeno grupo de utilizadores tem controlo sobre todo o ciclo de vida da aplicação.

Em muitas organizações maiores, e especialmente em ambientes de encenação ou produção, muitas vezes não é realista dar aos utilizadores direitos de administrador em servidores web. No caso dos servidores web alojados, é especialmente improvável que aconteça. Além disso, se planeia automatizar a implementação a partir de um servidor de compilação, pode não querer usar credenciais de administrador para o processo de implementação. Nestes cenários, configurar os seus servidores web para suportar a implementação usando o Web Deploy Handler pode proporcionar uma escolha mais satisfatória.

Visão Geral da Tarefa

Este tópico descreve como configurar um servidor web Internet Information Services (IIS) 7.5 para aceitar e implementar pacotes web a partir de um computador remoto usando a abordagem Web Deploy Remote Agent. Você precisará:

  • Instala o IIS 7.5 e a configuração recomendada do IIS 7.
  • Instale o Web Deploy 2.1 ou posterior.
  • Crie um site IIS para alojar o conteúdo implementado.
  • Certifique-se de que o Web Deployment Agent Service está a funcionar.

Para hospedar especificamente a solução de amostra, terá também de:

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

Este tópico irá mostrar-lhe como realizar cada um destes procedimentos. As tarefas e guias deste tópico assumem que estás a começar com uma build limpa do servidor a correr Windows Server 2008 R2. Antes de continuar, certifique-se de que:

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

Observação

Para mais informações sobre como ligar computadores a um domínio, consulte Ligar Computadores ao Domínio e Iniciar Sessão. Para mais informações sobre a configuração de endereços IP estáticos, consulte Configurar um Endereço IP Estático. O serviço Remote Agent é suportado a partir do IIS 6 e não requer que esteja ligado a um domínio. No entanto, os passos deste tutorial foram desenvolvidos e testados no IIS 7.5 e os procedimentos para outras versões podem variar.

Instalação de Produtos e Componentes

Esta secção irá guiá-lo na instalação dos produtos e componentes necessários no servidor web. Antes de começar, uma boa prática é executar o Windows Update para garantir que o seu servidor está totalmente atualizado.

Neste caso, precisa de instalar estas coisas:

  • Configuração recomendada do IIS 7. Isto permite o papel de Servidor Web (IIS) no seu servidor web e instala o conjunto de módulos e componentes IIS de que necessita para alojar uma aplicação ASP.NET.
  • .NET Framework 4.0. Isto é necessário para executar aplicações construídas nesta versão do .NET Framework.
  • Web Deployment Tool 2.1 ou posterior. Isto instala o Web Deploy (e o seu executável subjacente, MSDeploy.exe) no seu servidor. Como parte deste processo, instala-se e inicia o Web Deployment Agent Service. Este serviço permite-lhe implementar pacotes web a partir de um computador remoto.
  • ASP.NET MVC 3. Isto instala os assemblies necessários para executar aplicações MVC 3.

Observação

Este guia descreve a utilização do Instalador da Plataforma Web para instalar e configurar os componentes necessários. Embora não seja necessário usar o Web Platform Installer, este simplifica o processo de instalação ao detetar automaticamente dependências e garantir que recebe sempre as versões mais recentes dos produtos. Para mais informações, consulte Microsoft Web Platform Installer 3.0.

Para instalar os produtos e componentes necessários

  1. Transfira e instale o Web Platform Installer.

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

    Observação

    Agora pode abrir o Instalador da Plataforma Web a qualquer momento a partir do menu Iniciar . Para isso, no menu Iniciar , clique em Todos os Programas e depois em Microsoft Web Platform Installer.

  3. No topo da janela Web Platform Installer 3.0 , clique em Produtos.

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

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

    Observação

    Pode já ter instalado o .NET Framework 4.0 através do 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 de Configuração Recomendada do IIS 7 , clique em Adicionar.

  9. Na linha Web Deployment Tool 2.1 , clique em Adicionar.

  10. Clique em Instalar. O Instalador da Plataforma Web irá mostrar-lhe uma lista de produtos — juntamente com quaisquer dependências associadas — a instalar e irá pedir-lhe para aceitar os termos da licença.

    Clica em Instalar. O Instalador da Plataforma Web irá mostrar-lhe uma lista de produtos juntamente com quaisquer dependências associadas a instalar e irá pedir-lhe para aceitar os termos da licença.

  11. Consulte os termos da licença e, se concordar, clique em Aceito.

  12. Quando a instalação estiver concluída, clique em Terminar e depois feche a janela Web Platform Installer 3.0 .

Se instalaste o .NET Framework 4.0 antes de instalares o IIS, terás de executar a Ferramenta de Registo do IIS ASP.NET (aspnet_regiis.exe) para registar a versão mais recente do ASP.NET no IIS. Se não o fizer, verá que o IIS serve conteúdo estático (como ficheiros HTML) sem problemas, mas devolve HTTP Error 404.0 – Não Encontrado quando tenta navegar para ASP.NET conteúdo. Pode usar este procedimento para garantir que ASP.NET 4.0 está registado.

Para registar ASP.NET 4.0 no IIS

  1. Clica em Iniciar e depois escreve em Prompt de Comandos.

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

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

  4. Escreve este comando e depois carrega em Enter:

    aspnet_regiis -iru
    
  5. Se planeia alojar aplicações web de 64 bits em algum momento, deve também registar a versão de 64 bits do ASP.NET no IIS. Para isso, na janela do Prompt de Comandos, navegue até ao diretório %WINDIR%\Microsoft.NET\Framework64\v4.0.30319 .

  6. Escreve este comando e depois carrega em Enter:

    aspnet_regiis -iru
    

Como boa prática, volte a usar o Windows Update neste momento para descarregar e instalar quaisquer atualizações disponíveis para os novos produtos e componentes que instalou.

Configurar o Website do IIS

Antes de poder implementar conteúdo web no seu servidor, precisa de criar e configurar um site IIS para alojar o conteúdo. O Web Deploy só pode implementar pacotes web para um site IIS existente; Não consegue criar o site por si. A um nível geral, terá de completar estas tarefas:

  • Cria uma pasta no sistema de ficheiros para alojar o teu conteúdo.
  • Crie um site IIS para servir o conteúdo e associe-o à pasta local.
  • Conceda permissões de leitura à identidade do pool de aplicações na pasta local.

Embora nada o impeça de implementar conteúdo no site padrão no IIS, esta abordagem não é recomendada para nada além de cenários de teste ou demonstração. Para simular um ambiente de produção, deve criar um novo site IIS com definições específicas para os requisitos da sua aplicação.

Para criar e configurar um site IIS

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

  2. No menu Iniciar , aponte para Ferramentas Administrativas e depois clique em Gestor de Serviços de Informação da Internet (IIS).

  3. No IIS Manager, no painel de Ligações, expanda o nó do servidor (por exemplo, TESTWEB1).

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

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

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

  6. Na caixa de caminho físico , escreva (ou navegue para) o caminho para a sua pasta local (por exemplo, C:\DemoSite).

  7. Na caixa de porta , escreva o número de porta onde pretende alojar 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 hospedar este site na porta 80, terá de parar o site padrão antes de poder aceder ao seu site.

  8. Deixe a caixa Nome do Anfitrião em branco, a menos que queira configurar um registo do Sistema de Nomes de Domínio (DNS) para o site, e depois clique em OK.

    Deixe a caixa Nome do Anfitrião em branco, a menos que queira configurar um registo do Sistema de Nomes de Domínio (DNS) para o site, e depois clique em OK.

    Observação

    Num ambiente de produção, provavelmente vai querer alojar o seu site na porta 80 e configurar um cabeçalho de host, juntamente com registos DNS correspondentes. Para mais informações sobre a configuração de cabeçalhos de host no IIS 7, consulte Configurar um Cabeçalho de Host para um Site Web (IIS 7). Para mais informações sobre o papel do Servidor DNS no Windows Server 2008 R2, consulte Visão Geral do Servidor DNS.

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

  10. Na caixa de diálogo Site Bindings , clique em Adicionar.

    Na caixa de diálogo Site Bindings, clique em Adicionar.

  11. Na caixa de diálogo Adicionar Ligação de Site, defina o endereço IP e a porta de modo a corresponder à configuração existente do seu site.

  12. Na caixa do nome do anfitrião , escreva o nome do seu servidor web (por exemplo, TESTWEB1) e depois clique em OK.

    Na caixa do nome do anfitrião, escreva o nome do seu servidor web (por exemplo, TESTWEB1) e depois clique em OK.

    Observação

    A primeira ligação ao site permite-lhe aceder localmente ao site usando o endereço IP e a porta ou http://localhost:85. A segunda ligação ao site permite-lhe aceder ao site a partir de outros computadores no domínio usando o nome da máquina (por exemplo, http://testweb1:85).

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

  14. No painel de Ligações , clique em Pools de Aplicações.

  15. No painel de Pools de Aplicações , clique com o botão direito no nome do seu pool de aplicações e depois clique em Definições Básicas. Por defeito, o nome do seu pool de candidaturas corresponde ao nome do seu site (por exemplo, DemoSite).

  16. Na lista de versões do .NET Framework, selecione .NET Framework v4.0.30319 e depois clique em OK.

    Na lista de versões do .NET Framework, selecione .NET Framework v4.0.30319 e depois clique em OK.

    Observação

    A solução de exemplo requer o .NET Framework 4.0. Isto não é um requisito para o Web Deploy em geral.

Para que o seu site sirva conteúdo, a identidade do pool de aplicações deve ter permissões de leitura na pasta local que armazena o conteúdo. No IIS 7.5, os grupos de aplicações funcionam com uma identidade única de grupo de aplicações por padrão (ao contrário das versões anteriores do IIS, onde os grupos de aplicações normalmente corriam usando a conta do serviço de rede). A identidade do pool de aplicações não é uma conta real de utilizador e não aparece em listas de utilizadores ou grupos — em vez disso, é criada dinamicamente quando o pool de aplicações é iniciado. Cada identidade de pool de aplicações é adicionada ao grupo local de segurança IIS_IUSRS como um item oculto.

Para conceder permissões à identidade de um pool de aplicações num ficheiro ou pasta, tens duas opções:

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

A abordagem mais comum é atribuir permissões ao grupo local de IIS_IUSRS porque esta abordagem permite alterar pools de aplicações sem reconfigurar permissões do sistema de ficheiros. O procedimento seguinte utiliza esta abordagem baseada em grupos.

Observação

Para mais informações sobre identidades de pools de aplicações no IIS 7.5, consulte Identidades de Pool de Aplicações.

Para configurar permissões de pasta para um site IIS

  1. No Explorador do Windows, navegue até à localização da sua pasta local.

  2. Clique com o botão direito na pasta e depois clique em Propriedades.

  3. No separador Segurança , clique em Editar e depois em Adicionar.

  4. Clique em Localizações. Na caixa de diálogo Localizações, selecione o servidor local e depois clique em OK.

    Clique em Localizações. Na caixa de diálogo Localizações, selecione o servidor local e depois clique em OK.

  5. Na caixa de diálogo Selecionar Utilizadores ou Grupos , escreva IIS_IUSRS, clique em Verificar Nomes e depois em OK.

  6. Na caixa de diálogo Permissões para (nome da pasta), note que ao novo grupo foram atribuídas, por defeito, as permissões de Leitura & execução, Listar conteúdos da pasta e Leitura. Deixe isto inalterado e clique em OK.

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

Como tarefa final antes de tentar implementar quaisquer pacotes web para o seu servidor, deve garantir que o Web Deployment Agent Service está a funcionar. Quando implanta um pacote a partir de um computador remoto, o Web Deployment Agent Service é responsável por extrair e instalar o conteúdo do pacote. O serviço é iniciado por defeito quando se instala a Web Deployment Tool e corre sob a identidade do Serviço de Rede.

Pode verificar se um serviço está a correr de várias formas diferentes, usando várias utilidades de linha de comandos ou cmdlets do Windows PowerShell. Este procedimento descreve uma abordagem simples baseada em interface de utilizador.

Para verificar se o Web Deployment Agent Service está a funcionar

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

  2. Localize a linha do Serviço do Agente de Implementação Web e verifique se o Estado está definido como Iniciado.

    Localize a linha do Serviço do Agente de Implementação Web e verifique se o Estado está definido como Iniciado.

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

Configurar exceções de firewall

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

http://servername.com/MSDEPLOYAGENTSERVICE

Na maioria dos casos, não será necessário configurar regras adicionais de firewall para o Serviço de Agente Remoto porque os servidores web normalmente ouvem pedidos HTTP na porta 80. Se personalizaste a tua instalação para ouvir numa porta não padrão, terás de configurar exceções de firewall conforme necessário.

Conclusion

Neste ponto, o seu servidor web está pronto para aceitar e instalar pacotes web a partir de um computador remoto. Antes de tentar implementar uma aplicação web para o servidor, pode querer verificar estes pontos-chave:

  • Registaste ASP.NET 4.0 no IIS?
  • A identidade do pool de aplicações tem acesso de leitura ao diretório de origem do seu site?
  • O Web Deployment Agent Service está a funcionar?

Leitura adicional

Para orientações sobre como configurar ficheiros de projeto personalizados do Microsoft Build Engine (MSBuild) para implementar pacotes web no Remote Agent Service, consulte Configuring Deployment Properties for a Target Environment.