关于在Apache上部署Django项目+;mod_python
我在部署Django项目评审委员会时遇到了问题。我照文档上说的做了,但当我尝试访问该站点时,出现了“错误403”错误。也许我应该在serverfault.com上发布这个问题,但我认为这可能会帮助人们编写/部署Django应用程序 以下是安装程序: 我在关于在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 |
/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>