blob: a1a431d7fad96c5adba5ab8ab2acc0039fe944ed (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
#!/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
}
|