Python Apache · 2 min read · Nov 12, 2025

Incorporando Python No Apache2 Com mod_python (Debian Etch)

Incorporando Python No Apache2 Com mod_python (Debian Etch)

Versão 1.0
Autor: Falko Timme

Este tutorial mostra como instalar e usar o mod_python em um servidor Debian Etch com Apache2. O mod_python é um módulo do Apache que incorpora o interpretador Python dentro do servidor. Ele permite que você escreva aplicações baseadas na web em Python que serão executadas muitas vezes mais rápido do que o CGI tradicional e terão acesso a recursos avançados, como a capacidade de manter conexões de banco de dados e outros dados entre acessos e acesso aos internos do Apache.

Não dou nenhuma garantia de que isso funcionará para você!

1 Nota Preliminar

Eu testei isso em um servidor Debian Etch com o endereço IP 192.168.0.100 onde o Apache2 já está instalado.

Estou usando um host virtual com o diretório raiz /var/www neste exemplo.

2 Instalando mod_python

Para instalar o mod_python, simplesmente executamos:

apt-get install libapache2-mod-python

3 Configurando Apache

Agora devemos configurar o Apache para que ele possa lidar com arquivos Python. Existem duas maneiras de fazer isso. A primeira (e padrão) é usar o Publisher Handler. Ele permite que você escreva scripts Python puros com a extensão .py que serão interpretados pelo Apache. A segunda maneira é o PSP Handler. PSP significa Python Server Pages. Ele permite que você incorpore código Python diretamente no código HTML, semelhante ao PHP. Os arquivos PSP têm a extensão .psp.

3.1 O Publisher Handler

Para habilitar o Publisher Handler, devemos abrir nossa configuração de vhost (estou usando o vhost padrão no Debian com o diretório raiz /var/www; a configuração para este vhost está localizada em /etc/apache2/sites-available/default) e adicionar as linhas AddHandler mod_python .py, PythonHandler mod_python.publisher e PythonDebug On:

vi /etc/apache2/sites-available/default

| [...] Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all AddHandler mod_python .py PythonHandler mod_python.publisher PythonDebug On [...] |

Reinicie o Apache em seguida:

/etc/init.d/apache2 restart

Agora criamos um pequeno script de teste em Python (por exemplo, /var/www/test.py) com código Python puro nele…

vi /var/www/test.py

| def index(req): return "Teste bem-sucedido"; |

… e chamamos no navegador (por exemplo, http://192.168.0.100/test.py). Se tudo correr bem, deve exibir Teste bem-sucedido no seu navegador.

3.2 O PSP Handler

Para habilitar o PSP Handler, devemos abrir nossa configuração de vhost (estou usando o vhost padrão no Debian com o diretório raiz /var/www; a configuração para este vhost está localizada em /etc/apache2/sites-available/default) e adicionar as linhas AddHandler mod_python .psp, PythonHandler mod_python.psp e PythonDebug On:

vi /etc/apache2/sites-available/default

| [...] Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all AddHandler mod_python .psp PythonHandler mod_python.psp PythonDebug On [...] |

Reinicie o Apache em seguida:

/etc/init.d/apache2 restart

Agora criamos um pequeno script de teste PSP (por exemplo, /var/www/test.psp) com código HTML e Python nele…

vi /var/www/test.psp

|

<% req.write("Olá!") %>

|

… e chamamos no navegador (por exemplo, http://192.168.0.100/test.psp). Se tudo correr bem, deve exibir Olá! no seu navegador.

4 Módulos Python

Se você precisar de mais módulos Python, pode procurá-los assim:

apt-cache search python

Escolha os que você precisa e instale-os da seguinte forma:

apt-get install python-mysqldb python-xml

Reinicie o Apache em seguida:

/etc/init.d/apache2 restart

5 Links

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.