Respostas:
Eu mesmo adicionaria o usuário ao www-data
grupo com ...
sudo adduser {username} www-data
Simples e eficaz. Não mexa com arquivos de configuração ou permissões.
Edite o seguinte arquivo como raiz: / etc / apache2 / envvars
usando o comando:
sudo nano /etc/apache2/envvars
altere o usuário e o grupo para si mesmo se houver apenas um usuário e você nunca mais terá problemas com permissões.
IE, se você estiver apenas efetuando login e executando o servidor como usuário 'big_dog':
export APACHE_RUN_USER=big_dog
export APACHE_RUN_GROUP=big_dog
Caramba, para esse assunto, você pode mudar esse usuário para o usuário atual, tenho certeza de alguma forma. Em seguida, instale user_dir, todos os quais você possui webs, dos quais você pode ter controle total (a menos que modifique isso).
Reinicie o servidor (se não tiver certeza, basta reiniciar ou goole) e você estará pronto.
sudo chown big_dog.big_dog /var/lock/apache2
sudo chown big_dog.big_dog -R /var/log/apache2
/etc/apache2/uid.conf
export APACHE_RUN_USER=#$(id -u)
dar o ID do usuário e usar similarmente o id -g
grupo no script e, no final, chamei o apache para executar.
por que você faria isso? Eu estava lutando com esses problemas de perm no passado, mas este é o meu processo de desenvolvimento a partir de hoje:
sudo apt-get install lamp-server^
proc padrão para acender a lâmpadafaça um link sym para o meu diretório home, onde os projetos são assim:
ln -s /home/user/html /var/www/html
faça o link sym para o arquivo de configuração de hosts
ln -s /home/user/html/Apache-VirtualHosts.conf /etc/apache/sites-enabled/000-default
é isso aí :)
Funciona como aspecto, sem problemas com permissões de usuário ou algo semelhante com o servidor apache, para o mysql eu tenho um processo pouco mais longo ..
felicidades
Evitando o problema "você deve fazer isso", você pode encontrar onde o usuário do apache está definido executando:
grep www- /etc/apache2/apache2.conf
É então o caso de editar essas instâncias /etc/apache2/apache2.conf
e recarregar o Apache ( sudo /etc/init.d/apache2 reload
).
apache2.conf
não contém www-
para mim
grep -HR "www-" /etc/apache2/
. Se você já sabe que está no apache2.conf, edite esse arquivo. No meu caso, não estava lá, mas em / etc / apache2 / envvars, como aponta a resposta de Eric.
apache.conf
procura ${APACHE_RUN_USER}
e ${APACHE_RUN_GROUP}
. Não www-data
diretamente.
crie um novo grupo de usuários webdev
e adicione o www-data
usuário a ele.
sudo addgroup webdev
sudo adduser www-data webdev
Em seguida, adicione seu usuário a esse grupo e faça dele o grupo padrão para o seu usuário.
sudo adduser {your-user} webdev
sudo addgroup webdev
A última coisa a fazer é garantir que o grupo webdev tenha direitos rwx nos arquivos
sudo chmod 775 -R /path/to/project
Agora, a única coisa que pode ocorrer é que, por exemplo, www-data cria um novo arquivo de log e você não pode executá-lo novamente.
www-data
grupo, principalmente porque estamos falando de um ambiente de desenvolvimento?