Eu acho que para uma máquina de desenvolvimento, é mais conveniente executar o Apache como o usuário atual para simplificar o problema de permissões? Como faço isso? Eu acho que é suexec, mas como faço para configurá-lo no Ubuntu + Apache?
permissions
apache2
Jiew Meng
fonte
fonte
Edite o seguinte arquivo como raiz: / etc / apache2 / envvars
usando o comando:
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':
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.
fonte
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 oid -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
fonte
Evitando o problema "você deve fazer isso", você pode encontrar onde o usuário do apache está definido executando:
É então o caso de editar essas instâncias
/etc/apache2/apache2.conf
e recarregar o Apache (sudo /etc/init.d/apache2 reload
).fonte
apache2.conf
não contémwww-
para mimgrep -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ãowww-data
diretamente.crie um novo grupo de usuários
webdev
e adicione owww-data
usuário a ele.Em seguida, adicione seu usuário a esse grupo e faça dele o grupo padrão para o seu usuário.
A última coisa a fazer é garantir que o grupo webdev tenha direitos rwx nos arquivos
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.
fonte
www-data
grupo, principalmente porque estamos falando de um ambiente de desenvolvimento?