mirror of
https://github.com/webmin/webmin.git
synced 2026-05-06 23:30:29 +01:00
141 lines
3.2 KiB
Bash
Executable File
141 lines
3.2 KiB
Bash
Executable File
#!/bin/sh
|
|
# chkconfig: 235 99 10
|
|
# description: web-based administration interface for Unix systems
|
|
#
|
|
### BEGIN INIT INFO
|
|
# Provides: webmin
|
|
# Required-Start: $local_fs $network $syslog
|
|
# Required-Stop: $local_fs $network
|
|
# Default-Start: 2 3 4 5
|
|
# Default-Stop: 0 1 6
|
|
# Short-Description: web-based administration interface for Unix systems
|
|
# Description: Webmin is a web-based interface for system administration
|
|
# for Unix. Using Webmin you can configure DNS, Samba, NFS,
|
|
# local/remote filesystems and more using your web browser.
|
|
### END INIT INFO
|
|
|
|
PATH=/sbin:/usr/sbin:/bin:/usr/bin
|
|
DESC="web-based administration interface for Unix systems"
|
|
NAME=Webmin
|
|
PIDFILE=/var/webmin/miniserv.pid
|
|
SCRIPTNAME=/etc/init.d/webmin
|
|
START=/etc/webmin/start-init
|
|
STOP=/etc/webmin/stop-init
|
|
RELOAD=/etc/webmin/reload-init
|
|
FORCERELOAD=/etc/webmin/force-reload-init
|
|
LOCKFILE=/var/lock/subsys/webmin
|
|
CONFFILE=/etc/webmin/miniserv.conf
|
|
|
|
# Check if run directly, i.e. /etc/init.d/webmin start
|
|
# This is critical to have it resolved correctly
|
|
if [ -n "$HOME" ] && [ "$BASH_SUBSHELL" = 0 ]; then
|
|
# Check for systemd system
|
|
if command -v systemctl >/dev/null 2>&1; then
|
|
STARTSYSD=/etc/webmin/start
|
|
STOPSYSD=/etc/webmin/stop
|
|
RESTARTSYSD=/etc/webmin/restart
|
|
RELOADSYSD=/etc/webmin/reload
|
|
FORCERELOADSYSD=/etc/webmin/force-reload
|
|
WARNSYSD="WARN : [webmin] You are using traditional 'webmin' init script. It is advised to use \`systemctl $1 webmin\` directly."
|
|
fi
|
|
fi
|
|
|
|
case "$1" in
|
|
start)
|
|
if [ -n "$STARTSYSD" ]; then
|
|
echo $WARNSYSD
|
|
echo "Starting $NAME (via systemctl)"
|
|
$STARTSYSD
|
|
RETVAL=$?
|
|
else
|
|
$START
|
|
RETVAL=$?
|
|
if [ "$RETVAL" = "0" ]; then
|
|
touch $LOCKFILE >/dev/null 2>&1
|
|
fi
|
|
fi
|
|
;;
|
|
stop)
|
|
if [ -n "$STOPSYSD" ]; then
|
|
echo $WARNSYSD
|
|
echo "Stopping $NAME (via systemctl)"
|
|
$STOPSYSD
|
|
RETVAL=$?
|
|
else
|
|
$STOP
|
|
RETVAL=$?
|
|
if [ "$RETVAL" = "0" ]; then
|
|
rm -f $LOCKFILE
|
|
pidfile=`grep "^pidfile=" $CONFFILE | sed -e 's/pidfile=//g'`
|
|
if [ "$pidfile" = "" ]; then
|
|
pidfile=$PIDFILE
|
|
fi
|
|
rm -f $pidfile
|
|
fi
|
|
fi
|
|
;;
|
|
status)
|
|
if [ -n "$STARTSYSD" ]; then
|
|
echo $WARNSYSD
|
|
echo "$NAME status (via systemctl)"
|
|
systemctl status webmin
|
|
RETVAL=$?
|
|
else
|
|
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 "$NAME (pid $pid) is running"
|
|
RETVAL=0
|
|
else
|
|
echo "$NAME is stopped"
|
|
RETVAL=1
|
|
fi
|
|
else
|
|
echo "$NAME is stopped"
|
|
RETVAL=1
|
|
fi
|
|
fi
|
|
;;
|
|
restart)
|
|
if [ -n "$RESTARTSYSD" ]; then
|
|
echo $WARNSYSD
|
|
echo "Restarting $NAME (via systemctl)"
|
|
$RESTARTSYSD
|
|
else
|
|
$STOP ; $START
|
|
fi
|
|
RETVAL=$?
|
|
;;
|
|
force-reload)
|
|
if [ -n "$FORCERELOADSYSD" ]; then
|
|
echo $WARNSYSD
|
|
echo "Force restarting $NAME (via systemctl)"
|
|
$FORCERELOADSYSD
|
|
else
|
|
$FORCERELOAD
|
|
fi
|
|
RETVAL=$?
|
|
;;
|
|
reload)
|
|
if [ -n "$RELOADSYSD" ]; then
|
|
echo $WARNSYSD
|
|
echo "Reloading $NAME configuration (via systemctl)"
|
|
$RELOADSYSD
|
|
else
|
|
$RELOAD
|
|
fi
|
|
RETVAL=$?
|
|
;;
|
|
*)
|
|
echo "Usage: $0 {start|stop|restart|reload|force-reload|status}" >&2
|
|
RETVAL=1
|
|
;;
|
|
esac
|
|
exit $RETVAL
|
|
|