Для тех, кто ещё не догадался - Апачу (и PHP, если он стоит как CGI модуль) необходимы права на, как минимум, проход по всему пути до отдаваемого файла.
sudo chmod o+X /home
sudo chmod o+X /home/$USER
P.S.
Только что сам на это нарвался на собственном сервере.
/home какими-то неведомыми путями получил
# ls -lA / | grep home
drwxr-x--- 6 root root 4096 2011-02-23 04:27 home
В результате,
anrdaemon@daemon1:~
$ touch .goroot
(Типа всё ок)
anrdaemon@daemon1:~
$ touch ~/.goroot
touch: cannot touch `/home/anrdaemon/.goroot': Permission denied
Indeed,
sudo chmod o+X /home
решило проблему.
Почему не o+rX ? Ну не люблю я светить списком пользователей, лишнее это.