freebsd-ports/www/apache20/files/apache.sh
Doug Barton c49d1a3273 Remove the FreeBSD KEYWORD from all rc.d scripts where it appears.
We have not checked for this KEYWORD for a long time now, so this
is a complete noop, and thus no PORTREVISION bump. Removing it at
this point is mostly for pedantic reasons, and partly to avoid
perpetuating this anachronism by copy and paste to future scripts.
2006-02-20 20:47:50 +00:00

116 lines
3.4 KiB
Bash

#!/bin/sh
#
# $FreeBSD$
#
# PROVIDE: apache2
# REQUIRE: NETWORKING SERVERS
# BEFORE: LOGIN
# KEYWORD: shutdown
#
# Add the following lines to /etc/rc.conf to enable apache2:
# apache2_enable (bool): Set to "NO" by default.
# Set it to "YES" to enable apache2
# apache2_profiles (string): Undefined by default. Define here your profiles.
# apache2ssl_enable (bool): Set to "NO" by default.
# Set it to "YES" to start apache with SSL
# (if <IfDefined SSL> exists in httpd.conf)
# apache2limits_enable (bool):Set to "NO" by default.
# Set it to yes to run `limits $limits_args`
# just before apache starts.
# apache2_flags (str): Set to "" by default.
# Extra flags passed to start command.
# apache2limits_args (str): Default to "-e -C daemon"
# Arguments of pre-start limits run.
#
. %%RC_SUBR%%
name="apache2"
rcvar=`set_rcvar`
start_precmd="apache2_precmd"
restart_precmd="apache2_checkconfig"
reload_precmd="apache2_checkconfig"
command="%%PREFIX%%/sbin/httpd"
_pidprefix="/var/run/httpd"
pidfile="${_pidprefix}.pid"
required_files=%%PREFIX%%/etc/apache2/httpd.conf
[ -z "${apache2_enable}" ] && apache2_enable="NO"
[ -z "${apache2ssl_enable}" ] && apache2ssl_enable="NO"
[ -z "${apache2_flags}" ] && apache2_flags=""
[ -z "${apache2limits_enable}" ] && apache2limits_enable="NO"
[ -z "${apache2limits_args}" ] && apache2limits_args="-e -C daemon"
[ -z "${apache2_configfile}" ] && apache2_configfile=""
load_rc_config $name
if [ -n "${2}" ]; then
profile=${2}
if [ "x${apache2_profiles}" != "x" ]; then
pidfile="${_pidprefix}.${profile}.pid"
eval apache2_configfile=\${apache2_${profile}_configfile}
[ "x${apache2_configfile}" = "x" ] && {
echo "You must define a configuration file (apache2_${profile}_configfile)"
exit 1
}
eval apache2_enable=\${apache2_${profile}_enable:-YES}
eval apache2ssl_enable=\${apache2ssl_${profile}_enable:-NO}
eval apache2_flags=\${apache2_${profile}_flags:-${apache2_flags}}
eval apache2limits_enable=\${apache2limits_${profile}_enable:-${apache2limits_enable}}
eval apache2limits_args=\${apache2limits_${profile}_args:-${apache2limits_args}}
pidfile="${_pidprefix}.${profile}.pid"
apache2_flags="-c \"PidFile ${pidfile}\" ${apache2_flags}"
else
echo "$0: extra argument ignored"
fi
else
if [ "x${apache2_profiles}" != "x" -a "x${1}" != "xrestart" ]; then
for profile in ${apache2_profiles}; do
echo "===> apache2 profile: ${profile}"
$0 $1 $profile
retcode=$?
if [ "$?" -ne 0 ]; then
failed="${profile} ({$retcode}) ${failed}"
else
success="${profile} ${success}"
fi
done
exit 0
fi
fi
checkyesno apache2ssl_enable && \
apache2_flags="-DSSL $apache2_flags"
[ "x${apache2_configfile}" != "x" ] && {
apache2_flags="-f ${apache2_configfile} ${apache2_flags}"
required_files=${apache2_configfile}
}
apache2_checkconfig()
{
echo "Performing sanity check on apache2 configuration:"
eval "${command} ${apache2_flags} -t"
}
apache2_precmd()
{
if test -f %%PREFIX%%/sbin/envvars
then
. %%PREFIX%%/sbin/envvars
fi
if checkyesno apache2limits_enable
then
eval `/usr/bin/limits ${apache2limits_args}` 2>/dev/null
else
return 0
fi
}
sig_reload=SIGUSR1
extra_commands="reload"
run_rc_command "$1"