A execução de audit2allow < /var/log/audit/audit.log
confirmou que o httpd estava sendo bloqueado pelo SELinux (consulte este link . A solução foi criar e aplicar um módulo de política usando as seguintes etapas:
- Como root, execute o comando
audit2allow -a -M my_httpd
(substitua 'my_httpd' pelo nome que preferir).
- Novamente como root, execute o comando
semodule -i my_httpd.pp
para instalar o módulo.
Depois de seguir estes passos, o Apache conseguiu executar scripts PHP no meu servidor sem dificuldade. O reinício do servidor não destrói as alterações.
Conteúdo do arquivo do módulo (my_httpd.te):
module my_httpd 1.0;
require {
type admin_home_t;
type httpd_t;
class file { read getattr open };
}
#============= httpd_t ==============
allow httpd_t admin_home_t:file { read getattr open };