From e28ab8f48c891c03cf4b3a8ed88b98d38a561960 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Tue, 8 Dec 2015 13:45:08 +0200 Subject: Separate brep module configuration from Apache server configuration --- etc/dev/apachectl | 228 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 228 insertions(+) create mode 100755 etc/dev/apachectl (limited to 'etc/dev/apachectl') diff --git a/etc/dev/apachectl b/etc/dev/apachectl new file mode 100755 index 0000000..4d45570 --- /dev/null +++ b/etc/dev/apachectl @@ -0,0 +1,228 @@ +#!/bin/sh +# +# Copyright (c) 2000-2002 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: +# XXX this doc is no longer correct now that the interesting +# XXX functions are handled by httpd +# 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. +# + +. `dirname $0`/config + +ARGV="$@" + +export AP_PORT +export AP_GLOBAL_SERVER_NAME +export AP_BREP_SERVER_NAME +export AP_ROOT +export AP_ADMIN_EMAIL +export AP_LOG_LEVEL +export AP_DB_HOST +export AP_DB_PORT +export AP_MODULE_DIR +export AP_WWW_DIR +export AP_CONFIG_DIR +export AP_LOG_DIR +export AP_WORKSPACE_DIR +export AP_REPOSITORY_DIR + +if [ -n "$AP_LIB_DIRS" ] ; then + export LD_LIBRARY_PATH=$AP_LIB_DIRS:$LD_LIBRARY_PATH +fi + +mkdir -p "$AP_WORKSPACE_DIR" +mkdir -p "$AP_LOG_DIR" +mkdir -p "$AP_REPOSITORY_DIR" + +cat "$AP_CONFIG_DIR/../brep.conf" | \ +sed -e 's%modules\(/mod_brep.so\)%${AP_MODULE_DIR}\1%g' \ + -e 's%/pkg/%${AP_ROOT}%g' \ + -e 's%^\(brep-db-port\s*\).*%\1${AP_DB_PORT}%g' \ + -e 's%^\(brep-db-host\s*\).*%\1${AP_DB_HOST}%g' \ + -e 's%^#\(brep-conf\s*\)/path/to%\1${AP_CONFIG_DIR}%g' \ + -e 's%/usr/share/brep/static%${AP_WWW_DIR}%g' \ + -e 's%^#\(AliasMatch.*\)/path/to/repo%\1${AP_REPOSITORY_DIR}%g' \ +> "$AP_CONFIG_DIR/brep.conf" + +# The path to your httpd binary, including options if necessary. +# +HTTPD="/usr/sbin/httpd -f $AP_CONFIG_DIR/httpd.conf" + +# The 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:$AP_PORT/server-status" + +# Set this variable to a command that increases the maximum number of file +# descriptors allowed per child process. This is critical for configurations +# that use many file descriptors, such as mass vhosting, or a multithreaded +# server. +# +ULIMIT_MAX_FILES="ulimit -S -n `ulimit -H -n`" +# -------------------- -------------------- +# |||||||||||||||||||| END CONFIGURATION SECTION |||||||||||||||||||| + +# Set the maximum number of file descriptors allowed per child process. +# +if [ "x$ULIMIT_MAX_FILES" != "x" ] ; then + $ULIMIT_MAX_FILES +fi + +ERROR=0 +if [ "x$ARGV" = "x" ] ; then + ARGV="-h" +fi + +case $ARGV in + start) + $LYNX $STATUSURL 1>/dev/null 2>&1 + + if test $? -eq 0; then + echo "Apache server already running" + ERROR=$? + else + echo "Apache server starting ..." + $HTTPD -k $ARGV + ERROR=$? + + if test $ERROR -eq 0; then + $LYNX $STATUSURL 1>/dev/null 2>&1 + ERROR=$? + fi + + if test $ERROR -eq 0; then + echo "server started" + else + echo "server starting failed" + fi + fi + ;; + +stop) + $LYNX $STATUSURL 1>/dev/null 2>&1 + + if test $? -eq 0; then + echo "Apache server stopping ..." + $HTTPD -k $ARGV + ERROR=$? + + if test $ERROR -eq 0; then + echo "server stopped" + else + echo "server stopping failed" + fi + else + echo "Apache server not running" + ERROR=$? + fi + ;; + + restart|graceful) + $HTTPD -k $ARGV + ERROR=$? + ;; + + startssl|sslstart|start-SSL) + $HTTPD -k start -DSSL + ERROR=$? + ;; + + configtest) + $HTTPD -t + ERROR=$? + ;; + + status) + echo "checking Apache server status ..." + $LYNX $STATUSURL | awk ' /process$/ { print; exit } { print } ' + ;; + + fullstatus) + $LYNX $STATUSURL + ;; + + *) + $HTTPD $ARGV + ERROR=$? +esac + +exit $ERROR + +# ==================================================================== +# The Apache Software License, Version 1.1 +# +# Copyright (c) 2000-2003 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 +# . +# +# Portions of this software are based upon public domain software +# originally written at the National Center for Supercomputing Applications, +# University of Illinois, Urbana-Champaign. +# -- cgit v1.1