403 Forbidden error with Django and mod_wsgi

g4ur4v picture g4ur4v · Jul 20, 2013 · Viewed 33k times · Source

I created Django project in home directory so it is in home directory.

Setup

Django Verison  : 1.5.1
Python Version  : 2.7.5
mod_wsgi Version: 3.4
Home Directory  : /home/aettool

Contents of /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 of httpd.conf

WSGIScriptAlias / /home/aettool/aet/apache/django.wsgi

<Directory /home/aettool/aet/apache>
Order deny,allow
Allow from all
</Directory>

Error in 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

Contents of 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)),
)

Permissions of /home/aettool/aet : 775

Permissions of /home/aettool/aet/apache : 755

Permissions of django.wsgi file : 664

I am getting error on browser 403 Forbidden You don't have permission to access / on this server.

Please help me out with the configuration .

EDIT

For now I am moving forward by changing

<Directory />
    AllowOverride none
    Require all denied
</Directory>

to

<Directory />
    Order deny,allow
    Allow from all
</Directory>

So,this has definitely something to do with httpd.conf file configuration,but my worry is that I only added 5 lines in that file and not able to figure out what's wrong .

Answer

Sdra picture Sdra · Oct 18, 2013

Apparently this is an issue that is related to Apache 2.4 and older versions. You need to replace in your apache configuration:

Allow from all

with

Require all granted

in the <Files wsgi.py> section