Django - cant creat directory in settings.py - Apache2



我努力将Django网站置于生产模式。 我卡在错误权限中,通过我的 settings.py 创建一个文件夹。

我无法在我的settings.py创建一个目录...为什么?=(

错误日志

(我删除了没有用的信息(

mod_wsgi (pid=440685): Failed to exec Python script file '/PATHMYSITE/wsgi.py'.
mod_wsgi (pid=440685): Exception occurred processing WSGI script '/PATHMYSITE/wsgi.py'.
Traceback (most recent call last):
File "/PATHMYSITE/wsgi.py", line 21, in <module>
application = get_wsgi_application()
File "/PATHMYENV/lib64/python3.6/site-packages/django/core/wsgi.py", line 12, in get_wsgi_application
django.setup(set_prefix=False)
File "/PATHMYENV/lib64/python3.6/site-packages/django/__init__.py", line 19, in setup
configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)
File "/PATHMYENV/lib64/python3.6/site-packages/django/conf/__init__.py", line 56, in __getattr__
self._setup(name)
File "/PATHMYENV/lib64/python3.6/site-packages/django/conf/__init__.py", line 43, in _setup
self._wrapped = Settings(settings_module)
File "/PATHMYENV/lib64/python3.6/site-packages/django/conf/__init__.py", line 106, in __init__
mod = importlib.import_module(self.SETTINGS_MODULE)
File "/usr/lib64/python3.6/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 994, in _gcd_import
File "<frozen importlib._bootstrap>", line 971, in _find_and_load
File "<frozen importlib._bootstrap>", line 941, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "<frozen importlib._bootstrap>", line 994, in _gcd_import
File "<frozen importlib._bootstrap>", line 971, in _find_and_load
File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 678, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/PATHMYSITE/MYSITE/__init__.py", line 5, in <module>
from .settings import DEBUG
File "/PATHMYSITE/MYSITE/settings.py", line 333, in <module>
os.mkdir(FILE_UPLOAD_TEMP_DIR)
PermissionError: [Errno 13] Permission denied: '/PATHMYSITE/media/tmp'

姜戈"settings.py">

#### many things ######
FILE_UPLOAD_TEMP_DIR = os.path.join(MEDIA_ROOT, "tmp")
if not os.path.exists(FILE_UPLOAD_TEMP_DIR):
os.mkdir(FILE_UPLOAD_TEMP_DIR)

Apache Httpd "django.conf">

LoadModule wsgi_module /PATHMYENV/lib/python3.6/site-packages/mod_wsgi/server/mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so
CustomLog logs/MYSITE-access_log common
ErrorLog logs/MYSITE-error_log

#<VirtualHost *:80>

# ServerName www.DNS.com:80
WSGIDaemonProcess MYSITE python-home=/PATHMYENV python-path=/PATHMYSITE
WSGIProcessGroup MYSITE
WSGIApplicationGroup %{GLOBAL}
WSGIScriptAlias / /PATHMYSITE/MYSITE/wsgi.py
Alias /static/ /PATHMYSITE/static/
<Directory /PATHMYSITE/static>
Require all granted
</Directory>
<Directory /PATHMYSITE>
Require all granted
</Directory>
<Directory /PATHMYSITE/MYSITE>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
#</VirtualHost>

编辑 1 - 权限网站文件夹

[ME@web PATHTOMYPARENTFOLDERSITE]$ ls -Z 
drwxrwxr-x. apache  apache  unconfined_u:object_r:httpd_sys_content_t:s0 MYSITE
drwxr-xr-x. apache  apache  unconfined_u:object_r:httpd_sys_rw_content_t:s0 MYENV

将文档根所在的目录的所有权更改为运行 apache 的用户。如果您使用"apache2"用户运行 apache,请执行以下操作

# chown -R apache2:apache /PATHMYSITE/MYSITE/

并重新启动

# service apache2 restart

通过Manish R的注释使用此命令行解决:

sudo setenforce Permissive

它关闭了SELinux。

最新更新