summaryrefslogtreecommitdiff
path: root/support/apachectl.in
diff options
context:
space:
mode:
authorRyan Bloom <rbb@apache.org>2000-10-07 19:54:23 +0000
committerRyan Bloom <rbb@apache.org>2000-10-07 19:54:23 +0000
commit41fef5949d9f201cf3839f7869020644d578797c (patch)
tree4183996577482dc0d38a75833ffb0ee1905afe76 /support/apachectl.in
parentaa6cec8a2ac0d02b3836417e1bb1e330f084cb04 (diff)
downloadhttpd-41fef5949d9f201cf3839f7869020644d578797c.tar.gz
Use autoconf to substitute the proper values into apachectl, and install
it when we install everything else. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86436 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'support/apachectl.in')
-rw-r--r--support/apachectl.in234
1 files changed, 234 insertions, 0 deletions
diff --git a/support/apachectl.in b/support/apachectl.in
new file mode 100644
index 0000000000..6f9bc6f7b5
--- /dev/null
+++ b/support/apachectl.in
@@ -0,0 +1,234 @@
+#!/bin/sh
+#
+# Copyright (c) 2000 The Apache Software Foundation.
+# See license at the end of this file.
+#
+# Apache control script designed to allow an easy command line interface
+# to controlling Apache. Written by Marc Slemko, 1997/08/23
+#
+# The exit codes returned are:
+# 0 - operation completed successfully
+# 1 -
+# 2 - usage error
+# 3 - httpd could not be started
+# 4 - httpd could not be stopped
+# 5 - httpd could not be started during a restart
+# 6 - httpd could not be restarted during a restart
+# 7 - httpd could not be restarted during a graceful restart
+# 8 - configuration syntax error
+#
+# When multiple arguments are given, only the error from the _last_
+# one is reported. Run "apachectl help" for usage info
+#
+#
+# |||||||||||||||||||| START CONFIGURATION SECTION ||||||||||||||||||||
+# -------------------- --------------------
+#
+# the path to your PID file
+PIDFILE=@prefix@/logs/httpd.pid
+#
+# the path to your httpd binary, including options if necessary
+HTTPD='@prefix@/bin/httpd'
+#
+# a command that outputs a formatted text version of the HTML at the
+# url given on the command line. Designed for lynx, however other
+# programs may work.
+LYNX="lynx -dump"
+#
+# the URL to your server's mod_status status page. If you do not
+# have one, then status and fullstatus will not work.
+STATUSURL="http://localhost:@PORT@/server-status"
+#
+# -------------------- --------------------
+# |||||||||||||||||||| END CONFIGURATION SECTION ||||||||||||||||||||
+
+ERROR=0
+ARGV="$@"
+if [ "x$ARGV" = "x" ] ; then
+ ARGS="help"
+fi
+
+for ARG in $@ $ARGS
+do
+ # check for pidfile
+ if [ -f $PIDFILE ] ; then
+ PID=`cat $PIDFILE`
+ if [ "x$PID" != "x" ] && kill -0 $PID 2>/dev/null ; then
+ STATUS="httpd (pid $PID) running"
+ RUNNING=1
+ else
+ STATUS="httpd (pid $PID?) not running"
+ RUNNING=0
+ fi
+ else
+ STATUS="httpd (no pid file) not running"
+ RUNNING=0
+ fi
+
+ case $ARG in
+ start)
+ if [ $RUNNING -eq 1 ]; then
+ echo "$0 $ARG: httpd (pid $PID) already running"
+ continue
+ fi
+ if $HTTPD ; then
+ echo "$0 $ARG: httpd started"
+ else
+ echo "$0 $ARG: httpd could not be started"
+ ERROR=3
+ fi
+ ;;
+ stop)
+ if [ $RUNNING -eq 0 ]; then
+ echo "$0 $ARG: $STATUS"
+ continue
+ fi
+ if kill $PID ; then
+ echo "$0 $ARG: httpd stopped"
+ else
+ echo "$0 $ARG: httpd could not be stopped"
+ ERROR=4
+ fi
+ ;;
+ restart)
+ if [ $RUNNING -eq 0 ]; then
+ echo "$0 $ARG: httpd not running, trying to start"
+ if $HTTPD ; then
+ echo "$0 $ARG: httpd started"
+ else
+ echo "$0 $ARG: httpd could not be started"
+ ERROR=5
+ fi
+ else
+ if $HTTPD -t >/dev/null 2>&1; then
+ if kill -HUP $PID ; then
+ echo "$0 $ARG: httpd restarted"
+ else
+ echo "$0 $ARG: httpd could not be restarted"
+ ERROR=6
+ fi
+ else
+ echo "$0 $ARG: configuration broken, ignoring restart"
+ echo "$0 $ARG: (run 'apachectl configtest' for details)"
+ ERROR=6
+ fi
+ fi
+ ;;
+ graceful)
+ if [ $RUNNING -eq 0 ]; then
+ echo "$0 $ARG: httpd not running, trying to start"
+ if $HTTPD ; then
+ echo "$0 $ARG: httpd started"
+ else
+ echo "$0 $ARG: httpd could not be started"
+ ERROR=5
+ fi
+ else
+ if $HTTPD -t >/dev/null 2>&1; then
+ if kill -WINCH $PID ; then
+ echo "$0 $ARG: httpd gracefully restarted"
+ else
+ echo "$0 $ARG: httpd could not be restarted"
+ ERROR=7
+ fi
+ else
+ echo "$0 $ARG: configuration broken, ignoring restart"
+ echo "$0 $ARG: (run 'apachectl configtest' for details)"
+ ERROR=7
+ fi
+ fi
+ ;;
+ status)
+ $LYNX $STATUSURL | awk ' /process$/ { print; exit } { print } '
+ ;;
+ fullstatus)
+ $LYNX $STATUSURL
+ ;;
+ configtest)
+ if $HTTPD -t; then
+ :
+ else
+ ERROR=8
+ fi
+ ;;
+ *)
+ echo "usage: $0 (start|stop|restart|fullstatus|status|graceful|configtest|help)"
+ cat <<EOF
+
+start - start httpd
+stop - stop httpd
+restart - restart httpd if running by sending a SIGHUP or start if
+ not running
+fullstatus - dump a full status screen; requires lynx and mod_status enabled
+status - dump a short status screen; requires lynx and mod_status enabled
+graceful - do a graceful restart by sending a SIGWINCH or start if not running
+configtest - do a configuration syntax test
+help - this screen
+
+EOF
+ ERROR=2
+ ;;
+
+ esac
+
+done
+
+exit $ERROR
+
+# ====================================================================
+# The Apache Software License, Version 1.1
+#
+# Copyright (c) 2000 The Apache Software Foundation. All rights
+# reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+#
+# 3. The end-user documentation included with the redistribution,
+# if any, must include the following acknowledgment:
+# "This product includes software developed by the
+# Apache Software Foundation (http://www.apache.org/)."
+# Alternately, this acknowledgment may appear in the software itself,
+# if and wherever such third-party acknowledgments normally appear.
+#
+# 4. The names "Apache" and "Apache Software Foundation" must
+# not be used to endorse or promote products derived from this
+# software without prior written permission. For written
+# permission, please contact apache@apache.org.
+#
+# 5. Products derived from this software may not be called "Apache",
+# nor may "Apache" appear in their name, without prior written
+# permission of the Apache Software Foundation.
+#
+# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+# DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+# ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+# ====================================================================
+#
+# This software consists of voluntary contributions made by many
+# individuals on behalf of the Apache Software Foundation. For more
+# information on the Apache Software Foundation, please see
+# <http://www.apache.org/>.
+#
+# Portions of this software are based upon public domain software
+# originally written at the National Center for Supercomputing Applications,
+# University of Illinois, Urbana-Champaign.
+#