Acho que você tem o ln -s 'fonte' e o 'destino' no caminho errado
WRONG sudo ln -s /var/www /home/USER/code
DIREITA sudo ln -s /home/USER/code /var/www
você vai acabar com um link simbólico na sua pasta /home/USER/code apontando para var/www , o que está errado.
Por exemplo, eu tenho uma pasta para o site de Sally em /home/webs/sallybydesign/
cd /var/www
Não deve haver nenhuma pasta ou arquivo chamado sallybydesign em /var/www porque estamos prestes a criar um.
sudo ln -s /home/ndmaque/webs/sallybydesign /var/www/sallybydesign
para ver o novo arquivo (um link simbólico)
ls -l
você verá um arquivo chamado sallybydesign , é um link simbólico para a sua pasta home/webs/sallybydesign e se você executar
ls sallybydesign/
você verá os arquivos na sua pasta home/webs/sallybydesign .
Nesse caso, você pode apontar seu arquivo vhost em /var/www/sallybydesign e herdará automaticamente todas as permissões do apache /var/www e resolverá uma carga de problemas.