+#!/usr/bin/pagsh -e
+### BEGIN INIT INFO
+# Provides: apache2
+# Required-Start: $local_fs $remote_fs $network $syslog openafs-client
+# Required-Stop: $local_fs $remote_fs $network $syslog openafs-client
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Start/stop apache2 web server
+### END INIT INFO
+#
+# Apache kstart wrapper by anders.
+#
+
+SCRIPT=/etc/init.d/apache2.invirt-orig
+KSTART_PIDFILE=/var/run/k5start-apache2.pid
+KSTART_KEYTAB=/etc/invirt/keytab
+
+export AFSCELL=sipb.mit.edu
+
+kstart_start () {
+ TMP_PIDFILE=$(mktemp /tmp/k5start-apache2.pid-XXXXXX)
+ chown www-data "$TMP_PIDFILE"
+ export KRB5CCNAME=$(mktemp /tmp/krb5cc_33.kstart-XXXXXX)
+ chown www-data $KRB5CCNAME
+ /sbin/start-stop-daemon --start --pidfile "$TMP_PIDFILE" -c www-data \
+ --exec /usr/bin/k5start -- -b -p "$TMP_PIDFILE" \
+ -f "$KSTART_KEYTAB" -K10 -S afs -I "$AFSCELL" -t \
+ "daemon/$(hostname -f)"
+ cat "$TMP_PIDFILE" >|"$KSTART_PIDFILE"
+ rm -f "$TMP_PIDFILE"
+}
+kstart_stop () {
+ if [ -e $KSTART_PIDFILE ]; then
+ /sbin/start-stop-daemon --stop --pidfile $KSTART_PIDFILE
+ pgrep apache2 >/dev/null && sleep 1 \
+ && pgrep apache2 >/dev/null && sleep 1 \
+ && pgrep apache2 >/dev/null && sleep 1 \
+ && pgrep apache2 >/dev/null && sleep 1 \
+ && pkill -9 apache2
+ rm -f $KSTART_PIDFILE
+ else
+ echo -n " ... no kstart pidfile"
+ fi
+}
+
+case "$1" in
+ start)
+ echo -n "Starting kstart for Apache2: k5start"
+ kstart_start
+ echo "."
+ exec "$SCRIPT" start
+ ;;
+ stop)
+ "$SCRIPT" stop
+ echo -n "Stopping kstart for Apache2: k5start"
+ kstart_stop
+ echo "."
+ ;;
+ restart|force-reload)
+ "$0" stop
+ sleep 1
+ "$0" start
+ ;;
+ *)
+ exec "$SCRIPT" "$@"
+ ;;
+esac