Apache 2 + mod_perl 2.0.1

Esse artigo trata da instalação e configuração do Apache 2 com suporte ao mod_perl 2.0.1 (atenção, não é o 1.99). Além da preparação desse ambiente, também veremos alguns novos conceitos desse novo mod_perl, vendo inclusive como se cria um pacote básico com ele.

[ Hits: 46.722 ]

Por: Antonio Luigi Bonfitto Jr. em 02/12/2005


Configurando o mod_perl2 para o Apache2



No arquivo /etc/apache2/httpd.conf, inclua as seguintes linhas:

LoadModule perl_module /usr/lib/apache2/modules/mod_perl.so
PerlModule Bundle::Apache2

No arquivo /etc/apache2/sites-available/default a coisa funciona um pouco diferente do normal. Irei agora praticamente explicar a base do mod_perl...

Bom... o mod_perl é diferente de Perl! Você não programa uma "página" e NEM UM CGI!! Você programa um pacote...

Então você irá programar um "pacote", o qual irá ficar rodando na memória enquanto o Apache estiver rodando e o pessoal acessando... com isso, fica muito mais rápida a resposta.

No caso, eu criei um diretório onde coloco os pacotes que eu crio. Então no arquivo /etc/apache2/sites-available/default você deverá incluir uma linha dentro de <VirtualHost *>:

PerlSwitches -Mlib /usr/local/meuspacotes/
PerlOptions +Parent

#Aí para os diretórios:
#Caso você queira que o diretório raiz já seja o sistema, use "<Location />".
<Location /teste>
  SetHandler perl-script
  PerlResponseHandler meuspacotes::teste1
</Location>

Agora vamos criar um pacote de exemplo: "/usr/local/meuspacotes/teste1.pm"

package meuspacotes::teste1;

use strict;
use warnings;
use Apache2::RequestRec;
use Apache2::Const -compile => 'OK';

sub handler {
        my $r = shift;
        $r->content_type('text/html');

        print "<CENTER><FONT SIZE=5><B>Yuhuuu...</B></FONT><BR>tá funfandooooooo!!!!!!!!</CENTER>";

        return Apache2::Const::OK;

};

1;

Perfeito... Salve os arquivos, reinicie o Apache2.

Acesse o pacote através de um browser em "http://localhost/teste".

ATENÇÃO: Agora um ligeiro porém... sempre que você modificar o pacote, reinicie o Apache2, pois o pacote é levado para a memória somente quando o servidor inicia, ou seja, depois de modificado o arquivo, o pacote que está em memória ainda vai ser o antigo e a resposta vai ter algumas coisas estranhas, por isso, não se assustem! rsrs...

E para os iniciantes, caso vocês não consigam ver nenhum erro exato, só o erro padrão do Perl, vocês podem ver os erros assim:

# tail -f /var/log/apache2/error.log

Página anterior     Próxima página

Páginas do artigo
   1. Instalando Apache 2
   2. Instalando o mod_perl 2.0.1
   3. Instalando os pacotes do mod_perl2
   4. Configurando o mod_perl2 para o Apache2
   5. Concluindo
Outros artigos deste autor

Como configurar um túnel com Vtun

Leitura recomendada

SuperDNS: Solução definitiva para DNS dinâmico

Virtual Host e Virtual Host Mod_Proxy

Criando relatórios estatísticos da web com o awstats

Sarg + Relatórios Automáticos + Domínio Autenticado + Desbloqueio na Página do Squid

Instalando e configurando o aMule (Debian)

  
Comentários
[1] Comentário enviado por JuNiOx em 24/05/2006 - 12:31h

aconteceu o seguinte erro ao tentar reiniciar o apache2

-------------------------------------8<------------------------------------------
Syntax error on line 395 of /etc/apache2/apache2.conf:
Cannot load /usr/lib/apache2/modules/mod_perl.so into server: /usr/lib/apache2/modules/mod_perl.so: undefined symbol: PL_ppaddr
-------------------------------------8<------------------------------------------


eis a linha 395
-------------------------------------8<------------------------------------------
rt:/home/juniox/mod_perl-2.0.2# cat -n /etc/apache2/apache2.conf | grep 395
395 LoadModule perl_module /usr/lib/apache2/modules/mod_perl.so
-------------------------------------8<------------------------------------------

alguma sugestão?
(se possível, juniox@gmail.com)


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts