RedHat clever security system (where 'clever' is stupid)

So I’m getting my Rails app working on Apache on my virtual RedHat server, when something strange happens. The proxy to Mongrel works great and the app is running, but my static files aren’t coming down from the server – no images, CSS or javascript. These should be easy for Apache to serve up – what’s going on?

After looking in the Apache error log, I see that there’s a permission error for those files. No problem, set the flags with chmod and I’ll be onto the next thing.

No such luck.

With some quick Googling of the error, it seems that SELinux may be the issue.

After using the information I found in the documentation I set the new ownership for the static files using chcon and they can now be seen in my browser.

I can see the point of having a beefed-up security system available for an OS, but why on earth was this turned on by default?

Update: I could not get MySQL to start using /etc/init.d/mysql start until I disabled the SELinux system. No useful errors, the process would start and exit immediately.