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-python3 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| [...] |
Reinicie o Apache em seguida:
/etc/init.d/apache2 restartAgora 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| [...] |
Reinicie o Apache em seguida:
/etc/init.d/apache2 restartAgora 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 pythonEscolha os que você precisa e instale-os da seguinte forma:
apt-get install python-mysqldb python-xmlReinicie o Apache em seguida:
/etc/init.d/apache2 restart5 Links
- mod_python: http://www.modpython.org
- Python: http://www.python.org
- Apache: http://httpd.apache.org
- Debian: http://www.debian.org
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.