Eu sou novo na administração do sistema. Depois de instalar o nginxvia fantocheno Ubuntu recebo a seguinte saída:
[alert] could not open error log file: open() "/var/log/nginx/error.log" failed (13: Permission denied)
[warn] 1898#0: the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /etc/nginx/nginx.conf:1
[emerg] 1898#0: open() "/var/log/nginx/access.log" failed (13: Permission denied)
Como faço para me livrar de todas essas mensagens?
Não quero usar a linha de comando diretamente (chown/chmod) e repeti-la toda vez que criar um novo servidor. Portanto, estou pensando no que deve ser adicionado ao manifesto fantoche.
Qual é a melhor prática de administração de sistemas neste caso: alterar o proprietário/permissões para/var/log/nginx ou armazenar logs em locais diferentes? Se chown/chmod for o caminho a seguir, quais permissões específicas garantiriam o mais alto nível de segurança?
Eu tentei isso, mas não ajudou:
file { '/var/log/nginx':
ensure => directory,
mode => '0755',
owner => 'www-data',
group => 'www-data',
recurse => true
}
Editado:
vagrant@precise64:~$ ps aux | grep [n]ginx
root 1001 0.0 0.1 62908 1388 ? Ss 08:47 0:00 nginx: master process /usr/sbin/nginx
www-data 1002 0.0 0.1 63260 1696 ? S 08:47 0:00 nginx: worker process
www-data 1003 0.0 0.1 63260 1696 ? S 08:47 0:00 nginx: worker process
www-data 1004 0.0 0.1 63260 1696 ? S 08:47 0:00 nginx: worker process
www-data 1005 0.0 0.1 63260 1696 ? S 08:47 0:00 nginx: worker process
vagrant@precise64:~$ sudo chown -R www-data:www-data /var/log/nginx;
vagrant@precise64:~$ sudo chmod -R 755 /var/log/nginx;
vagrant@precise64:~$ ls -l /var/log/nginx/
-rwxr-xr-x 1 www-data www-data 214 Sep 10 11:07 error.log
Responder1
essepoderia ajudá-lo.
As mensagens que você está recebendo se devem ao fato de você ter iniciado o nginx como usuário não root ou sem usarsudo.
Para se livrar do erro do diretório de log, você deve verificar qual usuário o nginx está executando e conceder as permissões apropriadas para essa pasta (sua regra de fantoche talvez tenha dado direitos para a pasta errada)
A mensagem de aviso que você relatou é acionada pelo fato de que (como afirma o aviso) a diretiva "usuário" deve ser usada SOMENTE quando o processo mestre nginx estiver sendo executado como root.
Responder2
Eu sei que já faz um tempo, mas isso geralmente tem a ver com o SELinux. Tente configurá-lo como permissivo e provavelmente funcionará bem.