Pesquise...

Últimos Posts

Arquivo de Posts

2017 - 2016 - 2015 - 2014 - 2013 - 2012

Postagens Populares

Vem Comigo!

     
  •      
  •  
  •  
  •  
  •  
  •  
Tecnologia do Blogger.

Boletim Informativo?

* obrigatório

Total de Acessos


Saudações,

Tem pouco mais de 24 que eu li um OFF Topic na lista de discussão do PHP, com a seguinte solicitação:

Alguém poderia me orientar com algum link sobre como instalar o mod_perl no Apache?
...
Plataforma: WINDOWS
...
Será que alguém não poderia me dar apenas um "norte".

ORIGEM: http://goo.gl/pFosVR

Eu, na intensão de ajudar o colega criei este post.

Windows com Apache e Mod_Perl


Confesso que nunca acompanhei o Mod_Perl no Windows; não sei em que "pé" está o projeto!
Sendo assim, peço aos leitores que fiquem atentos... observem as versões dos programas, localização dos arquivos de configuração, etc. Enfim, adapte este post ao seu ambiente de desenvolvimento.

Este post foi feito com base em uma VM com Windows Server 2008 R2.

Vamos lá?

Baixe o Apache e o Perl para Windows...


Apache para Windows:
http://www.apache.org/dist/httpd/binaries/win32/httpd-2.2.25-win32-x86-no_ssl.msi

Perl para Windows
http://strawberryperl.com/download/5.12.3.0/strawberry-perl-5.12.3.0.msi

Note que neste post eu estou usando o Strawberry Perl e não o Active Perl.

Instale os MSIs da forma usual... AVANÇAR, AVANÇAR, FINALIZAR.

Teste seu apache no endereço http://localhost/:



Se você ver uma tela parecida com a imagem acima, o seu Apache foi instalado com sucesso.

Acesse o Prompt de Comando e acenda à pasta de instalação do Perl com o comando cd:

C:\> cd C:\strawberry

Atualize as variáveis do seu ambiente executando o update_env.pl.bat precedido pelo binário do Perl:

C:\strawberry> perl\bin\perl.exe update_env.pl.bat

Você deve observar uma saída na tela parecida com:

Adding C:\strawberry\c\bin to the system path.
Adding C:\strawberry\perl\site\bin to the system path.
Adding C:\strawberry\perl\bin to the system path.
Adding TERM=dumb to the system environment.
Updating environment variables added.
Please reboot now in order to complete installation.

Como solicitado na ultima linha da saída (Please reboot now...), reinicie o seu computador.

Um vez reiniciado o sistema, vamos instalar o Mod_Perl.

Tudo que precisamos para a ativação do modulo, versão x86, encontra-se em http://strawberryperl.com/package/kmx/mod_perl/5.12_x86/

Inicie a instalação do Mod_Perl com o comando pip:

C:\> pip http://strawberryperl.com/package/kmx/mod_perl/5.12_x86/mod_perl-2.0.4-MSWin32-x86-multi-thread-5.12.par

Você deve observar uma saída na tela parecida com:

Files found in blib\arch: installing files in blib\lib into architecture dependent library tree
Installing C:\strawberry\perl\site\lib\auto\Apache2\typemap
...
...
Installing C:\strawberry\perl\bin\mp2bug.bat
Aproveite e instale o suporte Apreq2 com o comando:

C:\> pip http://strawberryperl.com/package/kmx/mod_perl/5.12_x86/libapreq2-2.12-MSWin32-x86-multi-thread-5.12.par

Você deve observar uma saída na tela parecida com:

Files found in blib\arch: installing files in blib\lib into architecture dependent library tree
Installing C:\strawberry\perl\site\lib\auto\APR\Request\Request.bs
...
...
Installing C:\strawberry\perl\site\lib\APR\Request\Parser.pod

Agora, manualmente, baixe a libapreq2.dll para a pasta do executável do Perl:

http://strawberryperl.com/package/kmx/mod_perl/5.12_x86/libapreq2.dll => C:\strawberry\perl\bin


Em seguida, também manualmente, baixe o mod_perl.so e mod_apreq2.so para a pasta de módulos do apache:

http://strawberryperl.com/package/kmx/mod_perl/5.12_x86/mod_apreq2.so => C:\Program Files (x86)\Apache Software Foundation\Apache2.2\modules
http://strawberryperl.com/package/kmx/mod_perl/5.12_x86/mod_perl.so => C:\Program Files (x86)\Apache Software Foundation\Apache2.2\modules

Calma, estamos quase lá! eehehe

Abra o arquivo de configuração do apache para edição:


No final do arquivo httpd.conf, adicione as linhas:

# MOD_PERL INICIO
PerlSwitches -T

<Files ~ "\.pl$">
    SetHandler perl-script
    PerlResponseHandler ModPerl::Registry
    PerlOptions +ParseHeaders
    Options +ExecCGI
    PerlSendHeader On
    Order allow,deny
    Allow from all
</Files>

LoadFile "C:\strawberry\perl\bin\perl512.dll"
LoadModule perl_module modules/mod_perl.so
LoadModule apreq_module modules/mod_apreq2.so
# MOD_PERL FIM

Reinicie o Apache...

Para finalizar, vamos testar o Mod_Perl.
Na pasta raiz do seu Apache crie um arquivo chamado teste.pl com o conteudo:

#!C:\strawberry\perl\bin\perl.exe

print "Content-type: text/plain; charset=iso-8859-1\n\n";

foreach $var (sort(keys(%ENV))) {
    $val = $ENV{$var};
    $val =~ s|\n|\\n|g;
    $val =~ s|"|\\"|g;
    print "${var}=\"${val}\"\n";
}


aqui no meu ambiente ficou assim


Salve o arquivo e teste o Mod_Perl no navegador acessando:

http://localhost/teste.pl

Você deve obter um resultado como o da imagem abaixo:


Bem, é isto.

Espero que eu possa, de alguma forma, ter ajudado.

Ah, aproveitem e leiam o post sobre o Apache com Mod_Perl sendo configurado no Linux! ^_^


Paz a todos!