Вы здесь

Как подружить SELinux, phpBB и Drupal

До недавнего времени модно было отключать SELinux, но на самом деле для простых задач всё не так страшно.

phpBB
Для phpBB нужно иметь возможность писать в некоторые каталоги, поэтому при настройке targeted просто позволяем апачу туда писать:


semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/forum.example.com/public_html/images(/.*)?"
semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/forum.example.com/public_html/files(/.*)?"
semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/forum.example.com/public_html/store(/.*)?"
semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/forum.example.com/public_html/cache(/.*)?"
restorecon -R /var/www/forum.example.com/public_html/
/var/www/forum.example.com/public_html/
chown -R apache:apache cache
chown -R apache:apache store
chown -R apache:apache files
chown -R apache:apache images

Важно: для semanage нужно указывать полные пути к файлам.

Drupal 7
Для друпала важно писать в sites/default/files
Делается аналогично.

semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/example.com/public_html/sites/default(/.*)?"
restorecon -R /var/www/example.com/public_html/sites/default/

Прочее
При проксировании апача через nginx апач вешается на нестандартный порт, разрешается это в SELinux просто:
semanage port -m -t http_port_t -p tcp PORT_NUMBER_HERE

Если перевешиваем SSH на нестандартный порт, то тоже всё просто.
semanage port -a -t ssh_port_t -p tcp PORT_NUMBER_HERE