# kivitendo postinst
-version="3.5.4"
-
# check configuration file
-if [ ! -e /opt/kivitendo-erp-$version/config/kivitendo.conf ]
+if [ ! -e /opt/kivitendo-erp/config/kivitendo.conf ]
then
- echo "Type new kivitendo admin password:"
+ echo "Type new kivitendo admin and DB password:"
read a
- sed "s/admin123/$a/" /opt/kivitendo-erp-$version/config/kivitendo.conf.default >/opt/kivitendo-erp-$version/config/kivitendo.conf
+ 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-$version/users /opt/kivitendo-erp-$version/templates
-chgrp www-data /opt/kivitendo-erp-$version/users /opt/kivitendo-erp-$version/templates
+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-$version/scripts/installation_check.pl
+/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