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/apachectl | 212 ------------------------------------ etc/brep | 31 ------ etc/brep.conf | 49 +++++++++ etc/config | 40 ------- etc/dev/apachectl | 228 +++++++++++++++++++++++++++++++++++++++ etc/dev/brep | 31 ++++++ etc/dev/brep-site.conf | 9 ++ etc/dev/config | 32 ++++++ etc/dev/httpd.conf | 51 +++++++++ etc/dev/pgctl | 167 ++++++++++++++++++++++++++++ etc/httpd.conf | 113 ------------------- etc/loader | 18 ---- etc/package-details.conf | 15 --- etc/package-search.conf | 13 --- etc/package-version-details.conf | 14 --- etc/pgctl | 167 ---------------------------- etc/repository-details.conf | 7 -- 17 files changed, 567 insertions(+), 630 deletions(-) delete mode 100755 etc/apachectl delete mode 100755 etc/brep create mode 100644 etc/brep.conf delete mode 100644 etc/config create mode 100755 etc/dev/apachectl create mode 100755 etc/dev/brep create mode 100644 etc/dev/brep-site.conf create mode 100644 etc/dev/config create mode 100644 etc/dev/httpd.conf create mode 100755 etc/dev/pgctl delete mode 100644 etc/httpd.conf delete mode 100755 etc/loader delete mode 100644 etc/package-details.conf delete mode 100644 etc/package-search.conf delete mode 100644 etc/package-version-details.conf delete mode 100755 etc/pgctl delete mode 100644 etc/repository-details.conf (limited to 'etc') diff --git a/etc/apachectl b/etc/apachectl deleted file mode 100755 index 4c67c1f..0000000 --- a/etc/apachectl +++ /dev/null @@ -1,212 +0,0 @@ -#!/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_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_WORKSPACE_DIR -export AP_REPOSITORY_DIR - -if test -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" - -# the path to your httpd binary, including options if necessary - -HTTPD="/usr/sbin/httpd -d $AP_LOG_DIR -f $AP_CONFIG_DIR/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:$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. -# diff --git a/etc/brep b/etc/brep deleted file mode 100755 index 3ec448b..0000000 --- a/etc/brep +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh -# file : etc/brep -# copyright : Copyright (c) 2014-2015 Code Synthesis Ltd -# license : MIT; see accompanying LICENSE file -# -# Designed to simplify controlling brep services. - -CMD="$1" -SCRIPT_DIR=`dirname $0` - -case $CMD in - start|stop|status) ;; - *) - echo "Usage: brep (start|stop|status)" - exit 1 - ;; -esac - -case $CMD in - start) - $SCRIPT_DIR/pgctl start && $SCRIPT_DIR/apachectl start - ;; - stop) - $SCRIPT_DIR/apachectl stop - $SCRIPT_DIR/pgctl stop - ;; - status) - $SCRIPT_DIR/pgctl status - $SCRIPT_DIR/apachectl status - ;; -esac diff --git a/etc/brep.conf b/etc/brep.conf new file mode 100644 index 0000000..6f806e8 --- /dev/null +++ b/etc/brep.conf @@ -0,0 +1,49 @@ +# The brep.conf file can be included once into Apache configuration file in +# the section or in the main server context. +# +LoadModule brep_module modules/mod_brep.so +LoadModule alias_module modules/mod_alias.so + +# Alternatively, if loading the modules in another place, make sure they +# are loaded. +# + + Error "mod_brep is not loaded" + + + + Error "mod_alias is not loaded" + + +# To use a repository root other than /pkg/, replace all occurrences of +# /pkg/ with the desired alternative root (use '/' for webserver root). +# +brep-root /pkg/ +brep-db-host localhost +brep-db-port 5432 +brep-search-results 10 +brep-pager-pages 5 +brep-description-len 500 +brep-changes-len 5000 +brep-log-verbosity 0 + +# To override brep module options place them into the separate configuration +# file, suppressing the "brep-" prefix. +# +#brep-conf /path/to/brep-site.conf + +SetHandler brep + +# Location of the brep static content (CSS files). +# +Alias /pkg/@/ /usr/share/brep/static/ + + + Require all granted + + +# Serve repository files from the repository root path. For example: +# +# http://example.org/pkg/1/... -> /path/to/repo/1/... +# +#AliasMatch ^/pkg/(\d+)/(.+) /path/to/repo/$1/$2 diff --git a/etc/config b/etc/config deleted file mode 100644 index c7edd56..0000000 --- a/etc/config +++ /dev/null @@ -1,40 +0,0 @@ -# Basic settings (used in this file only) -# -SCRIPT_DIR=`dirname $0` -CONFIG_DIR=`cd $SCRIPT_DIR; pwd` -PROJECT_DIR="$CONFIG_DIR/.." -WORKSPACE_DIR="$PROJECT_DIR/var" -LIB_DIRS="$PROJECT_DIR/brep:$PROJECT_DIR/../libbutl/butl:$PROJECT_DIR/../libbpkg/bpkg" - -# PostgreSQL settings (used in pgctl) -# -PG_PORT=8432 -PG_SCHEMA_DIR="$PROJECT_DIR/brep" -PG_DATA_DIR="$WORKSPACE_DIR/lib/pgsql" -PG_LOG_DIR="$WORKSPACE_DIR/log/pgsql" -PG_WORKSPACE_DIR="$WORKSPACE_DIR/run/pgsql" - -# Apache settings (used in apachectl) -# -AP_PORT=8080 -AP_SERVER_NAME="cppget.org:$AP_PORT" -AP_ROOT="" # Value examples: "", "/foo", "/foo/bar". -AP_ADMIN_EMAIL=admin@cppget.org -AP_LOG_LEVEL=trace1 -AP_DB_HOST="$PG_WORKSPACE_DIR" -AP_DB_PORT=$PG_PORT -AP_LIB_DIRS="$LIB_DIRS" -AP_MODULE_DIR="$PROJECT_DIR/brep" -AP_WWW_DIR="$PROJECT_DIR/www" -AP_CONFIG_DIR="$CONFIG_DIR" -AP_LOG_DIR="$WORKSPACE_DIR/log/httpd" -AP_WORKSPACE_DIR="$WORKSPACE_DIR/run/httpd" -AP_REPOSITORY_DIR="$WORKSPACE_DIR/www" - -# brep-loader settings (used in loader) -# -LD_DB_HOST="$PG_WORKSPACE_DIR" -LD_DB_PORT=$PG_PORT -LD_REPOSITORIES="$CONFIG_DIR/repositories.conf" -LD_LIB_DIRS="$LIB_DIRS" -LD_EXE_DIRS="$PROJECT_DIR/loader" 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. +# diff --git a/etc/dev/brep b/etc/dev/brep new file mode 100755 index 0000000..3ec448b --- /dev/null +++ b/etc/dev/brep @@ -0,0 +1,31 @@ +#!/bin/sh +# file : etc/brep +# copyright : Copyright (c) 2014-2015 Code Synthesis Ltd +# license : MIT; see accompanying LICENSE file +# +# Designed to simplify controlling brep services. + +CMD="$1" +SCRIPT_DIR=`dirname $0` + +case $CMD in + start|stop|status) ;; + *) + echo "Usage: brep (start|stop|status)" + exit 1 + ;; +esac + +case $CMD in + start) + $SCRIPT_DIR/pgctl start && $SCRIPT_DIR/apachectl start + ;; + stop) + $SCRIPT_DIR/apachectl stop + $SCRIPT_DIR/pgctl stop + ;; + status) + $SCRIPT_DIR/pgctl status + $SCRIPT_DIR/apachectl status + ;; +esac diff --git a/etc/dev/brep-site.conf b/etc/dev/brep-site.conf new file mode 100644 index 0000000..09f020c --- /dev/null +++ b/etc/dev/brep-site.conf @@ -0,0 +1,9 @@ +# file : etc/brep-site.conf +# copyright : Copyright (c) 2014-2015 Code Synthesis Ltd +# license : MIT; see accompanying LICENSE file +# + +search-results 2 +description-len 100 +changes-len 100 +log-verbosity 1 diff --git a/etc/dev/config b/etc/dev/config new file mode 100644 index 0000000..cdd0b53 --- /dev/null +++ b/etc/dev/config @@ -0,0 +1,32 @@ +# Basic settings (used in this file only) +# +SCRIPT_DIR=`dirname $0` +CONFIG_DIR=`cd $SCRIPT_DIR; pwd` +PROJECT_DIR="$CONFIG_DIR/../.." +WORKSPACE_DIR="$PROJECT_DIR/var" +LIB_DIRS="$PROJECT_DIR/brep:$PROJECT_DIR/../libbutl/butl:$PROJECT_DIR/../libbpkg/bpkg" + +# PostgreSQL settings (used in pgctl) +# +PG_PORT=8432 +PG_SCHEMA_DIR="$PROJECT_DIR/brep" +PG_DATA_DIR="$WORKSPACE_DIR/lib/pgsql" +PG_LOG_DIR="$WORKSPACE_DIR/log/pgsql" +PG_WORKSPACE_DIR="$WORKSPACE_DIR/run/pgsql" + +# Apache settings (used in apachectl) +# +AP_PORT=8080 +AP_GLOBAL_SERVER_NAME="localhost" +AP_BREP_SERVER_NAME="dev.cppget.org" +AP_ROOT="/" # Value examples: "/", "/foo/", "/foo/bar/". +AP_LOG_LEVEL=trace1 +AP_DB_HOST="$PG_WORKSPACE_DIR" +AP_DB_PORT=$PG_PORT +AP_LIB_DIRS="$LIB_DIRS" +AP_MODULE_DIR="$PROJECT_DIR/brep" +AP_WWW_DIR="$PROJECT_DIR/www" +AP_CONFIG_DIR="$CONFIG_DIR" +AP_LOG_DIR="$WORKSPACE_DIR/log/httpd" +AP_WORKSPACE_DIR="$WORKSPACE_DIR/run/httpd" +AP_REPOSITORY_DIR="$WORKSPACE_DIR/www" diff --git a/etc/dev/httpd.conf b/etc/dev/httpd.conf new file mode 100644 index 0000000..5943d70 --- /dev/null +++ b/etc/dev/httpd.conf @@ -0,0 +1,51 @@ +Listen ${AP_PORT} +ServerName ${AP_GLOBAL_SERVER_NAME}:${AP_PORT} + +CoreDumpDirectory "${AP_WORKSPACE_DIR}" +PidFile "${AP_WORKSPACE_DIR}/httpd.pid" + +ErrorLog "|/usr/sbin/rotatelogs ${AP_LOG_DIR}/error_log.%Y%m%d 86400" +ErrorLogFormat "[%t] [%l] [%m] %M" +LogLevel ${AP_LOG_LEVEL} + +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 modules/mod_mpm_worker.so +LoadModule unixd_module modules/mod_unixd.so +LoadModule filter_module modules/mod_filter.so +LoadModule authz_core_module modules/mod_authz_core.so +LoadModule authz_host_module modules/mod_authz_host.so +LoadModule status_module modules/mod_status.so +LoadModule mime_module modules/mod_mime.so +LoadModule deflate_module modules/mod_deflate.so + + + ServerName ${AP_GLOBAL_SERVER_NAME} + + + + ServerName ${AP_BREP_SERVER_NAME} + Include ${AP_CONFIG_DIR}/brep.conf + + +ExtendedStatus On + + + SetHandler server-status + Require local + + +TypesConfig /etc/mime.types +AddOutputFilterByType DEFLATE application/xhtml+xml +AddOutputFilterByType DEFLATE text/css diff --git a/etc/dev/pgctl b/etc/dev/pgctl new file mode 100755 index 0000000..d1f676f --- /dev/null +++ b/etc/dev/pgctl @@ -0,0 +1,167 @@ +#!/bin/sh +# file : etc/pgctl +# copyright : Copyright (c) 2014-2015 Code Synthesis Ltd +# license : MIT; see accompanying LICENSE file +# +# Designed to simplify controlling brep PostgreSQL server instance. + +. `dirname $0`/config + +CMD="$1" +shift + +SOCKET_DIR="$PG_WORKSPACE_DIR" +OUT_FILE="$PG_WORKSPACE_DIR/out" + +# Print usage description and exit. +# +case $CMD in + init|start|stop|status|connect) ;; + *) + echo "Usage: pgctl (init|start|stop|status|connect)" + exit 1 + ;; +esac + +ERROR=0 + +# Initialization includes creating PostgreSQL DB cluster, creating brep DB +# and schema. +# +if test "$CMD" = "init"; then + if test -d "$PG_DATA_DIR"; then + echo "PostgreSQL DB cluster directory $PG_DATA_DIR already exist" + else + echo "creating PostgreSQL DB cluster ..." + pg_ctl initdb -D "$PG_DATA_DIR" + ERROR=$? + + if test $ERROR -eq 0; then + echo "cluster created" + else + echo "cluster creating failed" + exit $ERROR; + fi + fi +fi + +case $CMD in + start|init) + # Start DB server if not running yet. + # + pg_ctl status -D "$PG_DATA_DIR" 1>/dev/null 2>&1 + + if test $? -eq 0; then + echo "PostgreSQL server already running" + else + if test ! -d "$PG_DATA_DIR"; then + echo "PostgreSQL DB cluster not exist; run '$0 init' first" + exit 1 + fi + + echo "PostgreSQL server starting ..." + + mkdir -p `dirname $OUT_FILE` + mkdir -p "$PG_LOG_DIR" + mkdir -p "$SOCKET_DIR" + + pg_ctl start -D "$PG_DATA_DIR" -w -o \ + "-c port=$PG_PORT -c unix_socket_directories=$SOCKET_DIR \ + -c logging_collector=on -c log_directory=$PG_LOG_DIR" \ + 1>"$OUT_FILE" 2>&1 + + ERROR=$? + + if test $ERROR -eq 0; then + echo "server started" + else + cat "$OUT_FILE" 1>&2 + echo "server starting failed" + exit $ERROR + fi + fi + ;; + + status) + echo "checking PostgreSQL server status ..." + pg_ctl status -D "$PG_DATA_DIR" + ;; + + stop) + pg_ctl status -D "$PG_DATA_DIR" 1>/dev/null 2>&1 + + if test $? -eq 0; then + echo "PostgreSQL server stopping ..." + pg_ctl stop -D "$PG_DATA_DIR" "$@" + ERROR=$? + + if test $ERROR -eq 0; then + : # pg_ctl prints "server stopped" on success + else + echo "server stopping failed" + exit $ERROR + fi + else + echo "PostgreSQL server not running" + fi + ;; + + connect) + echo "connecting to PostgreSQL server ..." + psql --host=$SOCKET_DIR --port=$PG_PORT brep + ;; +esac + +if test "$CMD" = "init"; then + # Create brep DB if not exist. + # + psql --host=$SOCKET_DIR --port=$PG_PORT -c "" brep 1>/dev/null 2>&1 + + ERROR=$? + + if test $ERROR -eq 0; then + echo "brep DB already exist" + else + if test $ERROR -eq 2; then + echo "creating brep DB ..." + createdb --host=$SOCKET_DIR --port=$PG_PORT brep + ERROR=$? + + if test $ERROR -eq 0; then + echo "brep DB created" + else + echo "brep DB creating failed" + exit $ERROR; + fi + else + echo "brep DB existence checking failed" + exit $ERROR; + fi + fi + + # Create brep DB schema if not exist. + # + psql --host=$SOCKET_DIR --port=$PG_PORT -c "select count(1) from package" \ + brep 1>/dev/null 2>&1 + + ERROR=$? + + if test $ERROR -eq 0; then + echo "brep DB schema already exist" + else + echo "creating brep DB schema ..." + + psql -v ON_ERROR_STOP=1 --host=$SOCKET_DIR --port=$PG_PORT \ + --file="$PG_SCHEMA_DIR/package.sql" brep 1>"$OUT_FILE" 2>&1 + + ERROR=$? + + if test $ERROR -eq 0; then + echo "brep DB schema created" + else + cat "$OUT_FILE" 1>&2 + echo "brep DB schema creating failed" + exit $ERROR; + fi + fi +fi diff --git a/etc/httpd.conf b/etc/httpd.conf deleted file mode 100644 index dc56d9b..0000000 --- a/etc/httpd.conf +++ /dev/null @@ -1,113 +0,0 @@ -Listen ${AP_PORT} -ServerName "${AP_SERVER_NAME}" -ServerAdmin "${AP_ADMIN_EMAIL}" - -User apache -Group apache - -CoreDumpDirectory "${AP_WORKSPACE_DIR}" -PidFile "${AP_WORKSPACE_DIR}/httpd.pid" - -ErrorLog "|/usr/sbin/rotatelogs error_log.%Y%m%d 86400" -ErrorLogFormat "[%t] [%l] [%m] %M" -LogLevel ${AP_LOG_LEVEL} - -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 authz_core_module /usr/lib64/httpd/modules/mod_authz_core.so -LoadModule authz_host_module /usr/lib64/httpd/modules/mod_authz_host.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 alias_module /usr/lib64/httpd/modules/mod_alias.so - -LoadModule repository_root_srv ${AP_MODULE_DIR}/libbrep-apache.so - -LoadModule package_search_srv ${AP_MODULE_DIR}/libbrep-apache.so - - - package-search-root "${AP_ROOT}" - package-search-db-host ${AP_DB_HOST} - package-search-db-port ${AP_DB_PORT} - package-search-conf ${AP_CONFIG_DIR}/package-search.conf - - -LoadModule package_details_srv ${AP_MODULE_DIR}/libbrep-apache.so - - - package-details-root "${AP_ROOT}" - package-details-db-host ${AP_DB_HOST} - package-details-db-port ${AP_DB_PORT} - package-details-conf ${AP_CONFIG_DIR}/package-details.conf - - -LoadModule package_version_details_srv ${AP_MODULE_DIR}/libbrep-apache.so - - - package-version-details-root "${AP_ROOT}" - package-version-details-db-host ${AP_DB_HOST} - package-version-details-db-port ${AP_DB_PORT} - package-version-details-conf ${AP_CONFIG_DIR}/package-version-details.conf - - -LoadModule repository_details_srv ${AP_MODULE_DIR}/libbrep-apache.so - - - repository-details-root "${AP_ROOT}" - repository-details-db-host ${AP_DB_HOST} - repository-details-db-port ${AP_DB_PORT} - repository-details-conf ${AP_CONFIG_DIR}/repository-details.conf - - - - SetHandler repository-root - - - - SetHandler package-details - - - - SetHandler package-version-details - - -# Disable package-version-details and package-details handlers on static files -# and repository content locations. -# Location examples: /@, /@/common.css, /1, /1/math/stable. -# - - SetHandler None - - -# Static files locations. -# -AliasMatch ^${AP_ROOT}/@/(.+) ${AP_WWW_DIR}/$1 - -# Repository files locations. -# -AliasMatch ^${AP_ROOT}/(\d+)/(.+) ${AP_REPOSITORY_DIR}/$1/$2 - -ExtendedStatus On - - - SetHandler server-status - Require local - - -TypesConfig /etc/mime.types -AddOutputFilterByType DEFLATE application/xhtml+xml -AddOutputFilterByType DEFLATE text/css diff --git a/etc/loader b/etc/loader deleted file mode 100755 index 1ae3b48..0000000 --- a/etc/loader +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# file : etc/loader -# copyright : Copyright (c) 2014-2015 Code Synthesis Ltd -# license : MIT; see accompanying LICENSE file -# -# Designed to simplify running brep-loader utility. - -. `dirname $0`/config - -if test -n "$LD_LIB_DIRS"; then - export LD_LIBRARY_PATH=$LD_LIB_DIRS:$LD_LIBRARY_PATH -fi - -if test -n "$LD_EXE_DIRS"; then - export PATH=$LD_EXE_DIRS:$PATH -fi - -brep-loader --db-host "$LD_DB_HOST" --db-port $PG_PORT "$LD_REPOSITORIES" diff --git a/etc/package-details.conf b/etc/package-details.conf deleted file mode 100644 index 66a7c17..0000000 --- a/etc/package-details.conf +++ /dev/null @@ -1,15 +0,0 @@ -# file : etc/package-details.conf -# copyright : Copyright (c) 2014-2015 Code Synthesis Ltd -# license : MIT; see accompanying LICENSE file -# -# brep::module options -# -verb 1 - -# brep::package_details options -# -# @@ Set to 10. -results-on-page 2 -pages-in-pager 5 -# @@ Set to 500 (~ 80 chars x 6 lines). -description-length 100 diff --git a/etc/package-search.conf b/etc/package-search.conf deleted file mode 100644 index 4c1484f..0000000 --- a/etc/package-search.conf +++ /dev/null @@ -1,13 +0,0 @@ -# file : etc/package-search.conf -# copyright : Copyright (c) 2014-2015 Code Synthesis Ltd -# license : MIT; see accompanying LICENSE file -# -# brep::module options -# -verb 1 - -# brep::package_search options -# -# @@ Set to 10. -results-on-page 2 -pages-in-pager 5 diff --git a/etc/package-version-details.conf b/etc/package-version-details.conf deleted file mode 100644 index 865e162..0000000 --- a/etc/package-version-details.conf +++ /dev/null @@ -1,14 +0,0 @@ -# file : etc/package-version-details.conf -# copyright : Copyright (c) 2014-2015 Code Synthesis Ltd -# license : MIT; see accompanying LICENSE file -# -# brep::module options -# -verb 1 - -# brep::package_version_details options -# -# @@ Set to 500 (~ 80 chars x 6 lines). -description-length 100 -# @@ Set to 5000 (~ 80 chars x 60 lines). -changes-length 100 diff --git a/etc/pgctl b/etc/pgctl deleted file mode 100755 index d1f676f..0000000 --- a/etc/pgctl +++ /dev/null @@ -1,167 +0,0 @@ -#!/bin/sh -# file : etc/pgctl -# copyright : Copyright (c) 2014-2015 Code Synthesis Ltd -# license : MIT; see accompanying LICENSE file -# -# Designed to simplify controlling brep PostgreSQL server instance. - -. `dirname $0`/config - -CMD="$1" -shift - -SOCKET_DIR="$PG_WORKSPACE_DIR" -OUT_FILE="$PG_WORKSPACE_DIR/out" - -# Print usage description and exit. -# -case $CMD in - init|start|stop|status|connect) ;; - *) - echo "Usage: pgctl (init|start|stop|status|connect)" - exit 1 - ;; -esac - -ERROR=0 - -# Initialization includes creating PostgreSQL DB cluster, creating brep DB -# and schema. -# -if test "$CMD" = "init"; then - if test -d "$PG_DATA_DIR"; then - echo "PostgreSQL DB cluster directory $PG_DATA_DIR already exist" - else - echo "creating PostgreSQL DB cluster ..." - pg_ctl initdb -D "$PG_DATA_DIR" - ERROR=$? - - if test $ERROR -eq 0; then - echo "cluster created" - else - echo "cluster creating failed" - exit $ERROR; - fi - fi -fi - -case $CMD in - start|init) - # Start DB server if not running yet. - # - pg_ctl status -D "$PG_DATA_DIR" 1>/dev/null 2>&1 - - if test $? -eq 0; then - echo "PostgreSQL server already running" - else - if test ! -d "$PG_DATA_DIR"; then - echo "PostgreSQL DB cluster not exist; run '$0 init' first" - exit 1 - fi - - echo "PostgreSQL server starting ..." - - mkdir -p `dirname $OUT_FILE` - mkdir -p "$PG_LOG_DIR" - mkdir -p "$SOCKET_DIR" - - pg_ctl start -D "$PG_DATA_DIR" -w -o \ - "-c port=$PG_PORT -c unix_socket_directories=$SOCKET_DIR \ - -c logging_collector=on -c log_directory=$PG_LOG_DIR" \ - 1>"$OUT_FILE" 2>&1 - - ERROR=$? - - if test $ERROR -eq 0; then - echo "server started" - else - cat "$OUT_FILE" 1>&2 - echo "server starting failed" - exit $ERROR - fi - fi - ;; - - status) - echo "checking PostgreSQL server status ..." - pg_ctl status -D "$PG_DATA_DIR" - ;; - - stop) - pg_ctl status -D "$PG_DATA_DIR" 1>/dev/null 2>&1 - - if test $? -eq 0; then - echo "PostgreSQL server stopping ..." - pg_ctl stop -D "$PG_DATA_DIR" "$@" - ERROR=$? - - if test $ERROR -eq 0; then - : # pg_ctl prints "server stopped" on success - else - echo "server stopping failed" - exit $ERROR - fi - else - echo "PostgreSQL server not running" - fi - ;; - - connect) - echo "connecting to PostgreSQL server ..." - psql --host=$SOCKET_DIR --port=$PG_PORT brep - ;; -esac - -if test "$CMD" = "init"; then - # Create brep DB if not exist. - # - psql --host=$SOCKET_DIR --port=$PG_PORT -c "" brep 1>/dev/null 2>&1 - - ERROR=$? - - if test $ERROR -eq 0; then - echo "brep DB already exist" - else - if test $ERROR -eq 2; then - echo "creating brep DB ..." - createdb --host=$SOCKET_DIR --port=$PG_PORT brep - ERROR=$? - - if test $ERROR -eq 0; then - echo "brep DB created" - else - echo "brep DB creating failed" - exit $ERROR; - fi - else - echo "brep DB existence checking failed" - exit $ERROR; - fi - fi - - # Create brep DB schema if not exist. - # - psql --host=$SOCKET_DIR --port=$PG_PORT -c "select count(1) from package" \ - brep 1>/dev/null 2>&1 - - ERROR=$? - - if test $ERROR -eq 0; then - echo "brep DB schema already exist" - else - echo "creating brep DB schema ..." - - psql -v ON_ERROR_STOP=1 --host=$SOCKET_DIR --port=$PG_PORT \ - --file="$PG_SCHEMA_DIR/package.sql" brep 1>"$OUT_FILE" 2>&1 - - ERROR=$? - - if test $ERROR -eq 0; then - echo "brep DB schema created" - else - cat "$OUT_FILE" 1>&2 - echo "brep DB schema creating failed" - exit $ERROR; - fi - fi -fi diff --git a/etc/repository-details.conf b/etc/repository-details.conf deleted file mode 100644 index e173cfb..0000000 --- a/etc/repository-details.conf +++ /dev/null @@ -1,7 +0,0 @@ -# file : etc/repository-details.conf -# copyright : Copyright (c) 2014-2015 Code Synthesis Ltd -# license : MIT; see accompanying LICENSE file -# -# brep::module options -# -verb 1 -- cgit v1.1