Apache: access denied because search permissions are missing

Solution 1:

Do a chmod +x on your user dir, and restart apache. 755 permissions should work. I've had problems with 644.

Solution 2:

If in the case of selinux being the issue, rather than just disable it, this page and this page give the command to grant access:

chcon -R -t httpd_sys_content_t ~/public_html/