Posts Tagged ‘web’

h1

Usar python en webs dinámicas.

09/10/2011

A raíz de este post recuerdo que necesito un servidor web que soporte python para la creación de webs dinámicas. La configuración de apache es muy sencilla si utilizamos el módulo CGI.

Para empezar permitimos que cada usuario pueda tener su web en una carpeta propia con

sudo ln -s /etc/apache2/mods-available/userdir.conf /etc/apache2/mods-enabled/userdir.conf
sudo ln -s /etc/apache2/mods-available/userdir.load /etc/apache2/mods-enabled/userdir.load

De este modo la página web de usuario “user” se encontrará en /home/user/public_html/ y será accesible a través de la dirección http://servidor/~user/

Ahora es cuando realmente activamos los scripts CGI, solamente en una carpeta llamada cgi-bin dentro de cada carpeta public_html. Lo único que hay que hacer es editar el fichero /etc/apache2/sites-available/default y añadir las siguientes líneas:

<Directory /home/*/public_html/cgi-bin>
Options +ExecCGI
AddHandler cgi-script .py
</Directory>

Solo tenemos que reiniciar el servidor Apache, y los ficheros con extensión .py dentro de la carpeta cgi-bin serán ejecutados en lugar de leídos. Un pequeño ejemplo:

#!/usr/bin/python

print “Content-Type: text/plain\n\n”

print “Hola, mundo!”

Nota: Ya sé que existen soluciones más eficientes y modernas, como usar mod_python, mod_wsgi, o cualquier framework web. Pero CGI es simple de configurar y, sobre todo, mis alumnos de TIC2 que ya conocen python no han de aprender nada nuevo para empezar a programar.

A %d blogueros les gusta esto: