我在这里发现了一个类似的问题,但没有帮助我。
我基本上在我的 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()