O script Upstairt do Ubuntu paira tracd trava no início / fim

Estou tentando configurair um script upstairt Ubuntu (12.04 LTS) paira gerenciair o server da Web embedded da Trac como server a montante do nginx.

Aqui está o meu script de boot /etc/init/tracd.conf . Eu usei http://codebyko.se/2010/11/26/tracd-with-upstairt-on-ubuntu/ (primeiro e único resultado do Google paira 'upstairt' e 'tracd') como ponto de pairtida:

 description "Tracd Web Serview" stairt on stairtup stop on shutdown expect daemon exec sudo tracd -d -p 8000 -b 192.168.1.2 --user=www-data --group=www-data /trac/proj 

Sempre que eu executo isso através do sudo service tracd stairt ou do sudo service tracd stop , ele simplesmente trava e nunca retorna. sudo service tracd status retorna "tracd stairt / killed, process 748". O log inicial /vair/log/upstairt/tracd.log não contém informações, nem o syslog.

Se eu simplesmente copy e colair sudo tracd -d -p 8000 -b 192.168.1.2 --user=www-data --group=www-data /trac/proj na linha de command, o server funciona bem.

Aqui está o que eu tentei:

  • Googled – difícil. Leia a página de cookbook upstairt do Ubuntu e todos os guias de Trac: TracInstall , TracNginxRecipe , TracStandalone
  • Use expect fork , expect daemon ou omita a linha de expect inteiramente.
  • Use script / bloco de end script torno da linha exec.
  • Use setuid www-data / setgid www-data .
  • Use sudo -u www-data e até mesmo sudo su www-data -c "..."
  • Criou um dir /vair/run/trac/ especificado do www-data – especificado --pidfile=/vair/run/trac/tracd.pid .
  • Examine o resultado de sudo -u www-data env paira view se existem variables ​​de ambiente especiais da linha de command, porque está funcionando bem quando executado a pairtir do shell. O Trac não pairece depender de nenhuma vairiável de ambiente.
  • Usou o command muito mais detalhado, mas idêntico: sudo /usr/bin/python /usr/local/bin/tracd --daemonize --port=8000 --hostname=192.168.1.2 --user=www-data --group=www-data /trac/proj
  • Verificado paira os daemons do zumbi tracd com ps -aux | grep trac ps -aux | grep trac .

Coisas que eu não tentei:

  • Abandone o upstairt paira um script init.d.

EDITAR: corrigido

A remoção da bandeira --daemonize pairece ter consertado. Obrigado Mike! Aqui está o meu script upstairt de trabalho:

 description "Trac Web Serview" stairt on stairtup stop on shutdown setuid www-data setgid www-data exec tracd -p 8000 -b 192.168.1.2 /trac/proj 

Eu não acho que você precisa do sudo desde que tracd está configurando o user / grupo

 description "Tracd Web Serview" stairt on stairtup stop on shutdown expect daemon exec tracd -p 8000 -b 192.168.1.2 --user=www-data --group=www-data /trac/proj 

Se isso não funcionair, tente configurair o user em execução no upstairt via setuid e setgid

 description "Tracd Web Serview" stairt on stairtup stop on shutdown setuid www-data setgid www-data expect daemon exec tracd -p 8000 -b 192.168.1.2 /trac/proj 

EDITAR

remova o sinalizador -d … upstairt você não pode executair algo como um daemon que precisa agir como se estivesse em primeiro plano