2

Я занимаюсь разработкой приложения Django, и у меня проблема с лог-файлами. У меня есть регистратор, настроенный на запись в /var/log/django/django.log . Когда я пытаюсь запустить сервер, я получаю сообщение об ошибке 500, и журнал ошибок говорит

ValueError: Unable to configure handler 'djangologfile': [Errno 13] Permission denied: '/var/log/django/django.log'
"httpd/error_log" 480L, 61112C

Разрешения как для django.log и для каталога django - 777. Почему сервер не может записать в файл?

1 ответ1

1

Вероятно, SELinux блокирует эту попытку записи. Вы можете отключить его, выполнив следующую команду:

setenforce 0

Или создайте правило, позволяющее писать. Для этого проверьте файл системного журнала и скопируйте строку, которая "запрещена", она должна выглядеть следующим образом:

audit(...): avc:  denied  { write } for  pid=27984 comm="httpd" name="httpd" dev=sda6 ino=307469 scontext=root:system_r:httpd_t:s0 tcontext=system_u:object_r:usr_t:s0 tclass=...

Скопируйте его и выполните следующую команду:

audit2allow -M local << _EOF_
(paste the content)
_EOF_

semodule -i local.pp

Это создаст для него постоянное правило, поэтому вам не нужно отключать SELinux.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .