- USE_RC_SUBR != yes
PR: 136853 Submitted by: Philip M. Gollucci - extend startup to handle options and multiple instances Obtained from: ports/www/apache22
This commit is contained in:
parent
6e0113c039
commit
46b520e866
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=243121
3 changed files with 200 additions and 40 deletions
|
@ -7,7 +7,7 @@
|
|||
|
||||
PORTNAME= apache+mod_ssl
|
||||
PORTVERSION= ${VERSION_APACHE}+${VERSION_MODSSL}
|
||||
PORTREVISION?= 0
|
||||
PORTREVISION?= 1
|
||||
CATEGORIES?= www security
|
||||
MASTER_SITES= ${MASTER_SITE_APACHE_HTTPD} \
|
||||
${MASTER_SITES_MODSSL:S/$/:mod_ssl/} \
|
||||
|
@ -57,7 +57,7 @@ MODSSL_FILE= mod_ssl-${VERSION_MODSSL}-${VERSION_APACHE}${EXTRACT_SUFX}
|
|||
MODSNMP_FILE= mod_snmp_${VERSION_MODSNMP}${EXTRACT_SUFX}
|
||||
RC_SCRIPTS_SUB= PREFIX=${PREFIX} RC_SUBR=${RC_SUBR}
|
||||
|
||||
USE_RC_SUBR= yes
|
||||
USE_RC_SUBR= apache
|
||||
|
||||
.include <bsd.port.pre.mk>
|
||||
|
||||
|
@ -89,10 +89,6 @@ check-depends::
|
|||
@${FALSE}
|
||||
.endif
|
||||
|
||||
APACHE_SH?= etc/rc.d/apache
|
||||
|
||||
PLIST_FILES+= ${APACHE_SH}
|
||||
|
||||
.if defined(WITH_APACHE_SUEXEC) && !defined(WITHOUT_APACHE_SUEXEC)
|
||||
|
||||
APACHE_SUEXEC_DOCROOT?=${DOCUMENT_ROOT}
|
||||
|
@ -381,8 +377,6 @@ pre-fetch:
|
|||
@${ECHO_MSG} ""
|
||||
|
||||
post-extract:
|
||||
@${SED} ${RC_SCRIPTS_SUB:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} \
|
||||
${FILESDIR}/rcng.sh > ${WRKSRC}/rcng.sh
|
||||
@${REINPLACE_CMD} -e 's|echo aout|echo elf|' \
|
||||
${WRKSRC}/src/Configure
|
||||
.if defined(WITH_APACHE_MODSNMP) || defined(APACHE_WITH_MODSNMP)
|
||||
|
@ -429,7 +423,6 @@ pre-install:
|
|||
@${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL
|
||||
|
||||
post-install:
|
||||
${INSTALL_SCRIPT} ${WRKSRC}/rcng.sh ${PREFIX}/${APACHE_SH}
|
||||
.if defined(WITH_APACHE_MODSNMP) || defined(APACHE_WITH_MODSNMP)
|
||||
@${MKDIR} ${DATADIR}/buckets
|
||||
@${CHOWN} www:www ${DATADIR}/buckets
|
||||
|
|
198
www/apache13-modssl/files/apache.in
Normal file
198
www/apache13-modssl/files/apache.in
Normal file
|
@ -0,0 +1,198 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# $FreeBSD$
|
||||
#
|
||||
|
||||
# PROVIDE: apache
|
||||
# REQUIRE: LOGIN cleanvar
|
||||
# KEYWORD: shutdown
|
||||
|
||||
#
|
||||
# Add the following lines to /etc/rc.conf to enable apache:
|
||||
# apache_enable (bool): Set to "NO" by default.
|
||||
# Set it to "YES" to enable apache
|
||||
# apache_profiles (str): Set to "" by default.
|
||||
# Define your profiles here.
|
||||
# apachelimits_enable (bool):Set to "NO" by default.
|
||||
# Set it to yes to run `limits $limits_args`
|
||||
# just before apache starts.
|
||||
# apache_flags (str): Set to "-DSSL" by default.
|
||||
# Extra flags passed to start command.
|
||||
# apachelimits_args (str): Default to "-e -C daemon"
|
||||
# Arguments of pre-start limits run.
|
||||
# apache_http_accept_enable (bool): Set to "NO" by default.
|
||||
# Set to yes to check for accf_http kernel
|
||||
# module on start up and load if not loaded.
|
||||
# apache_fib (str): Set an altered default network view for apache
|
||||
|
||||
. %%RC_SUBR%%
|
||||
|
||||
name="apache"
|
||||
rcvar=`set_rcvar`
|
||||
|
||||
start_precmd="apache_prestart"
|
||||
restart_precmd="apache_checkconfig"
|
||||
reload_precmd="apache_checkconfig"
|
||||
reload_cmd="apache_graceful"
|
||||
graceful_cmd="apache_graceful"
|
||||
gracefulstop_cmd="apache_gracefulstop"
|
||||
configtest_cmd="apache_checkconfig"
|
||||
command="%%PREFIX%%/sbin/httpd"
|
||||
_pidprefix="/var/run/httpd"
|
||||
pidfile="${_pidprefix}.pid"
|
||||
required_files=%%PREFIX%%/etc/apache/httpd.conf
|
||||
|
||||
[ -z "$apache_enable" ] && apache_enable="NO"
|
||||
[ -z "$apache_profiles" ] && apache_profiles=""
|
||||
[ -z "$apache_flags" ] && apache_flags="-DSSL"
|
||||
[ -z "$apachelimits_enable" ] && apachelimits_enable="NO"
|
||||
[ -z "$apachelimits_args" ] && apachelimits_args="-e -C daemon"
|
||||
[ -z "$apache_http_accept_enable" ] && apache_http_accept_enable="NO"
|
||||
[ -z "$apache_fib" ] && apache_fib="NO"
|
||||
|
||||
apache_accf() {
|
||||
retcode=0
|
||||
if checkyesno apache_http_accept_enable
|
||||
then
|
||||
/sbin/kldstat -v | grep accf_http >/dev/null 2>&1
|
||||
retcode=${?}
|
||||
if [ ${retcode} -ne 0 ]
|
||||
then
|
||||
/sbin/kldload accf_http 2> /dev/null
|
||||
retcode=${?}
|
||||
fi
|
||||
else
|
||||
apache_flags="${apache_flags} -DNOHTTPACCEPT"
|
||||
fi
|
||||
[ ${retcode} -ne 0 ] && echo "Unable to load accf_http module"
|
||||
return ${retcode}
|
||||
}
|
||||
|
||||
load_rc_config $name
|
||||
|
||||
if [ -n "$2" ]; then
|
||||
profile="$2"
|
||||
if [ "x${apache_profiles}" != "x" ]; then
|
||||
pidfile="${_pidprefix}.${profile}.pid"
|
||||
eval apache_configfile="\${apache_${profile}_configfile:-}"
|
||||
if [ "x${apache_configfile}" = "x" ]; then
|
||||
echo "You must define a configuration file (apache_${profile}_configfile)"
|
||||
exit 1
|
||||
fi
|
||||
required_files="${apache_configfile}"
|
||||
eval apache_enable="\${apache_${profile}_enable:-${apache_enable}}"
|
||||
eval apache_flags="\${apache_${profile}_flags:-${apache_flags}}"
|
||||
eval apache_http_accept_enable="\${apache_${profile}_http_accept_enable:-${apache_http_accept_enable}}"
|
||||
eval apachelimits_enable="\${apachelimits_${profile}_enable:-${apachelimits_enable}}"
|
||||
eval apachelimits_args="\${apachelimits_${profile}_args:-${apachelimits_args}}"
|
||||
eval apache_fib="\${apache_${profile}_fib:-${apache_fib}}"
|
||||
apache_flags="-f ${apache_configfile} -c \"PidFile ${pidfile}\" ${apache_flags}"
|
||||
else
|
||||
echo "$0: extra argument ignored"
|
||||
fi
|
||||
else
|
||||
if [ "x${apache_profiles}" != "x" -a "x$1" != "x" ]; then
|
||||
for profile in ${apache_profiles}; do
|
||||
eval _enable="\${apache_${profile}_enable}"
|
||||
case "x${_enable:-${apache_enable}}" in
|
||||
x|x[Nn][Oo]|x[Nn][Oo][Nn][Ee])
|
||||
continue
|
||||
;;
|
||||
x[Yy][Ee][Ss])
|
||||
;;
|
||||
*)
|
||||
if test -z "$_enable"; then
|
||||
_var=apache_enable
|
||||
else
|
||||
_var=apache_"${profile}"_enable
|
||||
fi
|
||||
echo "Bad value" \
|
||||
"'${_enable:-${apache_enable}}'" \
|
||||
"for ${_var}. " \
|
||||
"Profile ${profile} skipped."
|
||||
continue
|
||||
;;
|
||||
esac
|
||||
echo "===> apache profile: ${profile}"
|
||||
%%PREFIX%%/etc/rc.d/apache%%RC_SUBR_SUFFIX%% $1 ${profile}
|
||||
retcode="$?"
|
||||
if [ "0${retcode}" -ne 0 ]; then
|
||||
failed="${profile} (${retcode}) ${failed:-}"
|
||||
else
|
||||
success="${profile} ${success:-}"
|
||||
fi
|
||||
done
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "${1}" != "stop" ] ; then \
|
||||
apache_accf || apache_flags="${apache_flags} -DNOHTTPACCEPT"
|
||||
fi
|
||||
|
||||
apache_requirepidfile()
|
||||
{
|
||||
if [ ! "0`check_pidfile ${pidfile} ${command}`" -gt 1 ]; then
|
||||
echo "${name} not running? (check $pidfile)."
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
apache_checkconfig()
|
||||
{
|
||||
if test -f %%PREFIX%%/sbin/envvars
|
||||
then
|
||||
. %%PREFIX%%/sbin/envvars
|
||||
fi
|
||||
|
||||
echo "Performing sanity check on apache configuration:"
|
||||
eval ${command} ${apache_flags} -t
|
||||
}
|
||||
|
||||
apache_graceful() {
|
||||
apache_requirepidfile
|
||||
|
||||
echo "Performing a graceful restart"
|
||||
eval ${command} ${apache_flags} -k graceful
|
||||
}
|
||||
|
||||
apache_gracefulstop() {
|
||||
apache_requirepidfile
|
||||
|
||||
echo "Performing a graceful stop"
|
||||
eval ${command} ${apache_flags} -k graceful-stop
|
||||
}
|
||||
|
||||
apache_precmd()
|
||||
{
|
||||
apache_checkconfig
|
||||
|
||||
if checkyesno apachelimits_enable
|
||||
then
|
||||
eval `/usr/bin/limits ${apachelimits_args}` 2>/dev/null
|
||||
else
|
||||
return 0
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
apache_checkfib () {
|
||||
sysctl net.fibs >/dev/null 2>&1
|
||||
ret=$?
|
||||
[ $ret -gt 0 ] && return 0
|
||||
if [ "x$apache_fib" != "xNO" ]
|
||||
then
|
||||
command="setfib -F ${apache_fib} ${command}"
|
||||
else
|
||||
return 0
|
||||
fi
|
||||
}
|
||||
|
||||
apache_prestart() {
|
||||
apache_checkfib
|
||||
apache_precmd
|
||||
}
|
||||
|
||||
extra_commands="reload graceful gracefulstop configtest"
|
||||
run_rc_command "$1"
|
||||
# eof
|
|
@ -1,31 +0,0 @@
|
|||
#!/bin/sh
|
||||
# $FreeBSD$
|
||||
|
||||
# PROVIDE: apache
|
||||
# REQUIRE: DAEMON
|
||||
# BEFORE: LOGIN
|
||||
# KEYWORD: shutdown
|
||||
|
||||
# Define these apache_* variables in one of these files:
|
||||
# /etc/rc.conf
|
||||
# /etc/rc.conf.local
|
||||
# /etc/rc.conf.d/apache
|
||||
#
|
||||
# DO NOT CHANGE THESE DEFAULT VALUES HERE
|
||||
#
|
||||
apache_enable="${apache_enable-NO}"
|
||||
apache_flags=${apache_flags-"-DSSL"}
|
||||
apache_pidfile="/var/run/httpd.pid"
|
||||
|
||||
. %%RC_SUBR%%
|
||||
|
||||
name="apache"
|
||||
rcvar=`set_rcvar`
|
||||
command="%%PREFIX%%/sbin/httpd"
|
||||
|
||||
load_rc_config $name
|
||||
|
||||
pidfile="${apache_pidfile}"
|
||||
start_precmd="`/usr/bin/limits -e -U www`"
|
||||
|
||||
run_rc_command "$1"
|
Loading…
Reference in a new issue