Ich habe gerade erfolgreich eine DAViCal-Installation gemacht mit einem anderen Datenbank-User als dem Standard davical_app.
Das benötige ich für die Einrichtung eines Multi-Mandanten-Kalenderservers, bei denen jeder Mandant auf eine eigene Datenbank zugreifen soll, ohne die Möglichkeit zu haben, auf andere Datenbanken zuzugreifen.
Es gibt zwei Probleme zu umschiffen.
- Erzeugen der Nicht-Standard-Datenbank (z.B. davical_kunde1)
- Berechtigungen für eigenen Datenbank-User
Das erste Problem ist trivial zu lösen, da das DAViCal-dba-Script einen Parameter zur zu erzeugenden Datenbank annimmt:
sudo sudo -u postgres -s /usr/share/davical/dba/create-database.sh davical_kunde1
Das zweite ist im Prinzip auch nicht schwer, ich musste aber erstmal etwas suchen. Das create-database.sh geht nämlich von dem Standard-User davical_app aus…
sudo sudo -u postgres -s /usr/share/davical/dba/update-davical-database \ --dbname "davical_kunde1" --appuser "davical_kunde1" --nopatch --owner "davical_dba"
Dann noch in der pg_hba.conf den user davical_kunde1 für die Datenbank davical_kunde1 eintragen.
Noch nicht geprüft habe, ich ob DAViCal generell auch ein Passwort für den App-User akzeptiert, ansonsten wäre das oben allerdings witzlos…