summaryrefslogtreecommitdiff
path: root/debian/anastasis-httpd.postinst
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2021-07-30 10:38:27 +0200
committerChristian Grothoff <christian@grothoff.org>2021-07-30 10:38:27 +0200
commit7e669bcf6b6336ec429da949bcb4aa456971dba2 (patch)
treed19912f950d1cac1c38b857b7d5bdaba2289544e /debian/anastasis-httpd.postinst
downloadanastasis-7e669bcf6b6336ec429da949bcb4aa456971dba2.tar.gz
anastasis-7e669bcf6b6336ec429da949bcb4aa456971dba2.tar.bz2
anastasis-7e669bcf6b6336ec429da949bcb4aa456971dba2.zip
folding history in preparation of GNU Anastasis v0.0.0 release
Diffstat (limited to 'debian/anastasis-httpd.postinst')
-rw-r--r--debian/anastasis-httpd.postinst93
1 files changed, 93 insertions, 0 deletions
diff --git a/debian/anastasis-httpd.postinst b/debian/anastasis-httpd.postinst
new file mode 100644
index 0000000..77acf49
--- /dev/null
+++ b/debian/anastasis-httpd.postinst
@@ -0,0 +1,93 @@
+#!/bin/bash
+
+set -e
+
+_USERNAME=anastasis-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() {
+ echo -n "Starting Apache setup..."
+ mkdir -p /etc/apache2/conf-available
+ if [ ! -f /etc/apache2/conf-available/anastasis.conf ]; then
+ echo -n "..."
+ cat /etc/anastasis/apache.conf | sed -e "s/%SECURITYTOKEN%/$1/" >/etc/apache2/conf-available/anastasis.conf
+ fi
+ echo "Done"
+}
+
+# 1st argument will be the SECURITYTOKEN to use.
+nginx_install() {
+ echo -n "Starting Nginx setup..."
+ mkdir -p /etc/nginx/conf-available
+ if [ ! -f /etc/nginx/conf-available/anastasis.conf ]; then
+ echo -n "..."
+ cat /etc/anastasis/nginx.conf | sed -e "s/%SECURITYTOKEN%/$1/" >/etc/nginx/conf-available/anastasis.conf
+ fi
+ echo "Done"
+}
+
+. /usr/share/debconf/confmodule
+
+case "${1}" in
+configure)
+ db_start
+ db_version 2.0
+
+ # Read default values
+ CONFIG_FILE="/etc/default/anastasis"
+ TALER_HOME="/var/lib/taler/"
+
+ echo " User setup"
+ # 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 anastasis "$@"
+ fi
+
+ cat >"/etc/systemd/system/anastasis-httpd.service" <<EOF
+EOF
+
+ # Configure Webserver
+ echo " Configuring Webserver"
+ db_get anastasis/reconfigure-webserver
+ webservers="$RET"
+ for webserver in $webservers; do
+ webserver=${webserver%,}
+ if [ "$webserver" = "nginx" ]; then
+ nginx_install "$SECRET"
+ else
+ apache_install "$SECRET"
+ fi
+ done
+ echo "Done."
+
+ db_stop
+
+ # Cleaning
+ echo "All done."
+
+ ;;
+
+abort-upgrade | abort-remove | abort-deconfigure) ;;
+
+ *)
+ echo "postinst called with unknown argument \`${1}'" >&2
+ exit 1
+ ;;
+esac
+
+#DEBHELPER#
+
+exit 0