Estou com problemas para iniciar um aplicativo python fastcgi lighttpd via upstart. Posso iniciar o aplicativo com sucesso usando sudo lighttpd -D -f /path/to/lighttpd.conf
e via su -c "lighttpd -f /path/to/lighttpd.conf
.
No upstart, estou usando o seguinte script:
start on filesystem and started networking
stop on runlevel [06]
respawn
exec lighttpd -f /path/to/lighttpd/lighttpd.conf -D
que resulta nos seguintes erros em /var/log/lighttpd/error.log:
2011-11-28 15:35:25: (mod_fastcgi.c.978) bind failed for: unix:/var/lib/lighttpd/sockets/fastcgi.python.socket-0 Permission denied
2011-11-28 15:35:25: (mod_fastcgi.c.1399) [ERROR]: spawning fcgi failed.
2011-11-28 15:35:25: (server.c.938) Configuration of plugins failed. Going down.
ls -l /var/lib/lighttpd/sockets/
mostra
drwxr-xr-x. 2 lighttpd lighttpd 4096 Nov 28 15:19 .
drwxr-xr-x. 3 lighttpd lighttpd 4096 Nov 28 15:19 ..
e o lighttpd está configurado para usar o usuário e o grupo lighttpd (do meu lighttpd.conf):
server.username = "lighttpd"
server.groupname = "lighttpd"
Eu tentei adicionar strace na estrofe inicial, mas isso não produz nada obviamente errado. Que outras etapas posso fazer para depurar? O que mais poderia estar causando esse problema? Isso é no CentOS 6.
Estou começando a suspeitar que isso esteja relacionado ao selinux. Eu encontrei isso no audit.log:
type=AVC msg=audit(1322516700.993:6418): avc: denied { write } for pid=7920 comm="lighttpd" name="sockets" dev=vda3 ino=146700 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:lib_t:s0 tclass=dir
type=SYSCALL msg=audit(1322516701.053:6419): arch=c000003e syscall=42 success=no exit=-13 a0=5 a1=7fff848dfef0 a2=39 a3=2f7374656b636f73 items=0 ppid=1 pid=7922 auid=4294967295 uid=496 gid=490 euid=496 suid=496 fsuid=496 egid=490 sgid=490 fsgid=490 tty=(none) ses=4294967295 comm="lighttpd" exe="/usr/sbin/lighttpd" subj=system_u:system_r:httpd_t:s0 key=(null)
type=AVC msg=audit(1322516701.053:6419): avc: denied { write } for pid=7922 comm="lighttpd" name="fastcgi.python.socket-0" dev=vda3 ino=146472 scontext=system_u:system_r:httpd_t:s0 tcontext=unconfined_u:object_r:lib_t:s0 tclass=sock_file
Obrigado!