Soy nuevo en la administración de sistemas. Después de instalar nginxa través de marionetaen Ubuntu obtengo el siguiente resultado:
[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)
¿Cómo me deshago de todos estos mensajes?
No quiero usar la línea de comando directamente (chown/chmod) y repetirla cada vez que creo un nuevo servidor. Por lo tanto, estoy pensando en lo que se debe agregar al manifiesto de títeres.
¿Cuál es la mejor práctica de administrador de sistemas en este caso: cambiar el propietario/permisos de /var/log/nginx o almacenar registros en una ubicación diferente? Si chown/chmod es el camino a seguir, ¿qué permisos específicos garantizarían el más alto nivel de seguridad?
Intenté esto, pero no ayudó:
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
Respuesta1
estepodría ayudarte.
Los mensajes que estás recibiendo se deben a que iniciaste nginx como usuario no root o sin usarsudo.
Para deshacerse del error del directorio de registro, debe verificar con qué usuario se está ejecutando nginx y otorgar los permisos apropiados a esa carpeta (su regla de marionetas tal vez le otorgó derechos a la carpeta incorrecta)
El mensaje de advertencia que informó se activa por el hecho de que (como indica la advertencia) la directiva "usuario" debe usarse SÓLO cuando su proceso maestro nginx se ejecuta como root.
Respuesta2
Sé que ha pasado un tiempo, pero esto normalmente tiene que ver con SELinux. Intente configurarlo como permisivo y probablemente funcionará bien.