Permissões para um host virtual apache2

1

Estou usando o Ubuntu 12.04LTS e criei um host virtual apache no meu sistema de arquivos local para um site que estou desenvolvendo. No entanto, quando o apache tenta acessar o site, não é possível porque as propriedades estão todas no meu próprio nome de usuário e não no www-data. Então eu mudei todas as posses:

$ chown -R www-data:www-data domain-root-name

O Apache agora está feliz, mas não estou, porque não posso mais fazer nada com os arquivos - o que preciso fazer para fins de desenvolvimento.

Eu tentei fazer o inverso (adicionando www-data ao meu próprio grupo), mas isso significava que o apache não podia mais acessar o site.

Há muitas coisas sobre isso em todo o lugar, mas nada funciona para mim. Principalmente a sugestão é se adicionar ao grupo de dados www. Isso não é suficiente, no entanto, como ainda não posso editar os arquivos do site.

A outra sugestão é definir todas as permissões para o 777, o que faz com que muitos participantes levantem suas mãos com horror, mesmo que isso (obviamente) funcione.

Existe alguém com quem resolveu este problema para que um desenvolvedor possa se desenvolver com segurança em uma instalação local do apache?

    
por Peter 26.11.2013 / 14:34

2 respostas

2

Pessoalmente, defino-me como o proprietário com www-data como o grupo:

sudo chown -R konapun:www-data domain-root-name

e, em seguida, defina as permissões para 754 (konapun: rwx, www-data: rx, outro: r):

sudo chmod -R 754 domain-root-name

Se o Apache tiver que criar algum arquivo (arquivos temporários, ou talvez um mecanismo de templates que compile templates), eu configurei esses diretórios individuais para 774.

    
por konapun 26.11.2013 / 16:06
1

Acho que encontrei uma resposta:

link

O Vagrant é open source sob uma licença muito permissiva (MIT).

Eu não tentei todas as situações possíveis (por exemplo, atualizando automaticamente ou adicionando um plug-in a um site WordPress de desenvolvimento), mas a pequena quantidade de testes que fiz parece indicar que posso deixar as permissões do apache valores padrão na máquina virtual vagrant e trabalho em uma pasta Vagrant no host (minha caixa de desenvolvimento) sem nenhum problema de acesso. As permissões em qualquer instalação do apache no host são irrelevantes para isso e não são afetadas por nada que você faça.

Você precisa usar uma porta não padrão para o site que está desenvolvendo, como 8080. Se você estiver usando o mapeamento de porta (apenas uma única linha extra no arquivo de configuração da máquina virtual do vagrant), isso envia solicitações porta para a porta da VM 80, supondo que é o que você especificou no arquivo de configuração. E você precisaria criar uma nova VM para cada projeto, mas isso dificilmente é o fim do mundo.

Desde o pouco tempo que passei usando vagrant (apenas um dia ou mais), parece ser uma solução muito elegante e fácil de usar para este e outros problemas.

Se alguém tiver outros prós e contras, estarei interessado em ouvi-los.

    
por Peter 28.11.2013 / 11:32