Configurar Django con Ubuntu

Para instalar en productivo una aplicación hecha con Django en Ubuntu hay que instalar apache y su módulo mod_python:

sudo apt-get install python-django libapache2-mod-python apache2

Sólo queda configurar apache para que gestione correctamente las peticiones contra django y las peticiones estáticas, para ello modificamos 2 ficheros:

/etc/apache2/sites-available/mi_app
<Location "/"> SetHandler python-program PythonHandler django.core.handlers.modpython SetEnv DJANGO_SETTINGS_MODULE mi_app.settings PythonDebug On PythonPath "['/home/mi_usuario/directorio_padre_de_mi_app/'] + sys.path" </Location> <Location "/media"> SetHandler None </Location>

/etc/apache2/apache2.conf
Alias /media /home/marcos/Directorio_padre_de_mi_app/mi_app/media

Nos queda añadir el fichero de sites-available:
cd /etc/apache2/sites-available sudo a2dissite default sudo a2ensite mi_app sudo /etc/init.d/apache2 reload