2017-02-02 102 views
0

我無法從django管理站點訪問我的文件。我保存文件沒有任何問題,但是當我試圖打開它,我得到錯誤:禁止訪問django apache2媒體文件

Forbidden 
You don't have permission to access /media/file.pdf on this server. 

在Django項目設置:

STATIC_URL = '/static/' 

STATIC_ROOT = '/full/path/to/static/' 

MEDIA_URL = '/media/' 
MEDIA_ROOT = os.path.join(BASE_DIR, 'media') 

在項目urls.py:

if settings.DEBUG: 
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) 
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) 

在我的虛擬主機中添加了以下設置:

Alias /static/ "/static/folder/" 
Alias /media/ "/meida/folder/" 
<Directory "/static/folder"> 
    Require all granted 
</Directory> 
<Directory "/media/folder"> 
    Require all granted 
</Directory> 

但仍然得到這個錯誤。哪裏可以是錯誤/錯誤? 編輯1:Apache的錯誤日誌中給出了:

client denied by server configuration: /etc/apache2/home 
+0

嘗試'sudo chown -R www-data/path/to/media /' – itzMEonTV

+0

@itzmeontv完成。同樣的錯誤。 –

回答

0

變化/etc/apache2/conf-available/php5-fpm.conf。更換每

Order Deny,Allow 
Deny from all 

Require all granted 

配置必須由a2enconf php5-fpm啓用。

編輯

遵循的基本配置:https://docs.djangoproject.com/en/1.8/howto/deployment/wsgi/modwsgi/

EDIT 2

做的修改,並添加到您的虛擬主機設置:

<Directory /usr/local/django_apps/myapp/static> 
    Options Indexes FollowSymLinks 
    AllowOverride None 
    Require all granted 
</Directory> 

注意,路徑是從根!

+0

但它是django(python)項目。並且在我的/ etc/apache2/conf-available /文件夾中,php5-fpm.conf不存在。 –

+0

我編輯了我的asnwer。 –

+0

在本教程中配置的項目,但錯誤仍然存​​在。我不kwon爲什麼當我嘗試訪問媒體文件我得到403錯誤,但與靜態文件夾一切ok。 –