One answer chcon
for your name server.
the problem is that although named starts off as root it is still denied when it tryes to write the pid file. this is because it does not, by default, have the correct setup for the directory (this problem is that same with apache and other system run processes)
## I have the chmod high because i was stumped by the permisson denied, this will change
drwxrwxr-x named named system_u:object_r:named_var_run_t named
However, the important part is system_u (the user) and named_var_run_t (the type) if this is not what you see the following should fix this.
chcon -u system_u -t named_var_run_t /var/run/named/
next restart bind with user named
To make sure all went well its always good to check /var/log/messages incase something went wrong with start up or zonefiles.
for apache (2) -
basically the same thing only difference is the -t (type)
//this must be set for all directory's you wish to have apache webserver access
chcon -Rt httpd_sys_content_t /your/DocumentRoot/
just to check and make sure everything works ok
drwxr-xr-x your_user its_group system_u:object_r:httpd_sys_content_t YOUR-DOCUMENT-ROOT
Note that if the user is not system_u then you should change it , and all sub-direcotrys with
chcon -Ru system_u /your/DocumentRoot
hope this helps!!
edited to disable smiles