我在主目录中创建了Django项目,因此它位于主目录中。
设置
Django Verison : 1.5.1
Python Version : 2.7.5
mod_wsgi Version: 3.4
Home Directory : /home/aettool
/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()
httpd.conf
WSGIScriptAlias / /home/aettool/aet/apache/django.wsgi
<Directory /home/aettool/aet/apache>
Order deny,allow
Allow from all
</Directory>
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
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)),
)
/home/aettool/aet : 775
/home/aettool/aet/apache : 755
django.wsgi file : 664
我在浏览器403 Forbidden
You don't have permission to access / on this server.
请帮我解决配置问题。
修改
现在我正在改变
<Directory />
AllowOverride none
Require all denied
</Directory>
到
<Directory />
Order deny,allow
Allow from all
</Directory>
所以,这肯定与httpd.conf
文件配置有关,但我担心的是我只在该文件中添加了5行而无法弄清楚错误。
答案 0 :(得分:39)
显然这是一个与Apache 2.4和旧版本相关的问题。 您需要替换apache配置:
Allow from all
与
Require all granted
在<Files wsgi.py>
部分
答案 1 :(得分:16)
您可以使用以下内容:
<Directory /home/aettool/aet/apache>
<IfVersion < 2.3 >
Order allow,deny
Allow from all
</IfVersion>
<IfVersion >= 2.3>
Require all granted
</IfVersion>
</Directory>
答案 2 :(得分:4)
这已在Django票证19319中报道:
https://code.djangoproject.com/ticket/19319
您的Apache配置现在需要以下文件wsgi.py
。
<Directory /path/to/your/wsgi-script>
<Files wsgi.py>
Order deny,allow
Allow from all
Require all granted
</Files>
</Directory>
答案 3 :(得分:2)
另外还有一个问题:
检查httpd.conf文件以获取以下配置:
<IfModule mime_module>
AddHandler cgi-script .cgi .pl .py
</IfModule>
这将导致错误。
.py不得配置为CGI脚本
答案 4 :(得分:0)
Linux系统通常不允许其他用户读取主目录,并且由于Apache以root身份运行,因此mod_wsgi将无法访问主目录的内部。 试试:
sudo chmod 755 /home/<username>