权限被拒绝:Django静态文件

4
今天我在部署Django项目和Apache2 mod_wsgi时遇到了一些问题。
让我们澄清一些事实: 1. 这不是我第一次部署 2. 网站正在使用mod_wsgi响应 3. “static”文件夹包括文件和文件夹,权限为777
我的虚拟主机配置如下:
<VirtualHost *:80>
    ServerName myproject.com
    AddDefaultCharset UTF-8
    ServerAdmin webmaster@myproject.com
    ServerAlias www.myproject.com   
    DocumentRoot /home/ilyas/open.tm/bin/myproject/

    WSGIScriptAlias / /home/ilyas/open.tm/bin/myproject/myproject/index.wsgi

    <Directory /home/ilyas/open.tm/bin/myproject>
        Order deny,allow  
        Require all granted
    </Directory>

    Alias /static/ /home/ilyas/open.tm/bin/myproject/static/

    <Directory /home/ilyas/open.tm/bin/myproject/static>
        Order allow,deny
        Require all granted
    </Directory>
</VirtualHost>

我的index.wsgi文件看起来像这样:

import os
import sys
import site

# Add the site-packages of the chosen virtualenv to work with
site.addsitedir('~/.virtualenvs/open.tm/local/lib/python2.7/site-packages')

# Add the app's directory to the PYTHONPATH
sys.path.append('/home/ilyas/open.tm/bin')
sys.path.append('/home/ilyas/open.tm/bin/myproject')
sys.path.append('/home/ilyas/open.tm/bin/myproject/static')
sys.path.append('/home/ilyas/open.tm/bin/myproject/myproject')

# Activate your virtual env
activate_env=("/home/ilyas/open.tm/bin/activate_this.py")
execfile(activate_env, dict(__file__=activate_env))

from django.core.wsgi import get_wsgi_application

os.environ['DJANGO_SETTINGS_MODULE'] = 'myproject.settings'
application = get_wsgi_application()

最后是我的settings.py文件部分

STATIC_URL = '/static/'
MEDIA_URL = '/media/'

STATICFILES_DIRS = (
    'static', '/home/ilyas/open.tm/bin/myproject/static/',
    'media', '/home/ilyas/open.tm/bin/myproject/media/',
)

MEDIA_ROOT = os.path.join(BASE_DIR, "static/")

网站运行良好,我可以浏览页面,访问管理后台,也可以通过后台添加记录... 但是静态文件无法加载,提示"您没有权限访问此服务器上的 /static/image.png。"

Django = 1.9.2 Apache = 2.4.7


当您尝试访问其中一个静态文件时,Apache 的错误日志会显示什么?Apache 用户是否有读取该文件的权限? - dhke
1
[Wed Mar 02 12:38:55.358349 2016] [access_compat:error] [pid 32385] [client 94.102.184.31:28078] AH01797: 客户端被服务器配置拒绝访问:/home/ilyas/open.tm/bin/myproject/static/img/system/logo-flag.png - ilyas Jumadurdyew
1个回答

2

哎呀,我一直在想,如果规则不起作用,那么它就被忽略了...但事实上,这个规则花费了我4个小时的时间,还让我掉了更多的头发 :-) - ilyas Jumadurdyew
我很高兴这就是原因!你不是唯一一个被2.4折磨了几个小时的人... - FlipperPA

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接