You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

86 lines
2.1 KiB

#!/sbin/openrc-run
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
# We do not give a choice to user for configuring these 'cause it will mess up
# Webmin's configuration
WEBMIN_EXE="%exe%"
WEBMIN_PID="%pid%"
WEBMIN_CONF="%conf%"
WEBMIN_CONFIG="%config%"
extra_started_commands="reload"
depend() {
use net logger
}
checkconfig() {
# Check if Webmin setup has been done
if [ ! -f ${WEBMIN_CONFIG} ]; then
eerror "Error in Webmin's configuration. The ${WEBMIN_CONFIG} is not present."
eerror "Please run 'emerge --config app-admin/webmin' to fix this."
return 1
fi
# Check if ssl cert is present
local key ssl
key=`grep "^keyfile=" ${WEBMIN_CONF} | sed -e 's/keyfile=//g'`
ssl=`grep "^ssl=" ${WEBMIN_CONF} | sed -e 's/ssl=//g'`
if [ ! -f "${key}" ] ; then
if [ "${ssl}" = "0" ]; then
ewarn "Your SSL certificate is not present."
ewarn "Please either fix the path in the 'keyfile=' option of your ${WEBMIN_CONF}"
ewarn "OR run 'emerge --config app-admin/webmin'"
else
eerror "Error in Webmin's configuration. No SSL certificate is present."
eerror "Please either fix the path in the 'keyfile=' option of your ${WEBMIN_CONF}"
eerror "OR change the 'ssl=' option of your ${WEBMIN_CONF} to 'ssl=0'"
eerror "OR run 'emerge --config app-admin/webmin'"
return 1
fi
fi
return 0
}
reload() {
if [ ! -f "${WEBMIN_PID}" ]; then
eerror "Webmin is not running"
return 1
fi
checkconfig || return 1
ebegin "Reloading Webmin's configuration files"
start-stop-daemon --signal USR1 --pidfile "$WEBMIN_PID"
eend $?
}
start() {
checkconfig || return 1
ebegin "Starting Webmin"
start-stop-daemon --start --background --interpreted \
--env LANG= \
--env PERLLIB="%perllib%" \
--exec "$WEBMIN_EXE" \
--pidfile "$WEBMIN_PID" \
-- "$WEBMIN_CONF"
eend $?
# Leave time to spawn, so no stop is received while spawning
sleep 3
}
stop() {
ebegin "Stopping Webmin"
start-stop-daemon --stop --interpreted --quiet \
--exec "$WEBMIN_EXE" \
--pidfile "$WEBMIN_PID"
eend $?
# Leave time to stop because of the scripts that use this
sleep 3
}