Django与Apache和mod_wsgi获得403(Forbidden)

时间:2012-01-25 16:23:54

标签: django apache mod-wsgi

我正在尝试使用mod_wsgi在Apache上运行一个Django应用程序。我为/ static和/(Django应用程序)中的任何文件都获得了403(Forbidden)。 apache用户拥有wsgi.py的权限,可以列出/ apps / {DIR} / static。我甚至更改了/ apps / {DIR}中所有文件/目录的用户和组。我可以su到apache用户可以遍历到wsgi.py.我可以用httpd -X手动运行apache是​​调试模式,一切正常! (我可以访问Django应用程序和静态内容)但是当我正常运行它不起作用时,我得到403.

RHEL 6.2, Python 2.6.6, Django 1.3, 的httpd-2.2.15, mod_wsgi的-3.2

/etc/httpd/conf/httpd.conf中:

WSGIScriptAlias / /apps/{DIR}/{APP_NAME}/apache/wsgi.py
WSGIPythonPath /apps/{DIR}/{APP_NAME}

<Directory /apps/{DIR}/{APP_NAME}/apache>
  <Files wsgi.py>
    Order deny,allow
    Allow from all
  </Files>
</Directory>

Alias /static /apps/{DIR}/static
<Directory /apps/{DIR}/static>
  Order allow,deny
  Options Indexes
  Allow from all
  IndexOptions FancyIndexing

  #Options FollowSymLinks
  AllowOverride None
</Directory>
httpd / error_log中的

错误

[...] [error] [client x.x.x.x] (13)Permission denied: access to / denied
[...] [error] [client x.x.x.x] (13)Permission denied: Can't open directory for index: /apps/{DIR}/static/

有没有人有任何想法? 感谢

1 个答案:

答案 0 :(得分:0)

您是否在启用SELinux的情况下运行?

从'/'到Apache用户可读的静态媒体目录的所有目录是否都可读,而不仅仅是目录本身?