Centos 6.4 changed the NSS library to reject X.509 certificates which are signed with MD5: "[VALID] The upstream Mozilla NSS disabled support for MD5 hash signed certificates in the 3.14 release, which was added to CentOS 6.4. More details and workarounds can be found in this Fedora bugzilla report https://bugzilla.redhat.com/show_bug.cgi?id=895513" This change can be reverted when the world has changed from MD5 to something else :)
131 lines
3.4 KiB
Bash
Executable file
131 lines
3.4 KiB
Bash
Executable file
#!/bin/bash
|
|
#
|
|
# httpsd Startup script for the Apache HTTP Server
|
|
#
|
|
# chkconfig: - 85 15
|
|
# description: Apache is a World Wide Web server. It is used to serve \
|
|
# HTML files and CGI.
|
|
# processname: httpsd
|
|
# config: /etc/httpd/conf/httpsd.conf
|
|
# config: /etc/sysconfig/httpsd
|
|
# pidfile: /var/run/httpsd.pid
|
|
|
|
# Source function library.
|
|
. /etc/rc.d/init.d/functions
|
|
|
|
if [ -f /etc/sysconfig/httpsd ]; then
|
|
. /etc/sysconfig/httpsd
|
|
fi
|
|
OPTIONS="${OPTIONS} -f conf/httpsd.conf"
|
|
|
|
# Start httpd in the C locale by default.
|
|
HTTPSD_LANG=${HTTPSD_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 HTTPSD=/usr/sbin/httpd.worker in /etc/sysconfig/httpsd 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
|
|
httpsd=${HTTPSD-/usr/sbin/httpsd}
|
|
prog=httpsd
|
|
if [ -d /var/run/httpd ]; then
|
|
pidfile=${PIDFILE-/var/run/httpd/httpsd.pid}
|
|
else
|
|
pidfile=${PIDFILE-/var/run/httpsd.pid}
|
|
fi
|
|
lockfile=${LOCKFILE-/var/lock/subsys/httpsd}
|
|
RETVAL=0
|
|
|
|
# check for 1.3 configuration
|
|
check13 () {
|
|
CONFFILE=/etc/httpd/conf/httpsd.conf
|
|
GONE="(ServerType|BindAddress|Port|AddModule|ClearModuleList|"
|
|
GONE="${GONE}AgentLog|RefererLog|RefererIgnore|FancyIndexing|"
|
|
GONE="${GONE}AccessConfig|ResourceConfig)"
|
|
if LANG=C grep -Eiq "^[[:space:]]*($GONE)" $CONFFILE; then
|
|
echo
|
|
echo 1>&2 " Apache 1.3 configuration directives found"
|
|
echo 1>&2 " please read /usr/share/doc/httpd-2.2.3/migration.html"
|
|
failure "Apache 1.3 config directives test"
|
|
echo
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
# 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: "
|
|
check13 || exit 1
|
|
NSS_HASH_ALG_SUPPORT=+MD5 LANG=$HTTPSD_LANG daemon --pidfile=${pidfile} $httpsd $OPTIONS
|
|
RETVAL=$?
|
|
echo
|
|
[ $RETVAL = 0 ] && touch ${lockfile}
|
|
return $RETVAL
|
|
}
|
|
|
|
# When stopping httpsd a delay of >10 second is required before SIGKILLing the
|
|
# httpsd parent; this gives enough time for the httpsd parent to SIGKILL any
|
|
# errant children.
|
|
stop() {
|
|
echo -n $"Stopping $prog: "
|
|
killproc -p ${pidfile} -d 10 $httpsd
|
|
RETVAL=$?
|
|
echo
|
|
[ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile}
|
|
}
|
|
reload() {
|
|
echo -n $"Reloading $prog: "
|
|
if ! LANG=$HTTPSD_LANG $httpsd $OPTIONS -t >&/dev/null; then
|
|
RETVAL=$?
|
|
echo $"not reloading due to configuration syntax error"
|
|
failure $"not reloading $httpsd due to configuration syntax error"
|
|
else
|
|
killproc -p ${pidfile} $httpsd -HUP
|
|
RETVAL=$?
|
|
fi
|
|
echo
|
|
}
|
|
|
|
# See how we were called.
|
|
case "$1" in
|
|
start)
|
|
start
|
|
;;
|
|
stop)
|
|
stop
|
|
;;
|
|
status)
|
|
status -p ${pidfile} $httpsd
|
|
RETVAL=$?
|
|
;;
|
|
restart)
|
|
stop
|
|
start
|
|
;;
|
|
condrestart)
|
|
if [ -f ${pidfile} ] ; then
|
|
stop
|
|
start
|
|
fi
|
|
;;
|
|
reload)
|
|
reload
|
|
;;
|
|
graceful|help|configtest|fullstatus)
|
|
$apachectl $@
|
|
RETVAL=$?
|
|
;;
|
|
*)
|
|
echo $"Usage: $prog {start|stop|restart|condrestart|reload|status|fullstatus|graceful|help|configtest}"
|
|
exit 1
|
|
esac
|
|
|
|
exit $RETVAL
|