python3 - 403 Error prohibido con Django y mod_wsgi
wsgi django (4)
Creé el proyecto Django en el directorio de inicio, por lo que está en el directorio de inicio.
Preparar
Django Verison : 1.5.1
Python Version : 2.7.5
mod_wsgi Version: 3.4
Home Directory : /home/aettool
Contenido de /home/aettool/aet/apache/django.wsgi
import os
import sys
os.environ[''DJANGO_SETTINGS_MODULE''] = ''aet.settings''
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
Contect de httpd.conf
WSGIScriptAlias / /home/aettool/aet/apache/django.wsgi
<Directory /home/aettool/aet/apache>
Order deny,allow
Allow from all
</Directory>
Error en error_log
[Sun Jul 21 02:01:30.923364 2013] [authz_core:error] [pid 21540:tid 1193011520] [client 10.20.17.184:51340] AH01630: client denied by server configuration: /home/aettool/aet/apache/django.wsgi
Contenido de urls.py
from django.conf.urls import patterns, include, url
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('''',
url(r''^admin/doc/'', include(''django.contrib.admindocs.urls'')),
url(r''^admin/'', include(admin.site.urls)),
)
Permisos de /home/aettool/aet : 775
Permisos de /home/aettool/aet/apache : 755
Permisos del django.wsgi file : 664
Recibo un error en el navegador 403 Forbidden
You don''t have permission to access / on this server.
Por favor ayúdame con la configuración.
EDITAR
Por ahora estoy avanzando cambiando.
<Directory />
AllowOverride none
Require all denied
</Directory>
a
<Directory />
Order deny,allow
Allow from all
</Directory>
Por lo tanto, esto definitivamente tiene algo que ver con la configuración del archivo httpd.conf
, pero mi preocupación es que solo agregué 5 líneas en ese archivo y no puedo averiguar qué está mal.
Aparentemente este es un problema relacionado con Apache 2.4 y versiones anteriores. Necesita reemplazar en su configuración de apache:
Allow from all
con
Require all granted
en la sección <Files wsgi.py>
Esto ha sido reportado en el boleto de Django 19319:
https://code.djangoproject.com/ticket/19319
Su configuración de Apache ahora necesita lo siguiente para su archivo wsgi.py
<Directory /path/to/your/wsgi-script>
<Files wsgi.py>
Order deny,allow
Allow from all
Require all granted
</Files>
</Directory>
Hay otro gotcha:
Verifique su archivo httpd.conf para la siguiente configuración:
<IfModule mime_module>
AddHandler cgi-script .cgi .pl .py
</IfModule>
Esto causará el error.
.py NO DEBE configurarse como un script CGI
Puedes usar lo siguiente:
<Directory /home/aettool/aet/apache>
<IfVersion < 2.3 >
Order allow,deny
Allow from all
</IfVersion>
<IfVersion >= 2.3>
Require all granted
</IfVersion>
</Directory>