Configuração de um servidor Web para publicação de Implantação da Web (implantação offline)
por Jason Lee
Este tópico descreve como configurar um servidor Web do IIS para dar suporte à publicação e implantação offline na Web.
Quando você trabalha com a Ferramenta de Implantação da Web (Implantação da Web) do IIS (Serviços de Informações da Internet) 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.
Sim, se a infraestrutura de rede ou as restrições de segurança impedirem a implantação remota. É mais provável que esse seja o caso em ambientes de produção voltados para a Internet, em que os servidores Web são isolados, fisicamente ou por firewalls e sub-redes, do restante da infraestrutura do servidor.
Obviamente, essa abordagem se tornará menos desejável se seus aplicativos Web forem atualizados regularmente. Se sua infraestrutura permitir, talvez você queira considerar habilitar a implantação remota, usando o Manipulador de Implantação da Web ou o Serviço de Agente Remoto de Implantação da Web.
Visão geral da tarefa
Para configurar o servidor Web para dar suporte à importação offline e à implantação de pacotes 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.
- Desabilite o Serviço de Deployment Agent Web.
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.
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. A Implantação da Web integra-se ao IIS e permite importar e exportar pacotes Web.
- 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 vários componentes. 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
Baixe e instale o Web Platform Installer.
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.
Na parte superior da janela Web Platform Installer 3.0 , clique em Produtos.
No lado esquerdo da janela, no painel de navegação, clique em Estruturas.
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.
Na linha ASP.NET MVC 3 (Visual Studio 2010), clique em Adicionar.
No painel de navegação, clique em Servidor.
Na linha Configuração Recomendada do IIS 7 , clique em Adicionar.
Na linha Ferramenta de Implantação da Web 2.1 , clique em Adicionar.
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.
Examine os termos de licença e, se você consentir com os termos, clique em Aceito.
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 o próximo procedimento para garantir que ASP.NET 4.0 esteja registrado.
Para registrar ASP.NET 4.0 com o IIS
Clique em Iniciar e digite Prompt de Comando.
Nos resultados da pesquisa, clique com o botão direito do mouse em Prompt de Comando e clique em Executar como administrador.
Na janela Prompt de Comando, navegue até o diretório %WINDIR%\Microsoft.NET\Framework\v4.0.30319 .
Digite este comando e pressione Enter:
aspnet_regiis -iru
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 .
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
No sistema de arquivos local, crie uma pasta para armazenar seu conteúdo (por exemplo, C:\DemoSite).
No menu Iniciar, aponte para Ferramentas Administrativas e clique em Gerenciador dos Serviços de Informações da Internet (IIS).
No Gerenciador do IIS, no painel Conexões , expanda o nó do servidor (por exemplo, PROWEB1).
Clique com o botão direito do mouse no nó Sites e clique em Adicionar Site.
Na caixa Nome do site, digite um nome para o site do IIS (por exemplo, DemoSite).
Na caixa Caminho físico , digite (ou navegue até) o caminho para sua pasta local (por exemplo, C:\DemoSite).
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 antes de poder acessar seu site.
Deixe a caixa Nome do host em branco, a menos que você queira 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.
No painel Ações , em Editar Site, clique em Ligações.
Na caixa de diálogo Ligações do Site, clique em Adicionar.
Na caixa de diálogo Adicionar Associação de Site , defina o endereço IP e a Porta para corresponderem à configuração do site existente.
Na caixa Nome do host, digite o nome do servidor Web (por exemplo, PROWEB1) 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://proweb1:85).Na caixa de diálogo Ligações do Site, clique em Fechar.
No painel Conexões, selecione Pools de aplicativos.
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).
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 Implantação da Web em geral.
Para que seu site forneça 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 de 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
No Windows Explorer, navegue até o local da pasta local.
Clique com o botão direito do mouse na pasta e, em seguida, clique em Propriedades.
Sobre a guia Security , clique em Edite, em seguida, em Add.
Clique em Locais. Na caixa de diálogo Locais , selecione o servidor local e clique em OK.
Na caixa de diálogo Selecionar Usuários ou Grupos, digiteIIS_IUSRS, clique em Verificar Nomes e clique em OK.
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.
Clique em OK para fechar a caixa de diálogo Propriedades (nome da pasta ).
Desabilitar o Serviço de Agente Remoto
Quando você instala a Implantação da Web, o Web Deployment Agent Service é instalado e iniciado automaticamente. Esse serviço permite que você implante e publique pacotes Web de um local remoto. Você não usará a funcionalidade de implantação remota nesse cenário, portanto, deve parar e desabilitar o serviço.
Observação
Você não precisa interromper o serviço de agente remoto para importar e implantar um pacote da Web manualmente. No entanto, é uma boa prática parar e desabilitar o serviço se você não planeja usá-lo.
Você pode parar e desabilitar um serviço de várias maneiras, usando vários utilitários de linha de comando ou cmdlets Windows PowerShell. Este procedimento descreve uma abordagem simples baseada em interface do usuário.
Para parar e desabilitar o serviço de agente remoto
No menu Iniciar , aponte para Ferramentas Administrativase depois clique em Serviços.
No console serviços, localize a linha Serviço de Deployment Agent Web.
Clique com o botão direito do mouse em Serviço de Deployment Agent Web e clique em Propriedades.
Na caixa de diálogo Propriedades do Serviço Deployment Agent Web, clique em Parar.
Na lista Tipo de inicialização, selecione Desabilitado e clique em OK.
Conclusão
Neste ponto, seu servidor Web está pronto para implantação de pacotes Web offline. Antes de tentar importar pacotes da Web para um site do IIS, 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?
- Você parou o Serviço de Deployment Agent Web?