-
benedikt.kroening authoredbenedikt.kroening authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
documents-collaboration.sh 4.04 KiB
#!/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_COLLABORATION_VERSION}" ]]; then
# sourcing the default configuration to use
echo "Warning: Missing environment variable. Sourcing default versions file ..."
exportProperties ${SCRIPT_DIR}/../setup/versions
fi
if [[ -z "${INSTALL_TYPE}" ]]; then
echo "WARNING: Missing environment variable. Sourcing default config file ..."
exportProperties ${SCRIPT_DIR}/../config/config
fi
## Help text
show_usage() {
echo -n "
$0 [OPTIONS]
--enable
--install
--restart
--server
--client
"
}
### 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)
ENABLE_DCS=true
shift
;;
--install)
INSTALL_DCS=true
shift
;;
--server)
SERVER=true
shift
;;
--client)
CLIENT=true
shift
;;
# -k|--key)
# value="$2"
# shift
# shift
# ;;
--restart)
RESTART_OX=true
shift
;;
*) # unknown option
POSITIONAL+=("$1") # save it in an array for later
shift
;;
esac
done
set -- "${POSITIONAL[@]}" # restore positional parameters
if [[ "${INSTALL_DCS}" = true ]]; then
installPackagesRetry "open-xchange-documents-collaboration"
fi
if [[ "${ENABLE_DCS}" = true ]]; then
if [[ "${SERVER}" = true ]]; then
setOXProperty db.host "${DATABASE_HOST_NAME}" /etc/documents-collaboration/dcs.properties
setOXProperty db.port "${DATABASE_HOST_PORT}" /etc/documents-collaboration/dcs.properties
setOXProperty db.username "${OX_CONFIGDB_USER}" /etc/documents-collaboration/dcs.properties
setOXProperty db.password "${OX_CONFIGDB_PASS}" /etc/documents-collaboration/dcs.properties
/usr/share/open-xchange-documents-collaboration/bin/initdcsdb.sh -a \
--dcsdb-host "${DATABASE_HOST_NAME}" \
--dcsdb-port "${DATABASE_HOST_PORT}" \
--dcsdb-user "${OX_CONFIGDB_USER}" \
--dcsdb-pass "${OX_CONFIGDB_PASS}" \
--mysql-root-user "${DATABASE_ROOT_USER}" \
--mysql-root-passwd "${DATABASE_ROOT_PASS}"
restartService open-xchange-documents-collaboration
fi
if [[ "${CLIENT}" = true ]]; then
setOXProperty com.openexchange.dcs.client.database.connectionURL "jdbc:mysql://${DATABASE_HOST_NAME}:${DATABASE_HOST_PORT}/dcsdb" /opt/open-xchange/etc/documents-collaboration-client.properties
setOXProperty com.openexchange.dcs.client.database.userName "${OX_CONFIGDB_USER}" /opt/open-xchange/etc/documents-collaboration-client.properties
setOXProperty com.openexchange.dcs.client.database.password "${OX_CONFIGDB_PASS}" /opt/open-xchange/etc/documents-collaboration-client.properties
fi
elif [[ "${FEATURE_ENABLE}" = false ]]; then
echo ""
# do something to disable it
fi
if [[ "${RESTART_OX}" = true ]]; then
restartService open-xchange-documents-collaboration
fi