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_wsg
Linux systems usually don't allow other users to read inside the home directory, and as Apache runs as root, mod_wsgi will not be able to access the inside of the home directory. Try:
sudo chmod 755 /home/<username>
You can use the following:
<Directory /home/aettool/aet/apache>
<IfVersion < 2.3 >
Order allow,deny
Allow from all
</IfVersion>
<IfVersion >= 2.3>
Require all granted
</IfVersion>
</Directory>
There is one other gotcha:
Check your httpd.conf file for the following configuration:
<IfModule mime_module>
AddHandler cgi-script .cgi .pl .py
</IfModule>
This will cause the error.
.py MUST NOT be configured as a CGI script
This has been reported in Django ticket 19319:
https://code.djangoproject.com/ticket/19319
Your Apache config now needs the following for your file wsgi.py
.
<Directory /path/to/your/wsgi-script>
<Files wsgi.py>
Order deny,allow
Allow from all
Require all granted
</Files>
</Directory>
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