122 lines
2.9 KiB
Plaintext
Executable File
122 lines
2.9 KiB
Plaintext
Executable File
#!/sbin/runscript
|
|
# Copyright 1999-2007 Gentoo Foundation
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
opts="configtest fullstatus graceful gracefulstop modules reload"
|
|
|
|
depend() {
|
|
need net
|
|
use mysql dns logger netmount postgresql
|
|
after sshd
|
|
}
|
|
|
|
configtest() {
|
|
ebegin "Checking Apache Configuration"
|
|
checkconfig
|
|
eend $?
|
|
}
|
|
|
|
checkconfig() {
|
|
SERVERROOT="${SERVERROOT:-/usr/lib/apache2}"
|
|
if [ ! -d ${SERVERROOT} ]; then
|
|
eerror "SERVERROOT does not exist: ${SERVERROOT}"
|
|
return 1
|
|
fi
|
|
|
|
CONFIGFILE="${CONFIGFILE:-/etc/apache2/httpd.conf}"
|
|
[ "${CONFIGFILE#/}" = "${CONFIGFILE}" ] && CONFIGFILE="${SERVERROOT}/${CONFIGFILE}"
|
|
if [ ! -r "${CONFIGFILE}" ]; then
|
|
eerror "Unable to read configuration file: ${CONFIGFILE}"
|
|
return 1
|
|
fi
|
|
|
|
APACHE2_OPTS="${APACHE2_OPTS} -d ${SERVERROOT}"
|
|
APACHE2_OPTS="${APACHE2_OPTS} -f ${CONFIGFILE}"
|
|
[ -n "${STARTUPERRORLOG}" ] && APACHE2_OPTS="${APACHE2_OPTS} -E ${STARTUPERRORLOG}"
|
|
|
|
APACHE2="/usr/sbin/apache2"
|
|
|
|
${APACHE2} ${APACHE2_OPTS} -t 1>/dev/null 2>&1
|
|
ret=$?
|
|
if [ $ret -ne 0 ]; then
|
|
eerror "Apache2 has detected a syntax error in your configuration files:"
|
|
${APACHE2} ${APACHE2_OPTS} -t
|
|
fi
|
|
|
|
return $ret
|
|
}
|
|
|
|
start() {
|
|
checkconfig || return 1
|
|
ebegin "Starting apache2"
|
|
[ -f /var/log/apache2/ssl_scache ] && rm /var/log/apache2/ssl_scache
|
|
|
|
start-stop-daemon --start --exec ${APACHE2} -- ${APACHE2_OPTS} -k start
|
|
eend $?
|
|
}
|
|
|
|
stop() {
|
|
checkconfig || return 1
|
|
ebegin "Stopping apache2"
|
|
start-stop-daemon --stop --retry -TERM/5/-KILL/5 --exec ${APACHE2} --pidfile /var/run/apache2.pid
|
|
eend $?
|
|
}
|
|
|
|
reload() {
|
|
RELOAD_TYPE="${RELOAD_TYPE:-graceful}"
|
|
|
|
checkconfig || return 1
|
|
if [ "${RELOAD_TYPE}" = "restart" ]; then
|
|
ebegin "Restarting apache2"
|
|
start-stop-daemon --stop --oknodo --signal HUP --exec ${APACHE2} --pidfile /var/run/apache2.pid
|
|
eend $?
|
|
elif [ "${RELOAD_TYPE}" = "graceful" ]; then
|
|
ebegin "Gracefully restarting apache2"
|
|
start-stop-daemon --stop --oknodo --signal USR1 --exec ${APACHE2} --pidfile /var/run/apache2.pid
|
|
eend $?
|
|
else
|
|
eerror "${RELOAD_TYPE} is not a valid RELOAD_TYPE. Please edit /etc/conf.d/apache2"
|
|
fi
|
|
}
|
|
|
|
graceful() {
|
|
checkconfig || return 1
|
|
ebegin "Gracefully restarting apache2"
|
|
start-stop-daemon --stop --signal USR1 --exec ${APACHE2} --pidfile /var/run/apache2.pid
|
|
eend $?
|
|
}
|
|
|
|
gracefulstop() {
|
|
checkconfig || return 1
|
|
|
|
# zap!
|
|
if service_started "${myservice}"; then
|
|
mark_service_stopped "${myservice}"
|
|
fi
|
|
|
|
ebegin "Gracefully stopping apache2"
|
|
# 28 is SIGWINCH
|
|
start-stop-daemon --stop --signal 28 --exec ${APACHE2} --pidfile /var/run/apache2.pid
|
|
eend $?
|
|
}
|
|
|
|
modules() {
|
|
checkconfig || return 1
|
|
|
|
${APACHE2} ${APACHE2_OPTS} -M 2>&1
|
|
}
|
|
|
|
status() {
|
|
LYNX="${LYNX:-lynx -dump}"
|
|
STATUSURL="${STATUSURL:-http://localhost/server-status}"
|
|
|
|
${LYNX} ${STATUSURL} | awk ' /process$/ { print; exit } { print } '
|
|
}
|
|
|
|
fullstatus() {
|
|
LYNX="${LYNX:-lynx -dump}"
|
|
STATUSURL="${STATUSURL:-http://localhost/server-status}"
|
|
|
|
${LYNX} ${STATUSURL}
|
|
}
|