From a20443c285dabdec8d2ee740500c62e31ad90c7b Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 23 Apr 2015 12:43:52 +0200 Subject: Implement apache service --- etc/apachectl | 170 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ etc/httpd.conf | 61 +++++++++++++++++++++ 2 files changed, 231 insertions(+) create mode 100755 etc/apachectl create mode 100644 etc/httpd.conf (limited to 'etc') diff --git a/etc/apachectl b/etc/apachectl new file mode 100755 index 0000000..d9c1ee9 --- /dev/null +++ b/etc/apachectl @@ -0,0 +1,170 @@ +#!/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 + +ARGV="$@" +# +# |||||||||||||||||||| START CONFIGURATION SECTION |||||||||||||||||||| +# -------------------- -------------------- + +PORT=7180 +LOG_LEVEL=trace1 +ADMIN_EMAIL=admin@cppget.org + +# |||||||||||||||||||| END CONFIGURATION SECTION ||||||||||||||||||||||| + +PROJECT_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )/.. + +site_config="$PROJECT_DIR/etc" +workspace="$PROJECT_DIR/var" +www="$PROJECT_DIR/www" + +mkdir -p "$workspace" + +# the path to your httpd binary, including options if necessary + +HTTPD="/usr/sbin/httpd -d $workspace -f $site_config/httpd.conf" + +# 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" + +# 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) + $HTTPD -C "Listen $PORT" -C "ServerName cppget.org:$PORT" \ + -C "DocumentRoot $www/htdocs" -C "CoreDumpDirectory $workspace" \ + -C "PidFile $workspace/httpd.pid" \ + -C "LogLevel $LOG_LEVEL" \ + -C "LoadModule search_srv $PROJECT_DIR/libbrep.so" \ + -C "LoadModule view_srv $PROJECT_DIR/libbrep.so" \ + -C "ServerAdmin $ADMIN_EMAIL" \ + -k $ARGV + + ERROR=$? + ;; +stop|restart|graceful) + $HTTPD -C "ServerName cppget.org:$PORT" \ + -C "PidFile $workspace/httpd.pid" -k $ARGV + ERROR=$? + ;; +startssl|sslstart|start-SSL) + $HTTPD -k start -DSSL + ERROR=$? + ;; +configtest) + $HTTPD -t + ERROR=$? + ;; +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. +# diff --git a/etc/httpd.conf b/etc/httpd.conf new file mode 100644 index 0000000..95b887d --- /dev/null +++ b/etc/httpd.conf @@ -0,0 +1,61 @@ +User apache +Group apache + +ErrorLog error_log +#ErrorLog "|/usr/sbin/rotatelogs /Users/karen/projects/brep/var/error_log.%Y%m%d 86400" + +ErrorLogFormat "[%t] [%l] [%m] %M" + +Timeout 60 + +KeepAlive On +KeepAliveTimeout 3 + +ThreadLimit 1000 +ServerLimit 2 +StartServers 1 +MaxClients 1000 +MinSpareThreads 400 +MaxSpareThreads 600 +ThreadsPerChild 500 +MaxRequestsPerChild 0 + +LoadModule mpm_worker_module /usr/lib64/httpd/modules/mod_mpm_worker.so +LoadModule unixd_module /usr/lib64/httpd/modules/mod_unixd.so +LoadModule filter_module /usr/lib64/httpd/modules/mod_filter.so +LoadModule access_compat_module /usr/lib64/httpd/modules/mod_access_compat.so +LoadModule authn_core_module /usr/lib64/httpd/modules/mod_authn_core.so +LoadModule authz_core_module /usr/lib64/httpd/modules/mod_authz_core.so +LoadModule status_module /usr/lib64/httpd/modules/mod_status.so +LoadModule mime_module /usr/lib64/httpd/modules/mod_mime.so +LoadModule deflate_module /usr/lib64/httpd/modules/mod_deflate.so +LoadModule authz_host_module /usr/lib64/httpd/modules/mod_authz_host.so +LoadModule expires_module /usr/lib64/httpd/modules/mod_expires.so +LoadModule dir_module /usr/lib64/httpd/modules/mod_dir.so + +TypesConfig /etc/mime.types + + + SetHandler search + + + + SetHandler view + + +DirectoryIndex index.html + +ExtendedStatus On + + + SetHandler server-status + Order deny,allow + Deny from all + Allow from 127.0.0 + Allow from localhost + + + + Options FollowSymLinks + AllowOverride None + -- cgit v1.1