Meu entendimento de como o www-data se encaixa é que nenhum dos arquivos ou diretórios são de propriedade desse usuário. É o usuário que o Apache executa, e o ponto principal é que o usuário www tem privilégios reduzidos e não possui os arquivos ou tem permissões para alterá-los.
O proprietário atual deve ser você ou root, acredito, então www-data terá privilégios de somente leitura, não rwx.
Você criou um link em /var
to /home/richardmandx/Dropbox/www
? Eu não entendo porque você faria isso. O que eu faço para o meu servidor de teste pessoal é simplesmente criar o servidor virtual em ~/www
, editando /etc/apache2/sites-enabled/000-default
e alterar /var/www
para /home/me/www
, ou adicionar mais servidores virtuais em quaisquer diretórios que eu queira usar.
Edições:
Se este é um servidor doméstico sem acesso externo geral, eu acho que é mais fácil para o desenvolvimento mudar o servidor local de /var/www
(de propriedade do root) para o seu diretório home / www, ou algo similar. Você provavelmente poderia mudar o proprietário de /var/www
da raiz para si mesmo, dando r - permissões para grupo / outros. Esta é a permissão normal quando o root é proprietário.
Tornar-se o proprietário facilita muito a edição de arquivos, já que você não precisará copiar nem usar o sudo. Outra opção é montar /var/www
em um diretório que você possui, mas pode ser necessário fornecer opções extras para as permissões. Isso é provavelmente mais fácil do que parece.
Se você tiver acesso externo, provavelmente seria melhor deixar as coisas como normalmente são configuradas. Eu tenho um servidor padrão limpo em um teste 12.04 VM, configurado usando a instalação padrão, que funciona bem. /var/www
é de propriedade do root, com permissões 'drwxr-xr-x for the directory, and
-rw-r --- r--' para os arquivos. Não há nenhum dado de www mostrado em qualquer lugar, como deveria ser, se minha compreensão está correta. Você não quer que pessoas de fora tenham muitas permissões, por isso o www-data é um usuário limitado para o Apache que atende a esse requisito. Tem menos autoridade que você.
Se você quiser usar seu diretório inicial, a maneira mais simples e mais limpa é editar /etc/apache2/sites-enabled/000-default
e alterar todas as ocorrências (ou pelo menos as mais internas) de /var/www
para qualquer diretório escolhido e, em seguida, reiniciar o Apache . Você pode adicionar qualquer número de sites virtuais à parte interna da configuração, semelhante a este, com qualquer nome desejado e um diretório correspondente. Eu crio sites com um nome como "mysite.dev", e em qualquer máquina que acessa, eu faço uma entrada em /etc/hosts
com algo como 192.168.1.111 mysite.dev
. O Apache pegará esse nome, procurará o diretório do site virtual e o abrirá.