Não é possível salvar arquivos em / var / www usando a lâmpada instalada com o tasksel

3

Acabei de instalar a lâmpada com o tasksel e funciona. Mas

  1. dentro de /var/www posso criar arquivos apenas com sudo do terminal, eu não sei porque. Em outra instalação do Ubuntu eu não tive esse problema.
  2. Eu criei um arquivo chamado index.php e nem consigo salvá-lo.

Esse é o erro que recebo do Sublime Text:

Unable to save /var/www/index.php
Error: unable to create tmp file in /var/www

E isso é do Geany:

Error opening file '/var/www/index.php': Permission denied
The file on disk may now be truncated!
    
por Nikos Grigoriadis 21.09.2013 / 20:31

1 resposta

7

Se você for o usuário que mantém o site, faça com que o seu usuário possa editar os arquivos.

cd /var/www && sudo chown -R 'whoami':'whoami' .

Se você fizer isso, poderá modificar os arquivos em / var / www, pois os arquivos pertencerão a você e ao seu grupo pessoal. O -R executa o comando recursivamente - ele é executado no arquivo atual (o diretório) e em todos os arquivos dentro e sob o diretório (inclui os arquivos ocultos)

Se você não tiver executado um comando sudo recentemente (alguns minutos), ele solicitará sua senha pessoal.

Também é possível configurar grupos e tudo isso. No entanto, esta é a maneira mais simples.

Certifique-se de que os arquivos sejam legíveis pelo servidor da web. Se isto é um problema, então - porque você possui os arquivos agora você pode usar o comando chmod:

cd /var/www && chmod -R o+r .

Se isso não tornar os diretórios executáveis, convém também fazer:

find /var/www -type d -print0 | xargs -0 chmod o+x

Isto irá (encontrar) coletar a lista de nomes de diretório e passá-los (como uma lista delimitada nula) para xargs, que irá executar o chmod para tornar os diretórios executáveis.

Conforme relatado em: O que é a maneira mais simples de editar e adicionar arquivos para "/ var / www"? , - Desmond Hume 12 de novembro de 12 às 14:42 sugeriu a @DonFaulkner

Por razões de segurança, é melhor manter o / var / www em posse de root: root, então, em vez de sudo chgrp -R www-data /var/www , é melhor que seja sudo chgrp -R www-data /var/www/*

    
por ElderDelp 21.09.2013 / 20:48