Eu tenho uma configuração semelhante em minha máquina (raiz do apache na pasta inicial). A pasta usada como raiz do apache ( ~/Software/apache_htdocs ) pertence ao meu usuário e tem 755 permissões (mas o 777 também deve funcionar). O Apache é executado com www-data user, por padrão.
A única diferença parece estar em sites-available :
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /home/myusername/Software/apache_htdocs
<Directory />
Options FollowSymLinks
AllowOverride None
allow from all
</Directory>
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
(... content omitted ...)
</VirtualHost>
Tente excluir a segunda diretiva Directory e adicione allow from all na primeira. Por segurança, antes de modificá-lo faça um backup do arquivo. Depois disso, reinicie o Apache usando sudo service apache2 restart .
Espero que ajude