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

# 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
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
# 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'"
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
return 0
reload() {
if [ ! -f "${WEBMIN_PID}" ]; then
eerror "Webmin is not running"
return 1
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" \
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