SELinux will block Apache processes from reading data labeled as user's home content (user_home_t) or database data (mysql_db_t).
Aprendi também que a diferença reside no rótulo atribuído aos arquivos pelo SELinux. Você pode verificá-las por ls -Z
. No meu caso:
-r--r--r--. root root unconfined_u:object_r:home_root_t:s0 custom.conf
-r--r--r--. root root unconfined_u:object_r:httpd_config_t:s0 custom_ok.conf
Com o segundo arquivo, o Apache é reiniciado. Com o primeiro falha. Na verdade, quando eu movo o custon_ok.conf para casa, nada muda. Mas quando eu faço cp ou cp -p para casa, o novo arquivo tem os rótulos
unconfined_u:object_r:home_root_t:s0
para que o Apache não possa lê-lo quando for movido de volta para o /etc/httpd/conf.d