Aquí te dejo un link de como correr Django + Apache + mod_wsgi (que es lo mas recomendable).
Ahora los pasos son relativamente sencillos si has configurado un servidor Apache.
- Instalar y cargar mod_wsgi a Apache
- Hacer el script para que django funcione
- Configurar el httpd.conf para que haga un alias al script del paso anterior (ver link para explicación detallada).
- Poner algunos alias en el VirtualHost para que Apache sirva el contenido estático
- Reiniciar Apache y listo.
Mas o menos así tengo configurado mi Apache:
Código:
#Ruta a mi proyecto
/ruta/a/mi/proyecto
#Ruta de mi scrpit
/ruta/a/mi/script/miscript.wsgi
Código Python:
Ver original#Archivo: /ruta/a/mi/script/miscript.wsgi
import os, sys
if '/ruta/a/mi/proyecto' not in sys.path:
sys.path.append('/ruta/a/mi/proyecto')
os.environ['DJANGO_SETTINGS_MODULE'] = 'NombreDelProyecto.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
Archivo donde tengas tu VirtualHost
Código XML:
Ver original<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /alguna/ruta
WSGIScriptAlias /ruta/a/mi/script/miscript.wsgi
Alias /media /usr/local/lib/python2.7/dist-packages/django/contrib/admin/media
<Directory "/usr/local/lib/python2.7/dist-packages/django/contrib/admin/media">
AllowOverride None
Order allow,deny
allow from all
</Directory>
</VirtualHost>
El alias para el media, es para el media del admin de django. Tienes que sustituir /usr/local/lib/python2.7/dist-packages/ por la ruta donde hallas instalado django.