82 lines
1.6 KiB
Bash
82 lines
1.6 KiB
Bash
#!/bin/sh
|
|
# Description: Start or stop the Webmin server
|
|
|
|
start=/etc/webmin/start
|
|
stop=/etc/webmin/stop
|
|
lockfile=/var/lock/subsys/webmin
|
|
confFile=/etc/webmin/miniserv.conf
|
|
pidFile=$(grep "^pidfile=" $confFile | sed -e 's/pidfile=//g')
|
|
|
|
pkg_postinst () {
|
|
echo "Running postinstall scripts .."
|
|
|
|
local crypt=$(grep "^root:" /etc/shadow | cut -f 2 -d :)
|
|
crypt=${crypt//\\/\\\\}
|
|
crypt=${crypt//\//\\\/}
|
|
sed -i "s/root:XXX/root:${crypt}/" /etc/webmin/miniserv.users
|
|
|
|
if [ -d /usr/libexec/webmin ]; then
|
|
cd /usr/libexec/webmin
|
|
WEBMIN_CONFIG=/etc/webmin WEBMIN_VAR=/var/log/webmin /usr/libexec/webmin/run-postinstalls.pl
|
|
fi
|
|
|
|
echo "done"
|
|
}
|
|
|
|
case "$1" in
|
|
'start')
|
|
if [ -e /etc/webmin/FIRSTRUN ]; then
|
|
pkg_postinst
|
|
rm -f /etc/webmin/FIRSTRUN
|
|
fi
|
|
$start >/dev/null 2>&1 </dev/null
|
|
RETVAL=$?
|
|
if [ "$RETVAL" = "0" ]; then
|
|
touch $lockfile >/dev/null 2>&1
|
|
echo "Webmin Started"
|
|
fi
|
|
;;
|
|
'stop')
|
|
$stop
|
|
RETVAL=$?
|
|
if [ "$RETVAL" = "0" ]; then
|
|
rm -f $lockfile
|
|
fi
|
|
pidfile=`grep "^pidfile=" $confFile | sed -e 's/pidfile=//g'`
|
|
if [ "$pidfile" = "" ]; then
|
|
pidfile=$pidFile
|
|
fi
|
|
echo "Webmin Stopped"
|
|
rm -f $pidfile
|
|
;;
|
|
'status')
|
|
pidfile=`grep "^pidfile=" $confFile | sed -e 's/pidfile=//g'`
|
|
if [ "$pidfile" = "" ]; then
|
|
pidfile=$pidFile
|
|
fi
|
|
if [ -s $pidfile ]; then
|
|
pid=`cat $pidfile`
|
|
kill -0 $pid >/dev/null 2>&1
|
|
if [ "$?" = "0" ]; then
|
|
echo "Webmin (pid $pid) is running"
|
|
RETVAL=0
|
|
else
|
|
echo "Webmin is stopped"
|
|
RETVAL=1
|
|
fi
|
|
else
|
|
echo "Webmin is stopped"
|
|
RETVAL=1
|
|
fi
|
|
;;
|
|
'restart')
|
|
$stop ; $start
|
|
RETVAL=$?
|
|
;;
|
|
*)
|
|
echo "Usage: $0 { start | stop | restart }"
|
|
RETVAL=1
|
|
;;
|
|
esac
|
|
exit $RETVAL
|