Apache Django“服务器配置拒绝客户端”错误

时间:2011-05-03 17:36:12

标签: django apache http-status-code-403

我在这里找到了类似的问题,但没有帮助我。

我在OS X上基本上安装了apache。我也安装了Django。

但是,当我尝试通过本地浏览器加载页面时,我得到:

Forbidden

You don't have permission to access / on this server.

我有一个原始的httpd.conf,其中包含启用vhosts的唯一修改:

<VirtualHost *:80>
     ServerAdmin webmaster@dummy-host.example.com
     DocumentRoot "/Dropbox/project/www/"
     ServerName touch.loc
  #   ServerAlias www.dummy-host.example.com
     ErrorLog "/Dropbox/project/www/log/error.log"
     CustomLog "/Dropbox/project/www/log/access.log" common
</VirtualHost>

error.log文件给出:

[Tue May 03 20:22:56 2011] [error] [client 127.0.0.1] Directory index forbidden by Options directive: /Dropbox/project/www/

我阅读了,看起来我必须将以下内容添加到httpd.conf:

<Directory /Dropbox/project/www >
Order deny,allow
Allow from all
</Directory>

在哪种情况下我得到:

[Tue May 03 20:27:55 2011] [error] [client 127.0.0.1] client denied by server configuration: /Dropbox/project/www/

有人可以帮助我解决这个烦恼吗?我该如何进一步调查呢? 是否与用户/群组有关?

更新: 然后我添加了Options + Indexes并打开了权限。但是,当我尝试加载页面时,出现文件结构而不是wsgi文件来拾取和加载网站。这是什么原因?

这是我的.wsgi文件:

 import os
import sys
sys.stdout = sys.stderr
# Add the virtual Python environment site-packages directory to the path
import site
site.addsitedir('/usr/lib/python2.6/dist-packages')
#If your project is not on your PYTHONPATH by default you can add the following
sys.path.append('/Dropbox/project/www/')
sys.path.append('/Dropbox/project/www/project')

# Avoid ``[Errno 13] Permission denied: '/var/www/.python-eggs'`` messages
os.environ['PYTHON_EGG_CACHE'] = '/Dropbox/project/www/mod_wsgi/egg-cache'
os.environ['DJANGO_SETTINGS_MODULE'] = 'project.settings'



import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

2 个答案:

答案 0 :(得分:4)

您似乎遗漏了实际为Django应用程序提供服务的Apache配置中的任何内容。您需要阅读Django mod_wsgi documentation - 您缺少的第一行代码。

请注意,您的代码不应位于DocumentRoot下。

答案 1 :(得分:1)

我看到的问题是在Dropbox文件夹中 我已经这样做了:

chmod o+x /home/your_name/Dropbox

解析权限