我在这里找到了类似的问题,但没有帮助我。
我在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()
答案 0 :(得分:4)
您似乎遗漏了实际为Django应用程序提供服务的Apache配置中的任何内容。您需要阅读Django mod_wsgi documentation - 您缺少的第一行代码。
请注意,您的代码不应位于DocumentRoot下。
答案 1 :(得分:1)
我看到的问题是在Dropbox文件夹中 我已经这样做了:
chmod o+x /home/your_name/Dropbox
解析权限