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
#!/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
source ${SCRIPT_DIR}/../lib/setup.bash
checkRootPrivileges
detectDistribution
if [[ -z "${AS_OFFICE_VERSION}" ]]; then
# sourcing the default configuration to use
echo "Warning: Missing environment variable. Sourcing default versions file ..."
exportProperties ${SCRIPT_DIR}/../setup/versions
fi
## Help text
show_usage() {
echo -n "
$0 [OPTIONS]
--install The install flag
--enable Enable documents in config and restart the backend
--disable Disable (WIP, may not work)
--server Set with install flag in order to install dc
--client Only configure documentconverter client with the provided remote dc (defaults to localhost)
benedikt.kroening
committed
--frontend
--restart
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
"
}
### 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
;;
--enable)
DOCUMENTCONVERTER_ENABLE=true
shift
;;
--disable)
DOCUMENTS_ENABLE=false
shift
;;
--server)
SERVER=true
shift
;;
--client)
CLIENT=true
shift
;;
--frontend)
FRONTEND=true
shift
;;
--install)
export INSTALL_DOCUMENTCONVERTER=true
shift
benedikt.kroening
committed
;;
--restart)
RESTART_OX=true
shift
;;
# -k|--key)
# value="$2"
# shift
# shift
# ;;
*) # unknown option
POSITIONAL+=("$1") # save it in an array for later
shift
;;
esac
done
set -- "${POSITIONAL[@]}" # restore positional parameters
if [ "$INSTALL_DOCUMENTCONVERTER" = true ] ; then
if [[ "${SERVER}" = true ]]; then
echo "Adding OX documentconverter server packages ..."
PACKAGES="readerengine open-xchange-documentconverter-server open-xchange-documentconverter-api "
installPackagesRetry "${PACKAGES}"
fi
# client will be installed by documents, frontned does not require packages
fi
if [[ "${DOCUMENTCONVERTER_ENABLE}" = true ]]; then
restartService open-xchange-documentconverter-server
sleep 5
INIT_STATE_FILE="/opt/open-xchange/etc/21-init-documentconverter-done"
if [ ! -f ${INIT_STATE_FILE} ]; then
if [[ "${SERVER}" = true ]]; then
echo "Doing some dc-server config"
fi
if [[ "${CLIENT}" = true ]]; then
if [[ -z "${CONVERTER_REMOTE_URL}" ]]; then
benedikt.kroening
committed
CONVERTER_REMOTE_URL="http://localhost:8008/documentconverterws"
echo "WARNING: Converter URL not provided, using fallback: $CONVERTER_REMOTE_URL"
# TODO: This will work on singlenode only.
# In order to get this working in cluster envs use the apache proxy balancer
fi
setOXProperty com.openexchange.documentconverter.client.remoteDocumentConverterUrl "${CONVERTER_REMOTE_URL}" /opt/open-xchange/etc/documentconverter-client.properties
echo "Doing some dc-client config magic"
fi
if [[ "${FRONTEND}" = true ]]; then
echo "WARNING: Frontend balancer config for documentconverter is not yet implemented"
fi
echo "$(date)" >> ${INIT_STATE_FILE}
else
echo "WARNING: This scripts has already been executed and will be skipped!"
sleep 5
fi
elif [[ "${DOCUMENTCONVERTER_ENABLE}" = false ]]; then
echo ""
# do something to disable it
fi
benedikt.kroening
committed
if [[ "${RESTART_OX}" = true ]]; then
restartService open-xchange
fi