Linux operation is controlled by its runlevels. There are 6 different levels defined in /etc/inittab file:
# 0 – halt (Do NOT set initdefault to this)
# 1 – Single user mode
# 2 – Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 – Full multiuser mode
# 4 – unused
# 5 – X11
# 6 – reboot (Do NOT set initdefault to this)
id:3:initdefault:
The above line determines the default runlevel. Each runlevel has its own directory in /etc/rc.d/
Level 3 is /etc/rc.d/rc3.d/
To add an auto-start service, we have to create a start/stop/restart script in /etc/rc.d/init.d/ and then link to it from different runlevel directories. In my case, I linked the lighttpd script from rc3.d, rc0.d and rc6.d. I don’t care about runlevel 1, 2, 4 and 5, as they’ll never be used on a production web server.
Below is the lighttpd script which should be located in /etc/rc.d/init.d:
#!/bin/sh
#
# Startup script for the Lighttpd Web Server
#
# chkconfig: – 85 15
# description: Lighttpd is a World Wide Web server. It is used to serve \
# HTML files and CGI.
# processname: lighttpd
# pidfile: /var/run/lighttpd.pid
# config: /usr/local/sbin/lighttpd.conf
#LIGHTTPD_CONF=/usr/local/sbin/lighttpd.conf
LIGHTTPD_CONF=/www/conf/lighttpd.conf
PIDFILE=/www/run/lighttpd.pid
case “$1″ in
start)
# Starts the lighttpd deamon
echo “Starting Lighttpd”
/usr/local/sbin/lighttpd -f $LIGHTTPD_CONF
;;
stop)
# stops the daemon bt cat’ing the pidfile
echo “Stopping Lighttpd”
kill -9 `cat $PIDFILE`
# kills the dispatch.fcgis
ps axww | grep dispatch | egrep -v ‘grep’ | awk ‘{ print $1 }’ | xargs kill -9
;;
restart)
## Stop the service regardless of whether it was
## running or not, start it again.
echo “Restarting Lighttpd”
$0 stop
$0 start
;;
reload)
# reloads the config file by sending HUP
echo “Reloading config”
kill -HUP `cat $PIDFILE`
;;
*)
echo “Usage: lighttpdctl (start|stop|restart|reload)”
exit 1
;;
esac

jain
March 28, 2008 at 4:57 am
Can you exactly tell me the name of the link file
i.e ln -s /etc.rc.d/init.d/lighttpd S
or exactly how you did it
thanks in advance
serbiancafe
March 28, 2008 at 9:33 am
You are welcome.
For level 3 the command would be:
cd /etc/rc.d/rc3.d/
ln -s /etc/rc.d/init.d/lighttpd
siva
May 9, 2008 at 1:59 pm
Thanks for the thread. It is really helpful. Appreciated it.