Python Apache · 2 min read · Nov 13, 2025

Incorporando Python no Apache2 Com mod_python (Debian/Ubuntu, Fedora/CentOS, Mandriva, OpenSUSE) - Página 3

5 OpenSUSE 11

5.1 Instalando mod_python

Para instalar mod_python, simplesmente executamos:

yast -i apache2-mod_python

Para habilitar mod_python, abra /etc/sysconfig/apache2 e adicione python à linha APACHE_MODULES, por exemplo, assim:

vi /etc/sysconfig/apache2

| [...] APACHE_MODULES="actions alias auth_basic authn_file authz_host authz_groupfile authz_default authz_user authn_dbm autoindex cgi dir env expires include log_config mime negotiation setenvif ssl suexec userdir php5 rewrite python" [...] |

Depois, execute

SuSEconfig

e reinicie o Apache:

/etc/init.d/apache2 restart

5.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.

5.2.1 O Publisher Handler

Para habilitar o Publisher Handler, criamos uma configuração mod_python em /etc/apache2/conf.d/python.conf (este arquivo não existe, então o criamos). Estou usando o diretório raiz padrão do OpenSUSE /srv/www/htdocs aqui na diretiva - ajuste isso conforme suas necessidades. As linhas importantes são AddHandler mod_python .py e PythonHandler mod_python.publisher:

vi /etc/apache2/conf.d/python.conf

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

Por favor, note: se você usar o ISPConfig (a partir da versão 2.2.24) no servidor, não crie esse arquivo, pois isso habilitaria o mod_python globalmente para o diretório em questão. No ISPConfig, você pode habilitar o mod_python por site, o que lhe dá mais controle sobre se um site pode usar mod_python ou não.

Reinicie o Apache depois:

/etc/init.d/apache2 restart

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

vi /srv/www/htdocs/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.

5.2.2 O PSP Handler

Para habilitar o PSP Handler, criamos uma configuração mod_python em /etc/apache2/conf.d/python.conf (este arquivo não existe, então o criamos). Estou usando o diretório raiz padrão do OpenSUSE /srv/www/htdocs aqui na diretiva - ajuste isso conforme suas necessidades. As linhas importantes são AddHandler mod_python .psp e PythonHandler mod_python.psp:

vi /etc/apache2/conf.d/python.conf

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

Por favor, note: se você usar o ISPConfig (a partir da versão 2.2.24) no servidor, não crie esse arquivo, pois isso habilitaria o mod_python globalmente para o diretório em questão. No ISPConfig, você pode habilitar o mod_python por site, o que lhe dá mais controle sobre se um site pode usar mod_python ou não. Também note que o ISPConfig não suporta o PSP Handler - ele usa o Publisher Handler.

Reinicie o Apache depois:

/etc/init.d/apache2 restart

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

vi /srv/www/htdocs/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.

6 Links

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.