diff options
Diffstat (limited to 'debian/postinst')
-rwxr-xr-x | debian/postinst | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/debian/postinst b/debian/postinst new file mode 100755 index 0000000..3b85741 --- /dev/null +++ b/debian/postinst @@ -0,0 +1,81 @@ +#!/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 + +. /usr/share/dbconfig-common/dpkg/postinst.mysql +dbc_go etherpad $@ + +db_get "etherpad/admin_password" +db_admin_password="$RET" +db_get "etherpad/topdomains" +db_topdomains="$RET" + +. /etc/dbconfig-common/etherpad.conf + + + +# 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 +chown -R etherpad:etherpad "/var/log/etherpad" +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" + +if ! [ "$dbc_dbserver" ]; then + dbc_dbserver=localhost +fi +if ! [ "$dbc_dbport" ]; then + dbc_dbport=3306 +fi + + +m4 \ + -D __db_admin_password__="$db_admin_password" \ + -D __dbc_dbserver__="$dbc_dbserver" \ + -D __dbc_dbport__="$dbc_dbport" \ + -D __dbc_dbname__="$dbc_dbname" \ + -D __dbc_dbpass__="$dbc_dbpass" \ + -D __dbc_dbuser__="$dbc_dbuser" \ + -D __db_topdomains__="$db_topdomains" \ + < /etc/etherpad/etherpad.local.properties.tmpl \ + > /etc/etherpad/etherpad.local.properties + +chown etherpad:etherpad /etc/etherpad/etherpad.local.properties |