#!/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 ## 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 ;; --guard) INSTALL_GUARD=true shift ;; --documents) INSTALL_DOCUMENTS=true shift ;; # -db|--database) # DATABASE_TYPE="$2" # shift # shift # ;; # --repo-guard) # OX_REPO_GUARD="$2" # echo "WARNING: Using $OX_REPO_GUARD as guard repository source" # shift # shift # ;; *) # unknown option POSITIONAL+=("$1") # save it in an array for later shift ;; esac done set -- "${POSITIONAL[@]}" # restore positional parameters PACKAGES="open-xchange-appsuite open-xchange-appsuite-help* " installPackages ${PACKAGES} # Install frontend realted documents packages ${SCRIPT_DIR}/install-documents.sh --frontend echo "Enabling Apache httpd modules..." if [[ true == "${ANY_DEB}" ]] || [[ true == "${ANY_SLES}" ]]; then if [[ true == "${ANY_DEB}" ]]; then a2dissite default-ssl 1> /dev/null a2dissite 000-default 1> /dev/null fi a2enmod proxy 1> /dev/null a2enmod proxy_balancer 1> /dev/null a2enmod proxy_http 1> /dev/null a2enmod expires 1> /dev/null a2enmod deflate 1> /dev/null a2enmod headers 1> /dev/null a2enmod rewrite 1> /dev/null a2enmod ssl 1> /dev/null a2enmod proxy_wstunnel 1> /dev/null if [[ true == "${ANY_SLES}" ]]; then if [[ "${DIST}" == "SLES12" ]]; then gensslcert fi a2enflag SSL fi elif [[ true == "${ANY_RHEL}" ]] || [[ true == "${ANY_CENTOS}" ]]; then yum install -y mod_ssl openssl mv "${HTTPD_CONF_PATH}/welcome.conf" "${HTTPD_CONF_PATH}/welcome.DISABLED" echo "Disabling old SSL configuration, please review ${HTTPD_CONF_PATH}/ssl.DISABLED." mv "${HTTPD_CONF_PATH}/ssl.conf" "${HTTPD_CONF_PATH}/ssl.DISABLED" if [[ "${INSTALL_TYPE}" != "docker" ]]; then # These steps are not required if this setup is docker if [[ "${DIST}" == "RHEL6" ]]; then service httpd start echo "Adding services to autostart..." chkconfig --level 345 httpd on elif [[ "${DIST}" == "RHEL7" ]]; then systemctl start httpd.service echo "Adding services to autostart..." systemctl enable httpd.service fi fi fi # Apache 2.4 specific modules if [[ true == "${ANY_DEB}" ]] || [[ "${DIST}" == "SLES12" ]]; then a2enmod access_compat 1> /dev/null a2enmod slotmem_shm 1> /dev/null a2enmod lbmethod_byrequests 1> /dev/null a2enmod filter 1> /dev/null fi cp -v ${SCRIPT_DIR}/../config/frontend/conf/*.conf ${HTTPD_CONF_PATH} cp -v ${SCRIPT_DIR}/../config/frontend/sites/*.conf ${HTTPD_SITES_PATH}