A permissão negada é invariavelmente um problema no nível do sistema operacional. Primeiro, verifique se o usuário que você acha que o processo está executando é realmente o usuário relevante. Você parece ter feito isso, mas também verifica se não está executando algo como suexec, mpm_itk ou mod_ruid, o que pode alterar as solicitações individuais do UID executadas como.
Em seguida, verifique se o caminho para o qual você está tentando gravar é atravessado pelo usuário (neste caso, www-data). O comando namei
pode ajudar aqui:
namei -mo /var/www/html/pluto-php/public/
Em seguida, verifique se algum software de segurança no nível do SO, como o SELinux ou o Apparmor, está em execução e, se estiver, determine se ele está interferindo no processo que está sendo gravado nesse diretório.
Finalmente, uma permissão de diretório do 0777 nunca é necessária. 1777 possivelmente, mas se você precisar das permissões configuradas para 0777 para que funcione, algo está errado.