Initial checkin of Webmin
[webmin.git] / webmin-init
1 #!/bin/sh
2 # chkconfig: 235 99 10
3 # description: Start or stop the Webmin server
4 #
5 ### BEGIN INIT INFO
6 # Provides: webmin
7 # Required-Start: $network $syslog
8 # Required-Stop: $network
9 # Default-Start: 2 3 5
10 # Default-Stop: 0 1 6
11 # Description: Start or stop the Webmin server
12 ### END INIT INFO
13
14 start=/etc/webmin/start
15 stop=/etc/webmin/stop
16 lockfile=/var/lock/subsys/webmin
17 confFile=/etc/webmin/miniserv.conf
18 pidFile=/var/webmin/miniserv.pid
19 name='Webmin'
20
21 case "$1" in
22 'start')
23         $start >/dev/null 2>&1 </dev/null
24         RETVAL=$?
25         if [ "$RETVAL" = "0" ]; then
26                 touch $lockfile >/dev/null 2>&1
27         fi
28         ;;
29 'stop')
30         $stop
31         RETVAL=$?
32         if [ "$RETVAL" = "0" ]; then
33                 rm -f $lockfile
34         fi
35         ;;
36 'status')
37         pidfile=`grep "^pidfile=" $confFile | sed -e 's/pidfile=//g'`
38         if [ "$pidfile" = "" ]; then
39                 pidfile=$pidFile
40         fi
41         if [ -s $pidfile ]; then
42                 pid=`cat $pidfile`
43                 kill -0 $pid >/dev/null 2>&1
44                 if [ "$?" = "0" ]; then
45                         echo "$name (pid $pid) is running"
46                         RETVAL=0
47                 else
48                         echo "$name is stopped"
49                         RETVAL=1
50                 fi
51         else
52                 echo "$name is stopped"
53                 RETVAL=1
54         fi
55         ;;
56 'restart')
57         $stop ; $start
58         RETVAL=$?
59         ;;
60 *)
61         echo "Usage: $0 { start | stop | restart }"
62         RETVAL=1
63         ;;
64 esac
65 exit $RETVAL
66