diff options
Diffstat (limited to 'etc/init.d/commission')
-rwxr-xr-x | etc/init.d/commission | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/etc/init.d/commission b/etc/init.d/commission new file mode 100755 index 0000000..03bec24 --- /dev/null +++ b/etc/init.d/commission @@ -0,0 +1,68 @@ +#!/bin/sh + +PATH=/sbin:/bin:/usr/sbin:/usr/bin +DAEMON=/usr/sbin/lighttpd +DAEMONNAME="lighttpd" +NAME=commission +DESC="Lighttpd Web Server" +OPTS="-f /etc/lighttpd-commission.conf" +PIDFILE=/var/run/lighttpd-commission.pid +CONF_DIR=/var/config +ENABLED=yes + +[ -f "/etc/default/${NAME}" ] && . "/etc/default/${NAME}" + +PASSWORDS=$(passwd -Sa | egrep '^[^[:space:]]+[[:space:]]P[[:space:]]' | wc -l) +if (($PASSWORDS == 0)) ; then + # No password, so indicate commissioning mode + # php-fpm-commision will be turned on as well + rm -f /etc/default/$NAME + ENABLED="yes" +fi + +[ -f "/etc/default/no-${NAME}" ] && . "/etc/default/no-${NAME}" + +if [ ! -f $CONF_DIR/server.pem ]; then + echo "Generating server cert" + openssl req \ + -x509 -nodes -days 3650 \ + -subj '/C=US/ST=Minnesota/L=Minneapolis/CN=mlinux.example.com' \ + -newkey rsa:2048 -keyout $CONF_DIR/server.pem -out $CONF_DIR/server.pem +fi + +case "$1" in + start) + if [ "$ENABLED" != "yes" ]; then + echo "$NAME: disabled in /etc/default" + exit + fi + echo -n "Starting $DESC: " + start-stop-daemon --start -x "$DAEMON" -- $OPTS + echo "$NAME." + ;; + stop) + echo -n "Stopping $DESC: " + start-stop-daemon --stop -p ${PIDFILE} -x "$DAEMON" + echo "$NAME." + ;; + reload) + echo -n "Reloading $DESC: " + set -x + pkill -HUP -F ${PIDFILE} "$DAEMONNAME" + echo "$NAME." + ;; + restart|force-reload) + echo -n "Restarting $DESC: " + start-stop-daemon --stop -p ${PIDFILE} -x "$DAEMON" + sleep 1 + start-stop-daemon --start -x "$DAEMON" -- $OPTS + echo "$NAME." + ;; + *) + N=/etc/init.d/$NAME + echo "Usage: $N {start|stop|restart|force-reload}" >&2 + exit 1 + ;; +esac + +exit 0 |