mod_python sobre NetBSD 5.X
Mod_python es un modulo Apache que embebe el Interprete de Python dentro del el servidor. Con mod_python tu podras escribir aplicaciones webs basada en aplicaciones Python que correran mucho mas rapido que las aplicaciones tradicionales de CGI ademas de tener acceso a las caracteristicas avanzadas de retener conecciones a bases de datos y acceso a funciones internas de Apache.
Instalando el Port en NetBSD 5.X
# cd /usr/pkgsrc/www/ap2-python && make && make install
Luego hay que editar el httpd.conf, agregando la siguiente línea para cargar el módulo.
LoadModule python_module /usr/pkg/lib/httpd/mod_python.so
Mod_python handlers
Apache procesa las requests en fases. Un Handler es una funcion que procesas una particular parte del request. Los Handlers son proporcionados por Apache y por sus modulos como , mod_python.
El Handler Publisher permite accesar a funciones y variables dentro de un modulo via URLs. Evitandoce asi el codigo spagetthi.
Para probar el funcionamiento del módulo debemos hacer lo siguiente. En primer lugar, vamos a necesitar definir un handler de python para los requests en un .htaccess. Allí escribimos algo como lo siguiente:
AddHandler mod_python .py
PythonHandler mod_python.publisher
PythonOption session DbmSession
PythonOption session_dbm /home/user/domains/test.com/session.dbm
PythonOption ApplicationPath /
PythonDebug On ## Turn this off when done with debugging
DirectoryIndex index.py
Por supuesto, habrá que ajustar los datos a lo que sea necesario.
Luego, creamos el índice de nuestro sitio, en este caso en /home/user/domains/test.com/public_html/index.py con el siguiente código:
## index.py
from mod_python import apache
def index(req):
req.content_type = 'text/plain'
req.write('Hello from mod_pythonn')
return apache.OK
Luego accedemos a http://test.com/ y si vemos “Hello from mod_python”, es que hemos instalado correctamente mod_python.
