2010-09-20 109 views
3

我想與Apache(和mod_wsgi)一起使用Django。使用默認的Django網絡服務器,一切進展順利,但現在當我嘗試加載頁面時,出現了403(訪問被禁止)錯誤。我在這裏搜索以前的帖子並閱讀官方文檔,但那裏的解決方案沒有幫助。與mod_wsgi Django返回403錯誤

下面是我的httpd.conf中的臺詞:

WSGIScriptAlias//home/karlis/django/apache/django.wsgi 

<Directory /home/karlis/django/apache> 
Order allow,deny 
Allow from all 
</Directory> 

Alias /media/ /home/karlis/django/media 

<Directory /home/karlis/django/media> 
Order deny,allow 
Allow from all 
</Directory> 

權限設置爲770,並沒有設置在/ home/karlis/Django的所有文件夾粘位。我有django 1.2.3,mod_wsgi 3.2,apache 2.2.15,我運行Arch Linux。

我在做什麼錯在這裏?

提前致謝! -skazhy

回答

1

運行Apache作爲一個特殊的用戶,將無法與770

觀看談話在權限閱讀的東西:這也解釋了有關權限的事情

http://code.google.com/p/modwsgi/wiki/WhereToGetHelp?tm=6#Conference_Presentations

解決問題的關鍵是什麼錯誤消息出現在您的Apache錯誤日誌中。你甚至沒有說明你在日誌文件中得到了什麼錯誤消息。鏈接的談話顯示了這些錯誤信息可能是什麼以及它們的含義。

-1

試試這個,而不是你的目錄聲明:

<Location /> 
    Order Allow,Deny 
    Allow from all 
</Location> 
+0

我仍然得到403錯誤與此。 – skazhy 2010-09-20 07:48:56

+2

不要那樣做,這很危險。如果你這樣做了,那麼如果一個URL映射被填充並指向包含敏感信息的文件系統部分,它將很容易下載。作爲一般規則,切勿使用「允許使用位置」。相反,請始終將其與Directory配對,以便您特別只允許訪問已知不包含敏感內容的文件系統的某些部分。 – 2010-09-20 07:49:17

0

還有一個其他疑難雜症:

檢查以下配置httpd.conf文件:

<IfModule mime_module> 
     AddHandler cgi-script .cgi .pl .py 
</IfModule> 

這將導致錯誤。

.py絕不能配置爲CGI腳本