Как разрешить apache (httpd) обращаться к домашним каталогам пользователей
apache
httpd
chroot
SElinux
setsebool
При переносе сайта на другую папку в ОС Centos, столкнулся с тем, что SELinux не дает работать сайту ни в какой другой папке, кроме /var/www/html
Это меня не устраивало, т.к. я хотел настроить chroot для ограниченного доступа по SFTP одного из мои коллег.
В свою очередь chroot ни в какую не хотел работать с папкой /var/www/html.
В то-же время, он отлично работал в домашними каталогами.
Чтобы исправить эту ситуацию необходимо задать следующую команду:
setsebool -P httpd_enable_homedirs 1
Эта команда разрешит web-серверу обращаться к домашним директориям. Далее, надо пометить данную папку как объект разрешенный апачу:
chcon -R -t httpd_sys_content_t /home/www/sitename
Чтобы заработал sftp chroot надо дать команду:
echo 0 > /selinux/enforce