blob: f87250835dafaab16b87fb855e222581c5eff943 (
plain) (
tree)
|
|
#!/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
#
#####
|