Сделайте резервную копию данных на внешнем диске и удалите все разделы, отформатируйте диск, затем начните установку ОС в зависимости от того, что хотите.
Обязательно проверьте /var/log/audit/audit.log
на наличие предупреждений selinux. Он может предложить, какую политику включить.
В противном случае вы можете установить SELinux в разрешительный режим, а затем использовать вышеупомянутый файл журнала для создания пользовательской политики, охватывающей все потребности вашего приложения. Для этого установите SELinux в разрешающий режим, используйте все функции вашего кода, а затем используйте audit2allow для создания пользовательской политики.
Затем вы можете объединить и распространить файл политики с вашим кодом, чтобы SELinux разрешал все и только те специальные разрешения, которые необходимы вашему коду:
# generate a custom policy
grep "AVC" /var/log/audit/audit.log | audit2allow -M yourapp
# install that policy
semodule -i yourapp.pp
Что бы вы ни делали, не приступайте к работе с выключенным SELinux!
Рекомендуем посмотреть это замечательное введение в SELinux:https://www.youtube.com/watch?v=_WOKRaM-HI4
Спасибо Ульриху Шварцу и hargut за то, что указали мне правильное направление. На самом деле это было логическое значение. Я включил httpd _enable _cgi, как было предложено, и это все равно не сработало. Затем я просмотрел список логических значений, используя
sudo getsebool -a | grep httpd
Так я узнал, что существует логическое значение с именем
httpd_can_network_connect_db
и что он был выключен.
Я включил его с помощью
sudo setsebool httpd_can_network_connect_db=1
Если кто-то использует MySql и выполняет миграцию с Debian на систему с повышенной безопасностью, это обязательное условие. Так много нужно узнать о SELinux. Еще раз спасибо.