Quem trabalha com desenvolvimento de aplicações para Internet, principalmente quem esta ligado a tecnologias Asp.Net ou ASP, deve com certeza conhecer o servidor de aplicações para internet da Microsoft IIS(Internet Information Service). Lançado para ser o sucessor do antigo PWS(Personal Web Server), que apenas os mais antigos vão se lembrar, o IIS reune um conjunto de ferramentas muito uteis para qualquer administrador.

Depois de alguns anos de aperfeiçoamento, a versão 7 do IIS foi a que deu uma virada na vida dos responsáveis por manter um servidor web. Com muitas novidades e de interface totalmente modificada, muitos tecnicos que eram acostumados ao bom e velho 6.0 ou 5 levaram algum tempo para digerir as novas funções e configurações.

De inicio, uma mudança extrema no IIS foi o fato de a Microsoft ter decidido modularizar o seu servidor de aplicativos, permitindo ao administrador instalar apenas o que lhe for conveniente para cada servidor. Antes não se tinha muita escolha, mas com a chegada da versão 7, podemos escolher o que queremos instalado no nosso servidor, como recursos de asp.net, asp, compactação e até mesmo paginas estáticas html. Tudo isso é feito quando vamos instalar o IIS, por isso ae vai ja a primeira dica para quem não quer ter problemas. Ja observei que muitas pessoas se esquecem de instalar serviços que necessitam para um determinado site, como por exemplo execução de uma DLL ou EXE, o que impede que a aplicação execute. Quando for configurar um servidor IIS pela primeira vez, leia com atenção os itens disponíveis na instalação, como você pode ver na imagem abaixo, são muitas opções que podem ser instaladas ou não e caso você não marque, ela simplesmente fica indiponível e pode causar horas de pesquisa até você se dar conta que deixou apenas de selecionar um serviço na instalação.

Um dos recursos mais bacanas dessa versão e da versão anterior são os Pools de Aplicativos. Eles permitem que o IIS saiba como deve executar sua aplicação e permitem que você isole configurações e recursos para aqueles sites ou aplicativos que você considera mais pesado ou que exigem niveis de acesso mais altos. O que antes ja existia, com o Internet Information 7 ficou mais evidente e configuravel. Basicamente toda aplicação ou web site esta vinculada a um pool, que ja vem configurado por padrão pelo IIS, mas como você deseja configurar o seu servidor da melhor maneira possível, você vai desejar isolar aplicações mais importantes em pools separados. Alem de poder configurar esse pool individualmente, isso permite que você pare aplicações ou que em caso de alguma falha grave no site, ele não afete os demais aplicativos instalados. Vale lembrar que para cada pool que você configure separado, o IIS vai executar um serviço a separado tambem. Abaixo você pode observar a tela basica de criação dos poos de aplicativos.

Nesse momento você pode enfrentar um problema classico tambem. Quando estamos executando o Internet Information em uma maquina com arquitetura 64 bits é comum que você tenha um problema ao tentar executar algum serviço 32 bits. Mas pode ficar calmo, a solução é muito simples. Por padrão, o pool de aplicativos vem configurado para não permitir execução de aplicativos 32 bits em ambientes x64, mas se você precisar, basta ir no menu de Configurações avançadas ou advanced settings do pool e configurar a propriedade Enable 32-Bit Applications para True. Acredite, isso pode ter tirado o sono de muitas pessoas até chegarem a essa solução.

É claro, somente ative essa propriedade caso realmente necessite, caso contrario deixe tudo como esta para evitar problemas.

Em qualquer sistema, pode ser necessário as vezes, incorporar funções escritas por outras linguagens que são disponibilizadas como DLL(Dynamic Link-Library). É claro que por motivos de segurança, você deve permitir ou não que o IIS permita um website executar DLL’s. Aqui vai mais um adica útil, para liberar isso, existe uma opção especifica, o segredo esta no menu Módulos e Mapeamentos, que por padrão vai vir como na imagem abaixo. 


Veja como (*.dll) esta desabilitado, você ja deve ter deduzido que tudo que é .dll não vai ser permitido pelo IIS. Agora basta acessar a tela de restrições ISAPI e CGI para adicionar as exceções para suas dlls ou exes necessários.


E para finalizar, uma dica para quem desenvolve em Asp.Net e precisou configurar um servidor web do zero. A recomendação é que o IIS seja instalado antes do Asp.Net Framework, mas se por acaso essa ordem não foi seguida, você pode precisar instalar o Asp.Net no IIS manualmente. Mas calma, é apenas uma linha de codigo simples e rápida. Digite o comando a seguir no seu prompt :

C:\WINDOWS\Microsoft.NET\Framework\[Versão asp.net]\aspnet_regiis.exe -i

Onde [Versão asp.net] é substituido pelo nome da pasta da versão que você esta usando.

São dicas simples, mas que podem ajudar quem esta perdido na configuração do IIS 7, para os marinheiros de primeira viagem isso pode significar horas a menos de pesquisa.

Até mais galera, para um feedback sigam-me no twitter @altieritga