mod_python
é basicamente não mantido - você deve procurar em mod_wsgi
. Instale o pacote libapache2-mod-wsgi
e, em seguida, emita sudo a2enmod wsgi
para ativá-lo.
Apenas como um exemplo rápido para executá-lo, insira algo assim em /etc/apache2/sites-enabled/default
:
WSGIScriptAlias /test /path/to/python/file.py
E no arquivo /path/to/python/file.py
:
def application(environ, start_response):
start_response('200 OK', [('Content-Type', 'text/plain')])
return "Hello World"
Depois de reiniciar o Apache2, qualquer solicitação para /test
se transformará em uma chamada de application()
em seu arquivo python.
Para ler mais, olhe para WSGI (WebServer Gateway Interface), o modo em que o Python se integra com servidores web.
Bônus / atualização:
O Python (sem surpresas) tem um pequeno servidor WSGI na biblioteca padrão para testes. Se você adicionar isso na parte inferior do arquivo, poderá executá-lo como qualquer executável antigo para fins de teste e, em seguida, permitirá que o Apache substitua a produção:
if __name__ == '__main__':
from wsgiref.simple_server import make_server
httpd = make_server('', 8080, application)
print "Serving on http://localhost:8080"
httpd.serve_forever()