Как устранить проблемы с разрешениями в Centos при обслуживании приложений Django через Apache + mod_wsgi?

У меня есть Django App Настроен с помощью Apache и mod_wsgi

У приложения есть проблемы при принудительном включении текущего режима во время работы: sestatus

[root@localhost html]# sestatus
SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   enforcing
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Max kernel policy version:      31

На веб-странице отображается следующая ошибка:

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at root@localhost to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log.

Ошибка в журнале регистрации:

Ошибка возникла не из-за модуля python, а из-за недоступности файлов библиотеки numpy.

Как только я меняю Текущий режим на permissive через setenforce 0, приложение работает нормально.

[root@localhost html]# sestatus
SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   permissive
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Max kernel policy version:      31

Хотя приложение работает на permissive SELinux environment, сервер может быть атакован вредоносным ПО,

Я применил chmod -R 777 /var/www/html/Django_webapp_root_dir ко всем файлам и директориям папки, в которой находится Django App и его виртуальное окружение python, но ошибка осталась прежней.

Разрешения выглядят следующим образом:

a.) для главного каталога

drwxrwxrwx.  8 root       root            4096 Jul 19 01:40 Django_webapp_root_dir

a.) для Sub Directory и файлов

drwxrwxrwx. 4 root root     162 Jul 19 00:41 Django_Project
drwxrwxrwx. 7 root root      85 Jul 18 23:47 Django_app_venv
drwxrwxrwx. 5 root root     191 Jul 18 14:31 Django_web_app
-rwxrwxrwx. 1 root root 4542464 Jul 19 01:40 db.sqlite3
-rwxrwxrwx. 1 root root     694 Jul 18 14:32 manage.py
-rwxrwxrwx. 1 root root      52 Jul 18 14:32 requirements.txt
drwxrwxrwx. 7 root root     106 Jul 18 14:25 static
drwxrwxrwx. 4 root root    4096 Jul 18 14:31 templates

Как правильно изменить разрешения для файлов и каталогов Django внутри каталога /var/www/html/ на Centos, используя веб-сервер Apache с default enforcing mode of SELinux?

Вернуться на верх