我在Linux上安裝Reviewboard,我抄在安裝包中提供的配置以httpd.conf中的Apache2無法運行WSGI腳本
<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://網站/ reviewboard /htdocs/reviewboard.wsgi」,它只是給我以純文本格式的文件,而不是運行腳本
我已經檢查了mod_wsgi的是通過在運行的Apache2‘apache2ctl -t -D DUMP_MODULES’
難道我錯過任何其他配置?
非常感謝。我現在得到了它的工作。我認爲'WSGIScriptAlias「/ reviewboard」「/usr/www/reviewboard/htdocs/reviewboard.wsgi/reviewboard」'很好。 – Alvin
順便說一句,我想你提到了一個好點。你的意思是我應該把目錄htdocs放在DocumentRoot下面?並保留其他目錄,如日誌,conf,數據和日誌在另一個地方像/ etc/revieboard?但用戶仍然可以通過這種方式查看reviewboard.wsgi。我如何防止這種情況? – Alvin
擁有WSGIScriptAlias並不一定好。在目標WSGI腳本的末尾重複安裝點具有Apache的特殊含義。如此特殊而神奇,它甚至沒有記錄在mod_wsgi網站上,只是在需要的時候才向人們解釋。如果它有效,那麼它只能表示所有的urls.py網址都以「reviewboard」爲前綴,否則無法看到它是如何工作的。 –