Настройка ярлыков SElinux для сайта magento на Centos 7
Я надеялся, что кто-то может любезно помочь себе. У меня есть сайт Magento, работающий на сервере Centos 7.6.
Теперь сайт не правильно загружается и просматривает сообщения. Я вижу многочисленные записи, где SElinux блокирует доступ. Я могу подтвердить, что это проблема SElinux, так как установка в разрешающем режиме исправляет ("свободно используется") проблему.
Бег
sealert -l 3bedf708-7636-44d4-95f6-c98b8ea16687Я вижу следующее:SELinux запрещает / usr / sbin / httpd доступ к записи на /var/www/html/MyMagentoSite/var/session/
Есть разные записи для разных файлов и папок.
Буду ли я в порядке, просто бежать chcon -R -t httpd_sys_rw_content_t /var/www/html/magentofoldername/*или что будет лучшим решением?
Это кажется противоречивым, поскольку я даю чтение и запись всем в папке magento.
2 ответа
Если вы используете chcon и после перезагрузки сервера у вас возникнет та же проблема, используйте semanage fcontext этим способом:
semanage fcontext -a -t httpd_var_lib_t "/var/www/html/magentofoldername/var/session(/.*)?"
Теперь вы можете применить разрешения selinux:
restorecon -R -v -F /var/www/html/magentofoldername/var/session
Почему бы не следовать своей интуиции и наносить ярлык только на session каталог (из вашего сообщения об ошибке).
Тем не менее, интуиция здесь не самый лучший помощник, но вы можете найти некоторые "ожидаемые" ярлыки, используя детективные навыки.
Каталог сеанса PHP по умолчанию /var/lib/php/session,
Если вы делаете semanage fcontext -l | grep php тогда вы можете увидеть эту запись:
/var/lib/php(/.*)? all files system_u:object_r:httpd_var_lib_t:s0
Таким образом, каталог сессий PHP должен быть помечен как httpd_var_lib_t,
Так:
chcon -R -t httpd_var_lib_t /var/www/html/magentofoldername/var/session