#!/bin/sh set -e # kivitendo postinst # check configuration file if [ ! -e /opt/kivitendo-erp/config/kivitendo.conf ] then echo "Type new kivitendo admin and DB password:" read a sed "s/admin123/$a/" /opt/kivitendo-erp/config/kivitendo.conf.default >/opt/kivitendo-erp/config/kivitendo.conf fi # test DB login if ! su postgres -c "psql -c '\du'" | grep kivitendo >/dev/null then echo "No user named 'kivitendo' found. It is now created." if [ -n "$a" ] then # password is given su postgres -c "createuser -ds kivitendo ; psql -c \"ALTER USER kivitendo WITH PASSWORD '$a';\"" else su postgres -c "createuser -dPs kivitendo" fi fi main=$(ls -d /etc/postgresql/*/main/) if ! grep kivitendo $main/pg_hba.conf >/dev/null then echo "adding kivitendo user access to $main/pg_hba.conf" awk 'BEGIN { found=0; } /# "local/ { if (found == 0) { print; print "local all kivitendo md5"; found=1; next; }} /^local.*all.*all/ { if (found == 0) { print "local all kivitendo md5"; print; found=1; next; }} /^host/ { if (found == 0) { print "local all kivitendo md5"; print; found=1; next; }} {print;} ' $main/pg_hba.conf > /tmp/pg_hba.conf mv /tmp/pg_hba.conf $main/pg_hba.conf chown postgres:postgres $main/pg_hba.conf systemctl reload postgresql fi # allow write access to some directories chown www-data /opt/kivitendo-erp/users /opt/kivitendo-erp/templates chgrp www-data /opt/kivitendo-erp/users /opt/kivitendo-erp/templates systemctl restart apache2 # call installation check /opt/kivitendo-erp/scripts/installation_check.pl if [ ! -d /opt/kivitendo-erp/webdav ] then mkdir /opt/kivitendo-erp/webdav chown www-data:www-data /opt/kivitendo-erp/webdav fi