- add supervisor restart handler
- add apache tasklist - with hotfixes for hashseed randomization
This commit is contained in:
parent
0df91f6a22
commit
3652b82b24
5 changed files with 197 additions and 1 deletions
127
files/hotfix/httpd/httpd.init
Executable file
127
files/hotfix/httpd/httpd.init
Executable file
|
@ -0,0 +1,127 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
# httpd Startup script for the Apache HTTP Server
|
||||
#
|
||||
# chkconfig: - 85 15
|
||||
# description: The Apache HTTP Server is an efficient and extensible \
|
||||
# server implementing the current HTTP standards.
|
||||
# processname: httpd
|
||||
# config: /etc/httpd/conf/httpd.conf
|
||||
# config: /etc/sysconfig/httpd
|
||||
# pidfile: /var/run/httpd/httpd.pid
|
||||
#
|
||||
### BEGIN INIT INFO
|
||||
# Provides: httpd
|
||||
# Required-Start: $local_fs $remote_fs $network $named
|
||||
# Required-Stop: $local_fs $remote_fs $network
|
||||
# Should-Start: distcache
|
||||
# Short-Description: start and stop Apache HTTP Server
|
||||
# Description: The Apache HTTP Server is an extensible server
|
||||
# implementing the current HTTP standards.
|
||||
### END INIT INFO
|
||||
|
||||
# Source function library.
|
||||
. /etc/rc.d/init.d/functions
|
||||
|
||||
if [ -f /etc/sysconfig/httpd ]; then
|
||||
. /etc/sysconfig/httpd
|
||||
fi
|
||||
|
||||
# Allow environment variables to be set in /etc/sysconfig/httpd
|
||||
eval $ENVSET
|
||||
|
||||
# Start httpd in the C locale by default.
|
||||
HTTPD_LANG=${HTTPD_LANG-"C"}
|
||||
|
||||
# This will prevent initlog from swallowing up a pass-phrase prompt if
|
||||
# mod_ssl needs a pass-phrase from the user.
|
||||
INITLOG_ARGS=""
|
||||
|
||||
# Set HTTPD=/usr/sbin/httpd.worker in /etc/sysconfig/httpd to use a server
|
||||
# with the thread-based "worker" MPM; BE WARNED that some modules may not
|
||||
# work correctly with a thread-based MPM; notably PHP will refuse to start.
|
||||
|
||||
# Path to the apachectl script, server binary, and short-form for messages.
|
||||
apachectl=/usr/sbin/apachectl
|
||||
httpd=${HTTPD-/usr/sbin/httpd}
|
||||
prog=httpd
|
||||
pidfile=${PIDFILE-/var/run/httpd/httpd.pid}
|
||||
lockfile=${LOCKFILE-/var/lock/subsys/httpd}
|
||||
RETVAL=0
|
||||
STOP_TIMEOUT=${STOP_TIMEOUT-10}
|
||||
|
||||
# The semantics of these two functions differ from the way apachectl does
|
||||
# things -- attempting to start while running is a failure, and shutdown
|
||||
# when not running is also a failure. So we just do it the way init scripts
|
||||
# are expected to behave here.
|
||||
start() {
|
||||
echo -n $"Starting $prog: "
|
||||
LANG=$HTTPD_LANG daemon --pidfile=${pidfile} $httpd $OPTIONS
|
||||
RETVAL=$?
|
||||
echo
|
||||
[ $RETVAL = 0 ] && touch ${lockfile}
|
||||
return $RETVAL
|
||||
}
|
||||
|
||||
# When stopping httpd, a delay (of default 10 second) is required
|
||||
# before SIGKILLing the httpd parent; this gives enough time for the
|
||||
# httpd parent to SIGKILL any errant children.
|
||||
stop() {
|
||||
echo -n $"Stopping $prog: "
|
||||
killproc -p ${pidfile} -d ${STOP_TIMEOUT} $httpd
|
||||
RETVAL=$?
|
||||
echo
|
||||
[ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile}
|
||||
}
|
||||
reload() {
|
||||
echo -n $"Reloading $prog: "
|
||||
if ! LANG=$HTTPD_LANG $httpd $OPTIONS -t >&/dev/null; then
|
||||
RETVAL=6
|
||||
echo $"not reloading due to configuration syntax error"
|
||||
failure $"not reloading $httpd due to configuration syntax error"
|
||||
else
|
||||
# Force LSB behaviour from killproc
|
||||
LSB=1 killproc -p ${pidfile} $httpd -HUP
|
||||
RETVAL=$?
|
||||
if [ $RETVAL -eq 7 ]; then
|
||||
failure $"httpd shutdown"
|
||||
fi
|
||||
fi
|
||||
echo
|
||||
}
|
||||
|
||||
# See how we were called.
|
||||
case "$1" in
|
||||
start)
|
||||
start
|
||||
;;
|
||||
stop)
|
||||
stop
|
||||
;;
|
||||
status)
|
||||
status -p ${pidfile} $httpd
|
||||
RETVAL=$?
|
||||
;;
|
||||
restart)
|
||||
stop
|
||||
start
|
||||
;;
|
||||
condrestart|try-restart)
|
||||
if status -p ${pidfile} $httpd >&/dev/null; then
|
||||
stop
|
||||
start
|
||||
fi
|
||||
;;
|
||||
force-reload|reload)
|
||||
reload
|
||||
;;
|
||||
graceful|help|configtest|fullstatus)
|
||||
$apachectl $@
|
||||
RETVAL=$?
|
||||
;;
|
||||
*)
|
||||
echo $"Usage: $prog {start|stop|restart|condrestart|try-restart|force-reload|reload|status|fullstatus|graceful|help|configtest}"
|
||||
RETVAL=2
|
||||
esac
|
||||
|
||||
exit $RETVAL
|
34
files/hotfix/httpd/httpd.sysconfig
Normal file
34
files/hotfix/httpd/httpd.sysconfig
Normal file
|
@ -0,0 +1,34 @@
|
|||
# Configuration file for the httpd service.
|
||||
|
||||
#
|
||||
# The default processing model (MPM) is the process-based
|
||||
# 'prefork' model. A thread-based model, 'worker', is also
|
||||
# available, but does not work with some modules (such as PHP).
|
||||
# The service must be stopped before changing this variable.
|
||||
#
|
||||
#HTTPD=/usr/sbin/httpd.worker
|
||||
|
||||
#
|
||||
# To pass additional options (for instance, -D definitions) to the
|
||||
# httpd binary at startup, set OPTIONS here.
|
||||
#
|
||||
#OPTIONS=
|
||||
|
||||
#
|
||||
# By default, the httpd process is started in the C locale; to
|
||||
# change the locale in which the server runs, the HTTPD_LANG
|
||||
# variable can be set.
|
||||
#
|
||||
#HTTPD_LANG=C
|
||||
|
||||
#
|
||||
# By default, the httpd process will create the file
|
||||
# /var/run/httpd/httpd.pid in which it records its process
|
||||
# identification number when it starts. If an alternate location is
|
||||
# specified in httpd.conf (via the PidFile directive), the new
|
||||
# location needs to be reported in the PIDFILE.
|
||||
#
|
||||
#PIDFILE=/var/run/httpd/httpd.pid
|
||||
|
||||
# Mitigate Python hash table collisions
|
||||
ENVSET='export PYTHONHASHSEED=random'
|
Loading…
Add table
Add a link
Reference in a new issue