J'ai créé le projet Django dans le répertoire personnel donc il est dans le répertoire personnel.
Configuration
Django Verison : 1.5.1
Python Version : 2.7.5
mod_wsgi Version: 3.4
Home Directory : /home/aettool
Contenu 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()
Contexte de httpd.conf
WSGIScriptAlias / /home/aettool/aet/Apache/Django.wsgi
<Directory /home/aettool/aet/Apache>
Order deny,allow
Allow from all
</Directory>
Erreur dans 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
Contenu 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)),
)
Autorisations de /home/aettool/aet : 775
Autorisations de /home/aettool/aet/Apache : 755
Autorisations de Django.wsgi file : 664
Je reçois une erreur sur le navigateur 403 Forbidden
You don't have permission to access / on this server.
Veuillez m'aider avec la configuration.
MODIFIER
Pour l'instant je vais de l'avant en changeant
<Directory />
AllowOverride none
Require all denied
</Directory>
à
<Directory />
Order deny,allow
Allow from all
</Directory>
Donc, cela a certainement quelque chose à voir avec httpd.conf
configuration du fichier, mais mon inquiétude est que je n'ai ajouté que 5 lignes dans ce fichier et que je n'arrive pas à comprendre ce qui ne va pas.
Apparemment, c'est un problème lié à Apache 2.4 et aux versions antérieures. Vous devez remplacer dans votre configuration Apache:
Allow from all
avec
Require all granted
dans le <Files wsgi.py>
section
Vous pouvez utiliser les éléments suivants:
<Directory /home/aettool/aet/Apache>
<IfVersion < 2.3 >
Order allow,deny
Allow from all
</IfVersion>
<IfVersion >= 2.3>
Require all granted
</IfVersion>
</Directory>
Cela a été signalé dans Django ticket 19319:
https://code.djangoproject.com/ticket/19319
Votre configuration Apache a maintenant besoin des éléments suivants pour votre fichier wsgi.py
.
<Directory /path/to/your/wsgi-script>
<Files wsgi.py>
Order deny,allow
Allow from all
Require all granted
</Files>
</Directory>
Il y a un autre gotcha:
Vérifiez votre fichier httpd.conf pour la configuration suivante:
<IfModule mime_module>
AddHandler cgi-script .cgi .pl .py
</IfModule>
Cela provoquera l'erreur.
.py NE DOIT PAS être configuré en tant que script CGI