The permissions part should just work out of the box without fiddling.
There's no need to set the files to nobody so Apache can access them as Apache doesn't need the files to be owned by nobody for them to be accessible.
That's why the files are 644 or rw-r--r-- - that is, they're readable to everyone including Apache. |ccess control is enforced via the permissions on the public_html directory.
If you have a PHP script creating files, it will do so under the user's uid and gid and you should ensure that files and directories created have the world read bit set (ie mode 755 for directories and mode 644 for files). You'll only need to worry about this if these files are .html or .htm and are directly accessed by apache, which is unusual.