Ver Mensaje Individual
  #2 (permalink)  
Antiguo 01/08/2011, 17:34
Avatar de razpeitia
razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 2 meses
Puntos: 1360
Respuesta: Django bajo Apache en Linux

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.
  1. Instalar y cargar mod_wsgi a Apache
  2. Hacer el script para que django funcione
  3. Configurar el httpd.conf para que haga un alias al script del paso anterior (ver link para explicación detallada).
  4. Poner algunos alias en el VirtualHost para que Apache sirva el contenido estático
  5. 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
  1. #Archivo: /ruta/a/mi/script/miscript.wsgi
  2. import os, sys
  3.  
  4. if '/ruta/a/mi/proyecto' not in sys.path:
  5.     sys.path.append('/ruta/a/mi/proyecto')
  6.  
  7. os.environ['DJANGO_SETTINGS_MODULE'] = 'NombreDelProyecto.settings'
  8. import django.core.handlers.wsgi
  9. application = django.core.handlers.wsgi.WSGIHandler()

Archivo donde tengas tu VirtualHost
Código XML:
Ver original
  1. <VirtualHost *:80>
  2.     ServerAdmin webmaster@localhost
  3.  
  4.     DocumentRoot /alguna/ruta
  5.     WSGIScriptAlias /ruta/a/mi/script/miscript.wsgi
  6.  
  7.  
  8.     Alias /media /usr/local/lib/python2.7/dist-packages/django/contrib/admin/media
  9.     <Directory "/usr/local/lib/python2.7/dist-packages/django/contrib/admin/media">
  10.         AllowOverride None
  11.         Order allow,deny
  12.         allow from all
  13.     </Directory>
  14. </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.