Django在Apache2提供服务时创建文件夹的权限

时间:2018-01-10 19:31:20

标签: python django apache2 mod-wsgi wsgi

我在Debian 8机器上使用Apache2和mod_wgsi为Django站点提供服务。

我已正确设置访问数据库和静态文件目录以及my_site / media目录的权限。

但是,该网站需要在my_site / media中创建一个目录(即my_site / media / another_directory),我似乎无法授予apache2权限。

媒体许可是:

drwxrwxrwx 2 scamp www-data   4096 Jan 10 03:09 media

我得到的Django错误是

Exception Type: PermissionError
Exception Value:    
[Errno 13] Permission denied: 'media/new_folder'

这是我的django.conf:

Alias /robots.txt /home/scamp/trcalc_django/static/robots.txt
Alias /favicon.ico /home/scamp/trcalc_django/static/favicon.ico
Alias /media/ /home/scamp/trcalc_django/media/
Alias /static /home/scamp/trcalc_django/static
<Directory /home/scamp/trcalc_django/static>
Require all granted
</Directory>
<Directory /home/scamp/trcalc_django/media>
Require all granted
</Directory>
WSGIScriptAlias / /home/scamp/trcalc_django/wsgi.py
<Directory /home/scamp/trcalc_django>
<Files wsgi.py>
Require all granted
</Files>
</Directory>

我需要在apache conf中添加其他内容吗?或其他一些需要设置的权限?

1 个答案:

答案 0 :(得分:1)

不要使用文件的相对路径。您必须计算绝对路径。这是因为该过程的当前工作目录不会是您的项目所在。有关详细信息,请参阅mod_wsgi文档。