summaryrefslogtreecommitdiffstats
path: root/httpd.init
diff options
context:
space:
mode:
Diffstat (limited to 'httpd.init')
-rwxr-xr-xhttpd.init123
1 files changed, 123 insertions, 0 deletions
diff --git a/httpd.init b/httpd.init
new file mode 100755
index 0000000..597eeb8
--- /dev/null
+++ b/httpd.init
@@ -0,0 +1,123 @@
+#!/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
+
+# 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
+
+# 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 >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 10 $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