2012-01-25 108 views
0

我想要得到一個Django應用程序與mod_wsgi Apache上運行。我爲/ static和/(Django應用程序)中的任何文件都得到了403(Forbidden)。 apache用戶有權訪問wsgi.py,並且可以列出/ apps/{DIR}/static。我甚至更改了/ apps/{DIR}中所有文件/目錄的用戶和組。我可以su到apache用戶可以遍歷到wsgi.py.我可以手動運行Apache是​​使用httpd -X的調試模式,一切正常! (我可以訪問Django應用程序和靜態內容),但是當我運行它,通常它不工作,我得到一個403Django與Apache和mod_wsgi得到403(禁止)

RHEL 6.2,Python的 2.6.6, Django的1.3, 的httpd-2.2。 15, mod_wsgi的-3.2

/etc/httpd/conf/httpd.conf中:

WSGIScriptAlias//apps/{DIR}/{APP_NAME}/apache/wsgi.py 
WSGIPythonPath /apps/{DIR}/{APP_NAME} 

<Directory /apps/{DIR}/{APP_NAME}/apache> 
    <Files wsgi.py> 
    Order deny,allow 
    Allow from all 
    </Files> 
</Directory> 

Alias /static /apps/{DIR}/static 
<Directory /apps/{DIR}/static> 
    Order allow,deny 
    Options Indexes 
    Allow from all 
    IndexOptions FancyIndexing 

    #Options FollowSymLinks 
    AllowOverride None 
</Directory> 

在的httpd/error_log中

[...] [error] [client x.x.x.x] (13)Permission denied: access to/denied 
[...] [error] [client x.x.x.x] (13)Permission denied: Can't open directory for index: /apps/{DIR}/static/ 
錯誤

有沒有人有任何想法? 謝謝

+0

你是怎麼解決這個問題的?我對CentOS有很大的問題。當啓動httpd使用'sudo /etc/init.d/httpd'啓動時出現禁止出現,而當我執行'sudo/usr/sbin/httpd'時出現禁止。 – Fedor

回答

0

您是否在啓用SELinux的情況下運行?

從'/'的所有目錄到Apache用戶可讀的靜態媒體目錄,而不僅僅是目錄本身?

+0

是的,SELinux正在運行。我修正了SELinux,現在它工作得很好。 謝謝 – user1167710