Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
#!/bin/bash
#
# Copyright (C) 2019 OX Software GmbH
#
# This file is part of OX Automation.
#
# OX Automation is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# OX Automation is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
#
# See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OX Automation. If not, see <http://www.gnu.org/licenses/>.
#
#
# Authors:
# Benedikt Kroening <benedikt.kroening@open-xchange.com>
#
set -e
SCRIPT_DIR="$( cd "$(dirname "$0")" ; pwd -P)"
# sourcing some commonly used functions and executing basic checks
source ${SCRIPT_DIR}/../../lib/common.bash
checkRootPrivileges
detectDistribution
# sourcing the default configuration to use
#source ${SCRIPT_DIR}/config/config
exportProperties ${SCRIPT_DIR}/../config
BALANCER_NAME=oxcluster
BALANCER_HOST="https://localhost:8009"
BALANCER_ROUTE=singlenode
## Help text
show_usage() {
echo -n "
$0 [OPTIONS]
"
}
### reading config from command line; overriding defaults
POSITIONAL=()
while [[ $# -gt 0 ]]
do
key="$1"
case $key in
-h|--help)
show_usage
exit 0
shift
;;
--debug)
echo "WARNING: Debug flag set (--debug)"
set -x
shift
;;
-n|--name)
BALANCER_NAME="$2"
shift
shift
;;
-b|--balancer)
BALANCER_HOST="$2"
shift
shift
;;
-r|--route)
BALANCER_ROUTE="$2"
shift
shift
;;
# -f|--file)
# FILE_NAME="$2"
# shift
# shift
# ;;
*) # unknown option
echo "Unknonwn option: $1"
POSITIONAL+=("$1") # save it in an array for later
shift
;;
esac
done
set -- "${POSITIONAL[@]}" # restore positional parameters
FILE_NAME="20_${BALANCER_NAME}-balancer.conf"
echo "Creating balancer at $FILE_NAME with following config:"
set | grep BALANCER_
echo "
<Proxy balancer://${BALANCER_NAME}>
Order Deny,Allow
Allow from all
BalancerMember ${BALANCER_HOST} timeout=100 smax=0 ttl=60 retry=60 loadfactor=50 keepalive=On route=${BALANCER_ROUTE}
ProxySet stickysession=JSESSIONID|jsessionid scolonpathdelim=On
SetEnv proxy-initial-not-pooled
SetEnv proxy-sendchunked
</Proxy>
" > "${HTTPD_CONF_PATH}/${FILE_NAME}"
apachectl restart