Apache说错误打开文件进行读取:权限被拒绝

Say*_*tan 7 python apache django

我正在尝试使用apache(2.2.22)和mod_wsgi(3.4)运行django(1.6)项目.我的python是2.7.3,默认是ubuntu 12.04.我已将所有内容从/ var/www设置为chmod 777向下.不幸的是它给了我

打开文件进行读取时出错:权限被拒绝,然后是脚本标题的过早结束:wsgi.py

谁能告诉我我做错了什么?我在这里发布我的error.log

root@whq-4:/var/www/Imse_dev2/Imse/Imse# tail -f /var/log/apache2/error.log 
[Tue Jan 14 14:16:04 2014] [notice] caught SIGTERM, shutting down
[Tue Jan 14 14:16:08 2014] [notice] Apache/2.2.22 (Ubuntu) mod_wsgi/3.4 Python/2.7.3      configured -- resuming normal operations
[Tue Jan 14 14:16:28 2014] [error] /var/www/Imse_dev2/Imse
Error opening file for reading: Permission denied
[Tue Jan 14 14:21:32 2014] [error] [client 127.0.0.1] Premature end of script headers:   wsgi.py
[Tue Jan 14 14:29:13 2014] [notice] caught SIGTERM, shutting down
[Tue Jan 14 14:29:13 2014] [notice] Apache/2.2.22 (Ubuntu) mod_wsgi/3.4 Python/2.7.3  configured -- resuming normal operations
[Tue Jan 14 14:29:17 2014] [error] /var/www/Imse_dev2/Imse
Error opening file for reading: Permission denied
[Tue Jan 14 14:34:21 2014] [error] [client 127.0.0.1] Premature end of script headers:  wsgi.py
Run Code Online (Sandbox Code Playgroud)

还有我的httpd.conf文件

#LimitRequestLine 200475
#LimitRequestFieldSize 200475

WSGIDaemonProcess imse_dev2_wsgi python-path=/var/www/Imse_dev2/Imse/Imse


#LoadModule deflate_module modules/mod_deflate.so
#LoadModule headers_module modules/mod_headers.so

<VirtualHost *:80>
    ServerName whq-4
    DocumentRoot /var/www/
    #Header set Access-Control-Allow-Origin "*"
    Alias /static /var/www/Imse_dev2/Imse/static
    Alias /favicon.ico /var/www/favicon.ico
#       Header set Access-Control-Allow-Origin "*"


    <Directory /var/www/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Order allow,deny
            allow from all
    </Directory>


    WSGIScriptAlias /imse_dev2 /var/www/Imse_dev2/Imse/Imse/wsgi.py
    <Directory /var/www/Imse_dev2/Imse/Imse>
            WSGIProcessGroup imse_dev2_wsgi
            <Files wsgi.py>
                    Order deny,allow
                    Allow from all
            </Files>
    </Directory>

    <IfModule mod_headers.c>
             Header set Access-Control-Allow-Origin "*"
    </IfModule>

</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

Car*_*ano 0

问题是,Django 不允许您访问应用程序所在目录之外的文件。因此,例如,如果您的应用程序正在运行,/var/www/project并且您想要访问的文件位于 on /var/www/foo,Django 将引发您收到的异常。

解决方案是将您尝试访问的目录移动到项目目录中。