Instalando Django con mod_wsgi

Escribí una aplicación usando Django 1.0. Funciona bien con el servidor de prueba de django. Pero cuando intenté introducirlo en un entorno de producción más probable, el servidor Apache no puede ejecutar la aplicación. El servidor que uso es WAMP2.0 . Soy progtwigdor de PHP desde hace años y uso WAMPServer desde hace mucho tiempo. Instalé el mod_wsgi.so y parece que funciona bien (sin error de servicio) pero no puedo configurar el httpd.conf para ver mis scripts de python ubicados fuera de la raíz del servidor.

Por ahora, me gusta anular la raíz del documento y servir la aplicación django desde la raíz del documento, por lo que la línea httpd.conf debería tener este aspecto:

     WSGIScriptAlias ​​/ C: /Users/Marcos/Documents/mysite/apache/django.wsgi

Pero la respuesta del servidor es un 403 Prohibido.

Tienes:

WSGIScriptAlias / /C:/Users/Marcos/Documents/mysite/apache/django.wsgi 

Eso es incorrecto ya que RHS no es una ruta de acceso válida de Windows. Utilizar:

 WSGIScriptAlias / C:/Users/Marcos/Documents/mysite/apache/django.wsgi 

Es decir, no hay una barra al inicio antes del especificador de unidad de Windows.

Aparte de eso, siga la documentación mod_wsgi que otros han señalado.


Cartel editado pregunta para cambiar lo que ahora parece ser un error tipográfico en la publicación y no un problema con su configuración.

Si ese es el caso, las siguientes causas para un 403 son las siguientes.

Primero es que necesitas tener también:

  Order deny,allow Allow from all  

Si no tiene eso, entonces a Apache no se le otorgan derechos para servir un script desde ese directorio y, por lo tanto, devolverá FORBIDDEN (403).

En segundo lugar, tiene eso, pero no reconoce que sí, y que el directorio no puede leer ese directorio o el archivo de script WSGI que el servicio Apache ejecuta como en Windows.

¿Has visto http://code.google.com/p/modwsgi/wiki/IntegrationWithDjango ?

Necesitas más de una línea para asegurarte de que Apache juegue bien.

 Alias /media/ /usr/local/django/mysite/media/  Order deny,allow Allow from all  WSGIScriptAlias / /usr/local/django/mysite/apache/django.wsgi  Order deny,allow Allow from all  

El , así como la propiedad y los permisos apropiados del sistema de archivos son esenciales.

El directorio usr/local/django/mysite/apache tiene su aplicación Python / Django y el importante archivo django.wsgi . Debe proporcionar permisos en este directorio.

La documentación de mod_wsgi es muy buena. Intente usar su guía de configuración rápida y vaya desde allí: http://code.google.com/p/modwsgi/wiki/QuickConfigurationGuide