blob: fbc7128bc374575b360926278d22c4b5e5fd3c79 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
#!/bin/bash
set -e
_USERNAME=taler-merchant-httpd
_GROUPNAME=www-data
# Set permissions for sqlite3 file
# (for when we support sqlite3 in the future)
dbc_dbfile_owner="${_USERNAME}:${_GROUPNAME}"
dbc_dbfile_perms="0600"
# 1st argument will be the SECURITYTOKEN to use.
apache_install() {
mkdir -p /etc/apache2/conf-available
if [ ! -f /etc/apache2/conf-available/taler-merchant.conf ]; then
cat /etc/taler-merchant/apache.conf | sed -e "s/%SECURITYTOKEN%/$1/" >/etc/apache2/conf-available/taler-merchant.conf
fi
}
# 1st argument will be the SECURITYTOKEN to use.
nginx_install() {
mkdir -p /etc/nginx/conf-available
if [ ! -f /etc/nginx/conf-available/taler-merchant.conf ]; then
cat /etc/taler-merchant/nginx.conf | sed -e "s/%SECURITYTOKEN%/$1/" >/etc/nginx/conf-available/taler-merchant.conf
fi
}
. /usr/share/debconf/confmodule
case "${1}" in
configure)
db_version 2.0
# Read default values
CONFIG_FILE="/etc/default/taler-merchant"
TALER_HOME="/var/lib/taler"
# Creating taler users if needed
if ! getent passwd ${_USERNAME} >/dev/null; then
adduser --quiet --system --ingroup ${_GROUPNAME} --home ${TALER_HOME} ${_USERNAME}
fi
# Setup postgres database (needs dbconfig-pgsql package)
if [ -f /usr/share/dbconfig-common/dpkg/postinst.pgsql ]; then
. /usr/share/dbconfig-common/dpkg/postinst.pgsql
dbc_pgsql_createdb_encoding="UTF8"
dbc_go taler-merchant "$@"
fi
# Create access secret
SECRET=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 64 | head -n 1)
echo SECRET >${TALER_HOME}/master-api-key.txt
chown ${_USERNAME}:${_GROUPNAME} ${TALER_HOME}/master-api-key.txt
chmod 440 ${TALER_HOME}/master-api-key.txt
# Configure Webserver
db_get taler-merchant/reconfigure-webserver
webservers="$RET"
for webserver in $webservers; do
webserver=${webserver%,}
if [ "$webserver" = "nginx" ]; then
nginx_install "$SECRET"
else
apache_install "$SECRET"
fi
done
db_stop
;;
abort-upgrade | abort-remove | abort-deconfigure) ;;
*)
echo "postinst called with unknown argument \`${1}'" >&2
exit 1
;;
esac
#DEBHELPER#
exit 0
|