Python Apache · 3 min read · Nov 12, 2025
Incorporando Python no Apache2 Com mod_python (Debian/Ubuntu, Fedora/CentOS, Mandriva, OpenSUSE)
Incorporando Python no Apache2 Com mod_python (Debian/Ubuntu, Fedora/CentOS, Mandriva, OpenSUSE)
Versão 1.0
Autor: Falko Timme
Este tutorial mostra como instalar e usar mod_python em várias distribuições (Debian/Ubuntu, Fedora/CentOS, Mandriva, OpenSUSE) com Apache2. 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 rodarão 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 sistemas com o endereço IP 192.168.0.100 onde o Apache2 já está instalado.
2 Debian/Ubuntu
Para Debian/Ubuntu, consulte este tutorial: Incorporando Python no Apache2 Com mod_python (Debian Etch).
Para Usuários do ISPConfig
Nesse tutorial, eu habilito o mod_python no vhost padrão, o que não tem efeito sobre outros vhosts, então, se você estiver usando o ISPConfig (a partir da versão 2.2.24), pode usar essa configuração sem alterações e ainda habilitar/desabilitar o mod_python por site. O ISPConfig usa o Publisher Handler - ele não suporta o PSP Handler.
3 Fedora 9/CentOS 5.2
3.1 Instalando mod_python
Para instalar o mod_python, simplesmente execute:
yum install mod_python3.2 Configurando o 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.2.1 O Publisher Handler
Para habilitar o Publisher Handler, devemos editar a configuração do mod_python que você pode encontrar em /etc/httpd/conf.d/python.conf. Este arquivo contém muitos exemplos - fazemos um backup dele e criamos esse arquivo novamente do zero. Estou usando o diretório raiz padrão do Fedora/CentOS /var/www/html aqui na diretiva
cp /etc/httpd/conf.d/python.conf /etc/httpd/conf.d/python.conf_orig
cat /dev/null > /etc/httpd/conf.d/python.conf
vi /etc/httpd/conf.d/python.conf| LoadModule python_module modules/mod_python.so |
Por favor, note: se você usar o ISPConfig (a partir da versão 2.2.24) no servidor, por favor, deixe de fora a parte
Reinicie o Apache depois:
/etc/init.d/httpd restartAgora criamos um pequeno script de teste em Python (por exemplo, /var/www/html/test.py) com código Python puro nele…
vi /var/www/html/test.py| def index(req): return "Teste bem-sucedido"; |
… e chamá-lo em um navegador (por exemplo, http://192.168.0.100/test.py). Se tudo correr bem, deve exibir Teste bem-sucedido no seu navegador.
3.2.2 O PSP Handler
Para habilitar o PSP Handler, devemos editar a configuração do mod_python que você pode encontrar em /etc/httpd/conf.d/python.conf. Este arquivo contém muitos exemplos - fazemos um backup dele e criamos esse arquivo novamente do zero. Estou usando o diretório raiz padrão do Fedora/CentOS /var/www/html aqui na diretiva
cp /etc/httpd/conf.d/python.conf /etc/httpd/conf.d/python.conf_orig
cat /dev/null > /etc/httpd/conf.d/python.conf
vi /etc/httpd/conf.d/python.conf| LoadModule python_module modules/mod_python.so |
Por favor, note: se você usar o ISPConfig (a partir da versão 2.2.24) no servidor, por favor, deixe de fora a parte
Reinicie o Apache depois:
/etc/init.d/httpd restartAgora criamos um pequeno script de teste PSP (por exemplo, /var/www/html/test.psp) com código HTML e Python nele…
vi /var/www/html/test.psp| |<% req.write("Olá!") %>
… e chamá-lo em um navegador (por exemplo, http://192.168.0.100/test.psp). Se tudo correr bem, deve exibir Olá! no seu navegador.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.