#!/bin/bash ################################################################################ # # Copyright (c) 2010 penSec.IT UG (haftungsbeschränkt) # http://www.pensec.it # mail@pensec.it # # Licensed under the Apache License, Version 2.0 (the "License"); you may not # use this file except in compliance with the License. You may obtain a copy of # the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations under # the License. # ################################################################################ set -e . /usr/share/debconf/confmodule if [ -n "$ETHERPAD_DEBUG" ]; then echo "now debugging $0 $@" set -x fi db_version 2.0 ##### # # Propts the user for a configuration value and writes it into a property file # # @param $1 Name of the debconfig template to prompt # @param $2 File to write the answer to # @param $3 deprecated # function configuration_property() { TEMPLATE="${1}" PROPERTY_FILE="/etc/etherpad/properties/${2}" PLACEHOLDER="${3}" PROPERTY="" if [ -f "${PROPERTY_FILE}" ]; then PROPERTY=`cat "${PROPERTY_FILE}"` fi db_input high "etherpad-%BRANCH%/${TEMPLATE}" || true db_go db_get "etherpad-%BRANCH%/${TEMPLATE}" if [ "" != "$RET" ]; then PROPERTY="$RET" fi echo "${PROPERTY}" > "${PROPERTY_FILE}" } # ##### case "$1" in configure) # Create system user if ! getent passwd etherpad > /dev/null ; then echo 'Adding system-user for etherpad' 1>&2 adduser --system --group --quiet \ --home /usr/share/etherpad --no-create-home \ --disabled-login --force-badname etherpad fi # Give user the rights to write into the log & data directory if [ -d "/var/log/etherpad" ]; then EMPTY_STATEMENT="true" else mkdir -p "/var/log/etherpad" fi chown -R etherpad:etherpad "/var/log/etherpad" if [ -d "/usr/share/etherpad/etherpad/data" ]; then EMPTY_STATEMENT="true" else mkdir -p "/usr/share/etherpad/etherpad/data" fi chown -R etherpad:etherpad "/usr/share/etherpad/etherpad/data" # Give user the rights do write everywhere, did not yet figure # out which rights are necessary, exactly chown -R etherpad:etherpad "/usr/share/etherpad" ;; esac ##### # # Get configuration properties # configuration_property "is_production" "is-production" "IS_PRODUCTION" configuration_property "admin_password" "admin-password" "ADMIN_PASSWORD" configuration_property "port" "port" "PORT" configuration_property "database_host" "database-host" "DATABASE_HOST" configuration_property "database_port" "database-port" "DATABASE_PORT" configuration_property "database_name" "database-name" "DATABASE_NAME" configuration_property "database_username" "database-username" "DATABASE_USERNAME" configuration_property "database_password" "database-password" "DATABASE_PASSWORD" # ##### ##### # # MySQL-Autosetup should be discussed. Simply calling setup-myql-db.sh is # insufficient # # # Auto-setup database # db_input medium "etherpad-%BRANCH%/setup_database" || true # db_go # # db_get "etherpad-%BRANCH%/setup_database" # if [ "$RET" = "true" ]; then # # TODO # fi # #####