Apache runs as user nobody who is member of group nobody. Apache needs to be able to traverse all directories, so every directory needs execute permissions for 'others'.
In the final directory, it needs write permissions as well.
My document root is /server/www/htdocs/btd/web. The following shows the permissions as I've set them up.
Code:
drwxr-xr-x 4 root root 72 2006-04-19 15:58 server/
drwxr-xr-x 5 root root 120 2001-02-26 03:59 www/
drwxrwxrwx 4 root root 1424 2006-05-22 07:42 htdocs/
drwxr-xr-x 4 wim develop 96 2006-03-09 04:18 btd/
drwxr-xr-x 3 wim develop 192 2006-05-23 16:14 web/
drwxr-xr-x 3 wim develop 760 2006-05-22 09:38 btd_docs/
drwxrwxr-- 3 librarian nobody 152 2006-05-15 13:07 documents/
There are two 'sub-sites' under it, one being btd_docs. This one contains a directory documents where apache places uploaded files.