我正在linux上安装Reviewboard,我已将安装包提供的配置复制到httpd.conf
<VirtualHost *:80>
ServerName localhost
DocumentRoot "/usr/www/reviewboard/htdocs"
# Error handlers
ErrorDocument 500 /errordocs/500.html
WSGIPassAuthorization On
WSGIScriptAlias "/reviewboard" "/usr/www/reviewboard/htdocs/reviewboard.wsgi/reviewboard"
<Directory "/usr/www/reviewboard/htdocs">
AllowOverride All
Options -Indexes FollowSymLinks
Allow from all
</Directory>
# Alias static media requests to filesystem
Alias /reviewboard/media "/usr/www/reviewboard/htdocs/media"
Alias /reviewboard/errordocs "/usr/www/reviewboard/htdocs/errordocs"
Alias /reviewboard/favicon.ico "/usr/www/reviewboard/htdocs/media/rbcommons/images/favicon.png"
</VirtualHost>
但是,当我访问“http://SITE/reviewboard/htdocs/reviewboard.wsgi”时,它只是以纯文本形式提供给我文件而不是运行脚本
我已经通过“apache2ctl -t -D DUMP_MODULES”检查了mod_wsgi在apache2上的运行情况
我是否错过任何其他配置?
答案 0 :(得分:1)
您应该使用网址:
http://SITE/reviewboard
和WSGIScriptAlias指令应该是:
WSGIScriptAlias "/reviewboard" "/usr/www/reviewboard/htdocs/reviewboard.wsgi"
请注意,将整个Django站点放在DocumentRoot下是不好的做法。您看到WSGI脚本文件的源代码突出显示它为什么不好。也就是说,您的Apache配置存在问题,您可以公开所有源代码供人们下载。如果settings.py在那里并且它包含数据库密码,则特别糟糕。
现在,解决这些问题,并用你当时拥有的内容和下一个问题更新问题,因为我不希望完全解决问题,因为有了这些错误,你应该遇到的问题与你描述的不同,所以怀疑您的配置甚至没有被使用。