Publicando aplicações Web no Windows Server com IIS

No desenvolvimento Web é muito comum a publicação de um Web site no IIS (Internet Information Services) de um Windows Server.

Porém, sabemos que não é tão simples a configuração de um Windows Server e a disponibilização de um IIS público, principalmente para quem não trabalha ou não tem conhecimento em infraestrutura, sem falar dos custos e da burocracia em obter uma máquina que geralmente é usada para testes. Mas vamos mostrar aqui como o desenvolvedor pode disponibilizar um Windows Server com IIS para sua aplicação dentro do Microsoft Azure.

Para esse exemplo usaremos o Windows Server 2008 R2 com IIS 7.

Criação da Virtual Machine

Para criar uma VM acesse o site do Azure (https://manage.windowsazure.com/), selecione no menu lateral da esquerda a opção VIRTUAL MACHINES e clique no botão +NEW no canto inferior esquerdo (criar uma conta gratuita de avaliação).

iis_ws_virtual_machine

No painel de escolha do modo de criação, selecione a opção FROM GALLERY.

iis_ws_create_virtual_machine

O Azure irá mostrar uma lista de imagens que podem ser adicionadas, para esse exemplo vamos utilizar o Windows Server 2008 R2 SP1 e avance para a próxima aba.

iis_ws_virtual_machine_select_image

Adicione um nome para a VM, escolha qual o tamanho dela (processador e memória) e configura um usuário e senha. Avance para a próxima aba.

iis_ws_virtual_machine_configuration

Escolha um DNS para a sua VM (guarde esse DNS pois iremos utilizá-lo mais a frente) e adicione um End Point para HTTP, com a porta pública e privada como 80. Avance e conclua a configuração da máquina virtual.

iis_ws_virtual_machine_configuration_2

A sua máquina virtual entrará em modo de criação e em alguns minutos vai estar no ar.

iis_ws_virtual_machine_provisioning

Configuração do IIS

Agora precisamos configurar o IIS no Windows Server para receber a nossa aplicação Web. Conecte na máquina virtual recém criada, para isso acesse no menu inferior a opção CONNECT para baixar um .rdp para acesso a VM.

iis_ws_virtual_machine_connect

Abra o arquivo que foi feito download e acesse sua máquina virtual remotamente, e abra o Server Manager que fica ao lado o menu iniciar.

iis_ws_virtual_machine_open_server_manager

Clique com o botão direito em Features e selecione a opção Add Features.

iis_ws_virtual_machine_add_feature

Selecione a opção .NET Framework 3.5.1 Features.

iis_ws_virtual_machine_select_net_framework

Logo após selecionar essa opção será exibida a tela de confirmação e informação dos itens que serão adicionados, que por sinal, um deles é o IIS (Internet Information Services). Clique no botão Add Required Role Services e avance.iis_ws_virtual_machine_iis_feature

Em Role Services selecione os itens IIS Management Console, IIS Management Scripts and Tools e Management Service.
iis_ws_virtual_machine_select_iis

Avance até começar a instalação.

iis_ws_virtual_machine_install

Após a instalação do .NET Framework e do IIS, precisamos instalar o Microsoft Web Deploy (https://www.microsoft.com/web/gallery/install.aspx?appid=WDeploy), com isso podemos instalar todas as dependências e configurações necessárias para liberar o IIS externamente.

Com o Web Deploy instalado procure por recommended na barra de busca do canto superior direito. Adicione o item Recommended Server Configuration for Web Hosting Providers.

iis_ws_virtual_machine_web_deploy

Note que serão adicionados 13 itens para instalação, clique em Items to be installed e remova todos os itens, deixando apenas o Recommended Server Configuration for Web Hosting Providers.

Após a instalação, abra a janela executar (windows + r) e digite o comando inetmgr.

iis_ws_virtual_machine_open_iis

O gerenciador do IIS do Windows Server está instalado.

iis_ws_virtual_machine_iis_manager

Para testar o acesso ao seu IIS, acesse pelo browser, fora da máquina virtual, o DNS da máquina virtual (criamos o DNS na configuração da VM no Azure).

iis_ws_virtual_machine_iis_test

Pronto, nosso IIS já está disponível externamente, agora precisamos criar um novo site para poder fazer o deploy da aplicação Web.

No IIS Manager, clique com o botão direito no item Sites e clique na opção Add Web Site…

iis_ws_virtual_machine_add_site

Adicione um nome para o seu site e um diretório que será feito o deploy do conteúdo.

iis_ws_virtual_machine_add_site_name

Com o novo site criado no IIS, já poderemos fazer a publicação pelo Visual Studio através de nossa máquina de desenvolvimento.

Configuração do Visual Studio

Para esse exemplo estamos usando o Visual Studio 2015 Community.

Na solution da aplicação, clique com o botão direito sobre o projeto Web e acione a opção Publish…

iis_ws_virtual_machine_select_publish

Selecione a opção Custom nas opções de publicação.

iis_ws_virtual_machine_add_custom_publish

Adicione um nome para esse perfil de publicação.

iis_ws_virtual_machine_add_custom_publish_profile

Agora precisamos adicionar as informações para conexão:
Publish method: Vamos usar Web Deploy como método de publicação
Server: O DNS da máquina virtual
Site name: Nome do site que criamos anteriormente no IIS
User name: Nome de usuário que usamos para logar na máquina virtual
Password: Senha do usuário
Destination URL: Server + Site name

Clique no botão Validate Connection para garantir que está tudo correto. Clique no botão Next.

iis_ws_virtual_machine_add_custom_connection

Selecione se o deploy será feito em modo Release ou Debug. Acione o botão Publish.

iis_ws_virtual_machine_publish_settings

Após a publicação o Visual Studio abrirá o browser automaticamente apontando para o IIS da máquina virtual com a aplicação Web publicada.

iis_ws_virtual_machine_published_site

Pronto, seu projeto Web já possui um deploy remoto configurado, para publicar novas versões basta acionar o Publish novamente.

Qualquer dúvida ou sugestão deixem nos comentários.

Até a próxima!

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s