#!/bin/sh # # runlevel script of the cryptobox package # # Copyright (c) 02006, senselab # # see LICENSE file in this package for details # ### BEGIN INIT INFO # Provides: cryptobox # Required-Start: $network $local_fs $remote_fs # Required-Stop: $network $local_fs $remote_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: start CryptoBox webserver ### END INIT INFO # read the default setting file, if it exists [ -r /etc/default/cryptobox ] && source /etc/default/cryptobox # set default values (if not defined in /etc/default/cryptobox) NO_START=${NO_START:-0} RUNAS=${RUNAS:-cryptobox} PORT=${PORT:-8080} HOST=${HOST:-} LOGFILE=${LOGFILE:-/var/log/cryptobox/webserver.log} SERVER_OPTS=${SERVER_OPTS:-} CONF_FILE=/etc/cryptobox/cryptobox.conf # quit if NO_START is 1 (see /etc/default/cryptobox) [ "$NO_START" = "1" ] && exit 0 DAEMON=/usr/sbin/CryptoBoxWebserver PIDFILE=/var/run/cryptobox/webserver.pid DESC="CryptoBox Daemon (webinterface)" OPTIONS="-B --pidfile=$PIDFILE --config=$CONF_FILE $SERVER_OPTS" # check if the package is installed test -e "$DAEMON" || exit 0 # include some useful functions to unify our output format . /lib/lsb/init-functions case "$1" in start ) # TODO: mount config dir # TODO: create certificate # TODO: run stunnel # the lines above should go into the live-cd scripts ## create the directory of the pid file if necessary PIDDIR=$(dirname "$PIDFILE") if [ -d "$PIDDIR" ] then mkdir -p "$PIDDIR" chown $RUNAS:root "$PIDDIR" chmod 755 "$PIDDIR" fi log_daemon_msg "Starting $DESC" if start-stop-daemon \ --chuid $RUNAS: --quiet --start \ --oknodo --user $RUNAS --pidfile "$PIDFILE" \ --exec /usr/bin/python --startas "$DAEMON" -- $OPTIONS then log_end_msg 0 else log_end_msg 1 exit 1 fi ;; stop ) log_daemon_msg "Stopping cryptobox webserver" "$DESC" if start-stop-daemon --oknodo --quiet --stop \ --pidfile "$PIDFILE" \ --user "$RUNAS" then rm "$PIDFILE" log_end_msg 0 else log_end_msg 1 exit 1 fi ;; reload | force-reload | restart ) "$0" stop sleep 1 "$0" start ;; status ) echo -n "$DESC " if start-stop-daemon --stop --signal 0 --quiet \ --pidfile "$PIDFILE" -user "$RUNAS" then echo "running" exit 0 else if [ -e "$PIDFILE" ] then echo "failed" exit 1 else echo "not running" exit 0 fi fi ;; * ) echo "Usage: $0 {start|stop|restart|force-reload|status}" >&2 exit 1 ;; esac exit 0