diff options
author | Christian Grothoff <christian@grothoff.org> | 2021-07-30 10:38:27 +0200 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2021-07-30 10:38:27 +0200 |
commit | 7e669bcf6b6336ec429da949bcb4aa456971dba2 (patch) | |
tree | d19912f950d1cac1c38b857b7d5bdaba2289544e /debian/anastasis-httpd.postinst | |
download | anastasis-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.postinst | 93 |
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 |