Apache + mod_wsgi:似乎收到 403 服务器错误

Apache + mod_wsgi:似乎收到 403 服务器错误

您好,我今天不得不重新安装 mod_wsgi(因为我们的 Red Hat 服务器又崩溃了)。使用 Django 部署时发生了一些奇怪的事情。我一直收到 403 页错误You do not have permission to access /mmc on this server

我的项目文件夹存放在/usr/local/src/djcode/c2duo_mms' The permission of my project folder and all of its contents are set tochmod 755`中。应用程序名称叫做mmc。

django.wsgi file

import os 
import sys  

sys.path.append('/usr/local/src/djcode/') 
sys.path.append('/usr/local/src/djcode/c2duo_mms')  

os.environ['DJANGO_SETTINGS_MODULE'] = 'c2duo_mms.settings' 
import django.core.handlers.wsgi application = django.core.handlers.wsgi.WSGIHandle()  

httpd.conf file

WSGIScriptAlias /mmc /usr/local/src/djcode/c2duo_mms/apache/django.wsgi
WSGIPythonEggs /tmp 
<Directory /var/www/html/c2duo_crm/apache> 
Order allow,deny 

Allow from all 

我看不出这里有什么问题。我上次将项目文件夹存储在同一个位置,但这次它不起作用。

答案1

Apache 用户不仅需要可以访问 WSGI 脚本文件所在的特定文件夹。所有备份到文件系统根目录的目录也需要可供 Apache 用户搜索。如果父目录具有限制性权限,您将收到该错误。有关更多详细信息,请查看:

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

其中包括权限的详细信息。


更新 1

我忽略了您的配置中的一个明显错误,那就是您应该使用:

<Directory /usr/local/src/djcode/c2duo_mms/apache>

并不是:

<Directory /var/www/html/c2duo_crm/apache>

您谈论权限的问题分散了我的注意力,我只是纠正了您所说的实际上不相关的内容。

再次查看 mod_wsgi 中的示例,其中展示了 WSGIScriptAlias 和 Directory 指令如何关联。

答案2

确保您的 WSGI 套接字上的权限使您的有效用户具有读/写访问权限?

相关文件:http://code.google.com/p/modwsgi/wiki/ConfigurationDirectives#WSGISocketPrefix

如果这没有帮助,您的配置是从备份中恢复的吗,还是它们被完全重写了?您能提供更多配置吗?

相关内容