Hi, This is my script to work on SUSE Linux enterprise Server 10.
The line, export USER="", was added to facilitate the server starting automatically when booting as the CalendarServer/run script looks for the user variable that is not set until you login to the machine. This script was added to the /etc/init.d/ folder and using chkconfig command to auto start. Regards Damion #! /bin/sh # # # /etc/init.d/caldav # ### BEGIN INIT INFO # Provides: caldav # Required-Start: $network $syslog # Required-Stop: $network $syslog # Default-Start: 3 5 # Default-Stop: 0 1 2 4 6 # Description: Calendar server Demon ### END INIT INFO PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DESC="Apple Calendar Server" NAME=caldav DAEMON=/srv/caldav/CalendarServer/run PIDFILE=/srv/caldav/CalendarServer/logs/caldavd.pid SCRIPTNAME=/etc/init.d/$NAME CALUSER=root CALOPTIONS=-d SERVICE="python /srv/caldav/Twisted/bin/twistd" test -s /etc/rc.status && \ . /etc/rc.status # First reset status of this service rc_reset case "$1" in start) echo -e "Starting $DESC" export USER="" startproc -u root -p $PIDFILE $DAEMON $CALOPTIONS export USER= rc_status -v ;; stop) echo -n "Stopping $DESC" killproc -TERM -p $PIDFILE $SERVICE rc_status -v ;; restart) $0 stop $0 start rc_status ;; Esac > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of > David Szego > Sent: 07 November 2007 00:50 > To: Jindan Zhou > Cc: calendarserver-users@lists.macosforge.org > Subject: Re: [CalendarServer-users] How to install as system service? > > On 6-Nov-07, at 5:06 PM, Jindan Zhou wrote: > > > Yeah, it would be nice if some one could donate their linux shell > > script, so > > that it can be installed as a linux service, too. > > Here's mine. This needs work... It starts, but doesn't yet stop (PIDs > not seen right I guess, haven't looked much at it yet.) > > I've installed: > - the conf files and account.xml in /etc/caldavd > - the actual software in /opt/calendarserver/ which includes: > /opt/calendarserver/CalDAVTester, /opt/calendarserver/ > CalendarServer, /opt/calendarserver/Twisted, and so on, > - the data (calendars themselves) in /var/cache/calendarserver > > At the moment it's running as root, (CALUSER=root) so I don't have to > worry about any permission issues. The init.d script is taken from > some random script in my init.d directory, running Ubuntu. > > If I happened to be set up for svn, I'd post it to the official code, > but I leave it for someone else to do, as I'm really just a good > amateur hack! =-) > > Cheers, > David Szego. > > ----------- > /etc/init.d/calendarserver > ----------- > > #!/bin/sh > # Apple CalendarServer startup script, taken from an Ubuntu script. > > set -e > > PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin > DESC="Apple Calendar Server" > NAME=calendarserver > DAEMON=/opt/calendarserver/CalendarServer/run > PIDFILE=/var/run/$NAME.pid > SCRIPTNAME=/etc/init.d/$NAME > CACHEDIR=/var/cache/$NAME > CALUSER=root > CALOPTIONS=-d > > # > # Function that starts the daemon/service. > # > d_start() { > start-stop-daemon --start --quiet \ > --chuid $CALUSER \ > --pidfile $PIDFILE \ > --exec $DAEMON \ > --background \ > --make-pidfile \ > -- \ > $CALOPTIONS > } > > d_start_direct() { > start-stop-daemon --start --quiet \ > --chuid $CALUSER \ > --pidfile $PIDFILE \ > --exec $DAEMON \ > -- \ > $CALOPTIONS > } > > # Function that stops the daemon/service. > # > d_stop() { > start-stop-daemon --stop --pidfile $PIDFILE --name $NAME > } > > # > # Function that sends a SIGHUP to the daemon/service. > # > d_reload() { > start-stop-daemon --stop --quiet --pidfile $PIDFILE \ > --name $NAME --signal 1 > } > > case "$1" in > start) > echo -n "Starting $DESC" > d_start > echo "." > ;; > stop) > echo -n "Stopping $DESC" > d_stop > echo "." > ;; > restart|force-reload) > # > # If the "reload" option is implemented, move the > "force-reload" > # option to the "reload" entry above. If not, "force- > reload" is > # just the same as "restart". > # > echo -n "Restarting $NAME" > d_stop > sleep 1 > d_start > echo "." > ;; > *) > # echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force- > reload}" >&2 > echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" > >&2 > exit 1 > ;; > esac > > exit 0 > > ----------------- > > _______________________________________________ > calendarserver-users mailing list > calendarserver-users@lists.macosforge.org > http://lists.macosforge.org/mailman/listinfo/calendarserver-users _______________________________________________ calendarserver-users mailing list calendarserver-users@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo/calendarserver-users