关于在Apache上部署Django项目+;mod_python

关于在Apache上部署Django项目+;mod_python,django,apache,mod-python,Django,Apache,Mod Python,我在部署Django项目评审委员会时遇到了问题。我照文档上说的做了,但当我尝试访问该站点时,出现了“错误403”错误。也许我应该在serverfault.com上发布这个问题,但我认为这可能会帮助人们编写/部署Django应用程序 以下是安装程序: 我在/data/www/reviewboard中安装了审查板: . |-- conf | |-- apache-modpython.conf | |-- search-cron.conf | `-- settings_local.py |

我在部署Django项目评审委员会时遇到了问题。我照文档上说的做了,但当我尝试访问该站点时,出现了“错误403”错误。也许我应该在serverfault.com上发布这个问题,但我认为这可能会帮助人们编写/部署Django应用程序

以下是安装程序:

我在
/data/www/reviewboard
中安装了审查板:

. |-- conf | |-- apache-modpython.conf | |-- search-cron.conf | `-- settings_local.py |-- db | `-- reviewboard.db |-- htdocs | |-- errordocs -> /usr/lib/python2.6/site-packages/ReviewBoard-1.0.8-py2.6.egg/reviewboard/htdocs/errordocs | |-- media | | |-- admin -> /usr/lib/python2.6/site-packages/ReviewBoard-1.0.8-py2.6.egg/reviewboard/htdocs/media/admin | | |-- djblets -> /usr/lib/python2.6/site-packages/Djblets-0.6.2-py2.6.egg/djblets/media | | |-- rb -> /usr/lib/python2.6/site-packages/ReviewBoard-1.0.8-py2.6.egg/reviewboard/htdocs/media/rb | | `-- uploaded | | `-- images | `-- rb | |-- errordocs -> ../errordocs/ | `-- media -> ../media/ |-- logs `-- tmp

我还在Apache主配置文件中引用了这个文件,
/etc/httpd/conf/httpd.conf
,如下所示:


Include/data/www/reviewboard/conf/apache-modpython.conf

当我试图通过
http://A.B.C.edu/rb
,我收到403错误,并在httpd错误日志中看到此消息:

[Tue Jun 22 08:52:57 2010] [notice] Apache/2.2.11 (Mandriva Linux/PREFORK-10.1mdv2009.1) mod_python/3.3.1 Python/2.6.1 DAV/2 SVN/1.6.1 mod_ssl/2.2.11 OpenSSL/0.9.8k configured -- resuming normal operations [Tue Jun 22 08:53:30 2010] [error] [client X.X.X.X] client denied by server configuration: /data/www/reviewboard/htdocs/rb [Tue Jun 22 08:52:57 2010][注意]Apache/2.2.11(Mandriva Linux/PREFORK-10.1mdv2009.1)mod_python/3.3.1 python/2.6.1 DAV/2 SVN/1.6.1 mod_ssl/2.2.11 OpenSSL/0.9.8k已配置--恢复正常操作 [Tue Jun 22 08:53:30 2010][error][client X.X.X]客户端被服务器配置拒绝:/data/www/reviewboard/htdocs/rb
有人知道我做错了什么吗?提前谢谢

您需要授予对/data/www/reviewboard/htdocs的访问权限

<Directory "/data/www/reviewboard/htdocs">
    Order allow,deny
    Allow from *
    AllowOverride All
</Directory>

命令允许,拒绝
容许*
允许超越所有

从审查委员会的作者那里找到了答案。诀窍在于增加


选项如下符号链接

在指向
媒体
目录的
标记中,因为该目录包含符号链接

更多详情见本帖:


谢谢你的回答。我添加了您建议的内容,但日志中仍然出现相同的错误。httpd似乎试图访问“/data/www/reviewboard/htdocs/rb”目录,但该目录不存在。配置文件没有告诉httpd运行Django应用程序而不是访问普通文件系统吗?哦,我明白你的意思了。Apache正在接收该目录,而不是发送给mod_python。我的回答是试图帮助处理403。我通常使用mod_wsgi,因此我担心mod_python问题对我来说不是很清楚。你知道我在mod_python上犯了什么错误吗?配置文件实际上是由审查委员会的“rb站点”脚本自动生成的。
<Directory "/data/www/reviewboard/htdocs">
    Order allow,deny
    Allow from *
    AllowOverride All
</Directory>