Apache, é um programa em execução em segundo plano. O Apache é originalmente iniciado pelo usuário root
(também chamado root-process
). Isso root-process
inicia vários processos filhos que lidam com as solicitações do cliente. Por motivos de segurança, os processos filhos não são executados pelo usuário, root
mas como um usuário com privilégios mínimos. Normalmente, esse usuário é nomeado apache
ou www-data
.
Para descobrir qual usuário é para o apache v1:
ps -ef | grep httpd | grep -v grep
ou para o apache v2:
ps -ef | grep apache | grep -v grep
O resultado do apache 2 será mais ou menos assim:
raiz 5001 1 0 07:21? 00:00:00 / usr / sbin / apache2 -k start
www-data 5021 5001 0 07:21? 00:00:00 / usr / sbin / apache2 -k start
www-data 5022 5001 0 07:21? 00:00:00 / usr / sbin / apache2 -k start
www-data 5023 5001 0 07:21? 00:00:00 / usr / sbin / apache2 -k start
Nesse caso, o usuário / grupo é www-data
Portanto, para tornar um diretório gravável pelo servidor da web, precisamos definir o proprietário ou o grupo do diretório como proprietário ou grupo do Apache e ativar a permissão de gravação. Normalmente, configuramos o diretório para pertencer ao grupo Apache ( apache
ou `www-data ou qualquer usuário que seja usado para iniciar os processos filhos) e ativamos a permissão de gravação para o grupo.
chgrp www-data /path/to/mydir
chmod g+w /path/to/mydir
( www-data
é o nome que você encontrou com o ps
comando acima).
A respeito de:
2) Também fui instruído a tornar o diretório app / runtime gravável na web. É o mesmo que o apache gravável?
Sim, este é um diretório que você precisa definir como gravável para o grupo que o Apache espera. Provavelmente, isso estará em algum lugar /var/www/
ou será definido como host virtual /etc/apache2/sites-enabled/
e / ou/etc/apache2/sites-available
mkdir dirname && chgrp www-data dirname
R
fará todos os diretórios de onde você emite o comando. Há uma série de maneiras de fazer isso;)ps -ef | grep [a]pache
é um idioma comum para evitar agrep
linha falsa na saída.