sábado, março 19, 2005

ASP.Net no Apache

Leonardo Calado
Leonardo Calado trabalha profissionalmente com tecnologias de internet desde 2000, possui experiência em servidores web (Apache, IIS, Xitami e etc), sistemas operacionais baseados em UNIX e tecnologias Microsoft. Também presta consultoria na área de desenvolvimento e gerência de projetos. Quando encontra algum tempo livre entre trabalho, esposa e filha gosta de estudar novas tecnologias, pesquisar tendências e codificar em C/C++ fazendo alterações em projetos opensource.

LINK ==>

Olá a todos. Neste artigo vou mostrar como executar scripts ASP.NET no Apache 2.0. Vamos usar o módulo "mod_aspdotnet" e com ele vamos poder executar os scripts da mesma forma como no IIS.

Este artigo é para os usuários que trabalham com Apache 2.0 no Windows e as informações aqui contidas servem para Microsoft Windows 2000, XP e Widows Server 2003.

Primeiramente vamos fazer o download do Apache.

• Vá para o website do Apache Group, http://www.apache.org;

• Clique em "HTTP Server" você será levado a página do servidor web Apache;

• Clique em "from mirror" no item "Download!";

• Veja em "Apache 2.0.53 is the best available version" a versão para Windows. Atualmente existe a versão 2.0.52. Ela é um instalador .msi, que vai lhe mostrar um passo a passo da instalação do Apache.

Atenção: Caso você não encontre a versão mais atual do Apache no item "Apache 2.0.53 is the best available version", você pode clicar em "other files". Irá aparecer a árvore de arquivos do apache httpd. Você vai navegar para dentro do diretório "/binaries" e, em seguida para, "/win32". Então vai encontrar a versão "apache_2.0.52-win32-x86-no_ssl.msi".

• Pode usar as informações default na intalação do Apache. Está fora do escorpo deste artigo a instalação e configuração do Apache, mas após a execução do arquivo de instalação você já vai poder acessar seus arquivos acessando http://localhost ou http://127.0.0.1.

Agora precisamos fazer o download do módulo mod_aspnet e configurar o Apache para executar scripts ASP.NET.

Atenção: Você tem que ter o .NET Frameword SDK instalado na máquina para poder executar os scrips ASP.NET. Você pode fazer o download do SDK clicando aqui. A instalação e configuração do .NET SDK foge do escorpo deste artigo.

• Você vai encontrar o módulo mod_aspdotnet neste link;

• Execute o arquivo, espere alguns segundos e clique em "next". Ele irá lhe fazer algumas perguntas sobre o local do servidor e você deverá aceitar as configurações default. Após isso ele mostra a tela de cópia do arquivo e depois clique em "finish". Pronto, o arquivo de módulo já foi copiado para o local /modules no diretório de instalação do Apache.

• Abra o arquivo httpd.conf, vá até a última linha e inclua o seguinte: # pede para o apache caregar o modulo mod_aspdotnet.so
LoadModule aspdotnet_module modules/mod_aspdotnet.so

# informa para o apache que extenções ele deve mapear
AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj \ licx rem resources resx soap vb vbproj vsdisco webinfo

# alias para os arquivos javascript usado pelos controles das aplicações ASP.NET
AliasMatch "^/(?i)aspnet_client/system_web/(\d+)_(\d+)_(\d+)_(\d+)/(.*)" \ "C:/Windows/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$4"

#informações para configuração do diretório onde encontra-se o .NET Framework
Options FollowSymlinks Order allow,deny Allow from all

# agora vamos montar um local para executar os scrips asp.net, optei por colocar em um diretório separado e mapeado como /net"

# monto o local e configuro as permissões do diretório, e mapeamento das páginas.
AspNetMount /net "E:/Apache/htdocs_aspnet"Alias /net "E:/Apache/htdocs_aspnet" Options FollowSymlinks Indexes Includes ExecCGI Order allow,deny Allow from all DirectoryIndex default.htm default.aspx



• Reinicie o Apache 2.0 e coloque algum arquivo para teste. Você verá que ele vai executar tão bem quanto no IIS. Pude também ver um ganho em desempenho em algumas aplicações.

Até a próxima e espero ter ajudado.

Nenhum comentário:

Postar um comentário

Aúncio