From owner-freebsd-questions@FreeBSD.ORG Wed Nov 3 10:47:04 2010 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 229911065695 for ; Wed, 3 Nov 2010 10:47:04 +0000 (UTC) (envelope-from frank@esperance-linux.co.uk) Received: from asmtp2.iomartmail.com (asmtp2.iomartmail.com [62.128.201.249]) by mx1.freebsd.org (Postfix) with ESMTP id A3B938FC22 for ; Wed, 3 Nov 2010 10:47:03 +0000 (UTC) Received: from asmtp2.iomartmail.com (localhost.localdomain [127.0.0.1]) by asmtp2.iomartmail.com (8.13.8/8.13.8) with ESMTP id oA3Al1IU010446; Wed, 3 Nov 2010 10:47:01 GMT Received: from orange.esperance-linux.co.uk (80-45-152-196.static.dsl.as9105.com [80.45.152.196]) (authenticated bits=0) by asmtp2.iomartmail.com (8.13.8/8.13.8) with ESMTP id oA3Al0h9010442; Wed, 3 Nov 2010 10:47:01 GMT Received: by orange.esperance-linux.co.uk (Postfix, from userid 1001) id 8BDA533C1F; Wed, 3 Nov 2010 10:47:00 +0000 (GMT) Date: Wed, 3 Nov 2010 10:47:00 +0000 From: Frank Shute To: Valentin Bud Message-ID: <20101103104700.GA16329@orange.esperance-linux.co.uk> References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.2.3i X-Face: *}~{PHnDTzvXPe'wl_-f%!@+r5; VLhb':*DsX%wEOPg\fDrXWQJf|2\,92"DdS%63t*BHDyQ|OWo@Gfjcd72eaN!4%NE{0]p)ihQ1MyFNtWL X-Operating-System: FreeBSD 8.1-RELEASE-p1 amd64 X-Organisation: 'shute.org.uk' Cc: freebsd-questions Subject: Re: rc startup script - daemon: failed to set user environment X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Frank Shute List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Nov 2010 10:47:04 -0000 On Wed, Nov 03, 2010 at 08:55:45AM +0200, Valentin Bud wrote: > > Hello community, > > I am trying to build a startup script for an application built from source > code. The application name is SOGo (sogo.nu). > > I will attach the rc script and the error I receive when I run it. > > #!/bin/sh > # > # > # PROVIDE: sogod > # REQUIRE: memcached > # > # Add the following lines to /etc/rc.conf to enable sogod: > # > # sogod_enable (bool): Set it to "YES" to enable sogod. > # Default is "NO" > # > # > > . /etc/rc.subr > > name="sogod" > rcvar=`set_rcvar` > > load_rc_config ${name} > > : ${sogod_enable="NO"} > : ${sogod_user="sogo"} > : ${sogod_workers="-WOWorkersCount 1"} > : ${sogod_command="/usr/local/GNUstep/Local/Tools/Admin/sogod"} > : ${sogod_logfile="/var/log/sogo/sogo.log"} > > pidfile="/var/run/sogo/sogo.pid" > command="/usr/sbin/daemon" > command_args="-f -p ${pidfile} -u ${sogod_user} ${sogod_command} > ${sogod_workers} -WOPidFile ${pidfile} -WOLogFile ${sogod_logfile}" > > start_precmd="${name}_prestart" > > sogod_prestart() { > if [ ! -d `dirname ${pidfile}` ]; then > mkdir `dirname ${pidfile}` >/dev/null 2>&1 && chown > ${sogod_user} `dirname ${pidfile}` > fi > if [ ! -d `dirname ${sogod_logfile}` ]; then > mkdir `dirname ${sogod_logfile}` >/dev/null 2>&1 > touch ${sogod_logfile} && chown ${sogod_user} > ${sogod_logfile} > fi > if [ -z ${GNUSTEP_SYSTEM_ROOT} ]; then > . /usr/local/GNUstep/System/Library/Makefiles/GNUstep.sh > fi > } > > run_rc_command "$1" > > The sogo daemon requires memcached running to start and the > file ${sogod_logfile} > to be readable by ${sogod_user}. I also requires the > directory /var/run/sogo/ to be read/write > by ${sogod_user} so it can write the PID file. The GNUstep.sh makefile must > be loaded > so it can run properly. > > The other command_args are the startup arguments sogod takes. > > memcached is already started: > sogo# sockstat | grep memcached > nobody memcached 71167 16 tcp4 172.31.32.6:11211 *:* > nobody memcached 71167 17 udp4 172.31.32.6:11211 *:* > > sogod is enabled is /etc/rc.conf > # /usr/local/etc/rc.d/sogod rcvar > # sogod > # > sogod_enable="YES" > # (default: "") > > This is the error I receive when I try to start sogod > sogo# /usr/local/etc/rc.d/sogod start > Starting sogod. > daemon: failed to set user environment > /usr/local/etc/rc.d/sogod: WARNING: failed to start sogod > > This is the first rc script I write. What can I do to debug the problem > further? > > Thank you and have a great day, > v > -- > network warrior Starting with the obvious, did you create a sogo userID with adduser(8)? You want to give it nologin as a shell. It will also want a group. Regards, -- Frank Contact info: http://www.shute.org.uk/misc/contact.html