summaryrefslogtreecommitdiff
path: root/www/lighttpd/files/lighttpd.in
diff options
context:
space:
mode:
Diffstat (limited to 'www/lighttpd/files/lighttpd.in')
-rw-r--r--www/lighttpd/files/lighttpd.in138
1 files changed, 138 insertions, 0 deletions
diff --git a/www/lighttpd/files/lighttpd.in b/www/lighttpd/files/lighttpd.in
new file mode 100644
index 000000000000..b003ab57468a
--- /dev/null
+++ b/www/lighttpd/files/lighttpd.in
@@ -0,0 +1,138 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+# PROVIDE: lighttpd
+# REQUIRE: %%REQUIRE%%
+# KEYWORD: shutdown
+#
+# Add the following lines to /etc/rc.conf to enable lighttpd:
+#
+# lighttpd_enable (bool): Set it to "YES" to enable lighttpd
+# Default is "NO".
+# lighttpd_conf (path): Set full path to configuration file.
+# Default is "%%PREFIX%%/etc/lighttpd/lighttpd.conf".
+# lighttpd_pidfile (path): Set full path to pid file.
+# Default is "/var/run/lighttpd.pid".
+#
+# Add the following lines to /etc/rc.conf for multiple instances:
+# (overrides lighttpd_conf and lighttpd_pidfile from above)
+#
+# lighttpd_instances (string): Instances of lighttpd
+# Default is "" (no instances).
+# lighttpd_${i}_conf (path): Set full path to instance configuration file.
+# Default is "%%PREFIX%%/etc/lighttpd/${i}.conf".
+# lighttpd_${i}_pidfile (path): Set full path to instance pid file
+# Default is "/var/run/lighttpd_${i}.pid".
+#
+
+. /etc/rc.subr
+
+name="lighttpd"
+rcvar=lighttpd_enable
+
+load_rc_config $name
+
+: ${lighttpd_enable="NO"}
+: ${lighttpd_pidfile="/var/run/${name}.pid"}
+
+# Compatibility for old configuration file location
+deprecated_conf=
+if [ -z "${lighttpd_conf}" ]; then
+ if [ -f "%%PREFIX%%/etc/lighttpd.conf" ]; then
+ deprecated_conf=1
+ lighttpd_conf="%%PREFIX%%/etc/lighttpd.conf"
+ else
+ lighttpd_conf="%%PREFIX%%/etc/lighttpd/lighttpd.conf"
+ fi
+fi
+
+command=%%PREFIX%%/sbin/lighttpd
+stop_postcmd=stop_postcmd
+restart_precmd="lighttpd_checkconfig"
+graceful_precmd="lighttpd_checkconfig"
+graceful_cmd="lighttpd_graceful"
+gracefulstop_cmd="lighttpd_gracefulstop"
+configtest_cmd="lighttpd_checkconfig"
+extra_commands="reload graceful gracefulstop configtest"
+command_args="-f ${lighttpd_conf}"
+pidfile=${lighttpd_pidfile}
+required_files=${lighttpd_conf}
+
+lighttpd_check_deprecated()
+{
+ if [ -n "${deprecated_conf}" ]; then
+ echo ""
+ echo "*** NOTICE: ***"
+ echo "The default location of %%PREFIX%%/etc/lighttpd.conf is deprecated"
+ echo "Please consider moving to %%PREFIX%%/etc/lighttpd/lighttpd.conf"
+ echo ""
+ fi
+}
+
+lighttpd_checkconfig()
+{
+ echo "Performing sanity check on ${name} configuration:"
+ eval "${command} ${command_args} -t"
+}
+
+lighttpd_gracefulstop()
+{
+ echo "Stopping ${name} gracefully."
+ sig_reload="INT"
+ run_rc_command reload
+}
+
+lighttpd_graceful()
+{
+ lighttpd_gracefulstop
+ rm -f ${pidfile}
+ run_rc_command start
+}
+
+lighttpd_run_instance()
+{
+ _i="$1"
+ _rcmd="$2"
+ name=${_orig_name}_${_i}
+ eval ${name}_enable=${lighttpd_enable}
+ eval lighttpd_conf=\"\${lighttpd_${_i}_conf:-"%%PREFIX%%/etc/lighttpd/${_i}.conf"}\"
+ eval lighttpd_pidfile=\"\${lighttpd_${_i}_pidfile:-"/var/run/lighttpd_${_i}.pid"}\"
+ command_args="-f ${lighttpd_conf}"
+ pidfile=${lighttpd_pidfile}
+ required_files=${lighttpd_conf}
+ run_rc_command ${_rcmd}
+}
+
+stop_postcmd()
+{
+ rm -f ${pidfile}
+}
+
+if [ -n "${lighttpd_instances}" ]; then
+ _orig_name="${name}"
+ _run_cmd="$1"
+ if [ $# -gt 0 ]; then
+ shift
+ fi
+ if [ -n "$*" ]; then
+ _run_instances="$*"
+ fi
+ if [ -n "${_run_instances}" ]; then
+ for _a in $_run_instances; do
+ for _in in ${lighttpd_instances}; do
+ if [ "$_a" = "$_in" ]; then
+ _runlist="${_runlist} ${_a}"
+ fi
+ done
+ done
+ else
+ _runlist="${lighttpd_instances}"
+ fi
+ for _in in ${_runlist}; do
+ lighttpd_run_instance $_in $_run_cmd
+ done
+else
+ start_precmd="lighttpd_check_deprecated"
+ run_rc_command "$1"
+fi