1

我在这里发现了一个类似的问题,但没有帮助我。

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

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

Forbidden

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

我有一个原始的 httpd.conf,唯一的修改是启用我拥有的虚拟主机:

<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()
4

2 回答 2

4

您的 Apache 配置中似乎缺少任何实际为 Django 应用程序服务的内容。您需要阅读Django mod_wsgi 文档- 第一行代码就是您所缺少的。

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

于 2011-05-03T18:27:44.683 回答
1

我看到的问题是在我制作的 Dropbox 文件夹中:

chmod o+x /home/your_name/Dropbox

这解决了权限

于 2013-04-10T20:09:48.947 回答