X-Git-Url: https://git.cyclocoop.org/?p=lhc%2Fateliers.git;a=blobdiff_plain;f=etc%2Fsv%2Fpostgres%2Fconfigure.sh;h=4b33f11c417556424bf764122a8aaf866bb190c5;hp=165df68c4afa1fee3d8f04f181453b57caef0898;hb=2e5bb0ff5df2b7a5d527a4f896b802df31d3c6bc;hpb=1b63122dd097c575896b4c4158ed5439eeca1563 diff --git a/etc/sv/postgres/configure.sh b/etc/sv/postgres/configure.sh index 165df68..4b33f11 100644 --- a/etc/sv/postgres/configure.sh +++ b/etc/sv/postgres/configure.sh @@ -1,9 +1,116 @@ -rule adduser log-"$sv"\ + # DOC: http://wiki.postgresql.org/wiki/Shared_Database_Hosting +rule apt_get_install postgresql-9.1 +rule insserv_remove postgresql +rule adduser postgres \ --disabled-login \ --disabled-password \ --group \ - --home /home/postgresql/log/9.1/main \ + --home /home/postgresql \ --shell /bin/false \ --system -sudo install -d -m 770 -o log-"$sv" -g log-"$sv" \ - /home/postgresql/log +rule adduser postgres-data \ + --disabled-login \ + --disabled-password \ + --group \ + --home /home/postgresql/data \ + --no-create-home \ + --shell /bin/false \ + --system +sudo usermod --home /home/postgresql postgres +sudo adduser postgres postgres-data +sudo rm -rf \ + /etc/postgresql +sudo install -d -m 1751 -o postgres -g postgres-data \ + /home/postgresql \ + /home/postgresql/etc \ + /home/postgresql/bin \ + /etc/postgresql \ + /etc/postgresql/9.1 \ + /etc/postgresql/9.1/main +sudo ln -fns \ + /etc/postgresql \ + /home/postgresql/etc/postgresql + +if sudo test ! -d /home/postgresql/data + then + sudo install -d -m 750 -o postgres -g postgres \ + /home/postgresql/data + sudo -u postgres pg_createcluster \ + --datadir=/home/postgresql/data \ + --logfile=/home/postgresql/log/9.1/main/cluster.log \ + --socketdir=/run/postgresql \ + 9.1 main + fi + +sudo install -m 640 -o postgres -g postgres /dev/stdin \ + /etc/postgresql/9.1/main/pg_ctl.conf <<-EOF + pg_ctl_options = '' + EOF +sudo install -m 640 -o postgres -g postgres /dev/stdin \ + /etc/postgresql/9.1/main/pg_ident.conf <<-EOF + # MAPNAME SYSTEM-USERNAME PG-USERNAME + EOF +sudo install -m 640 -o postgres -g postgres /dev/stdin \ + /etc/postgresql/9.1/main/start.conf <<-EOF + EOF +sudo install -m 640 -o postgres -g postgres /dev/stdin \ + /etc/postgresql/9.1/main/pg_hba.conf <<-EOF + local all postgres peer + local all all peer + EOF +sudo install -m 640 -o postgres -g postgres-data \ + "$tool"/etc/postgresql/9.1/main/postgresql.conf \ + /etc/postgresql/9.1/main/postgresql.conf +sudo find "$tool"/etc/postgresql/bin/ -type f -perm /+x -exec \ + install -m 755 -o root -g root \ + -t /home/postgresql/bin/ {} + + +sudo sv -w 1 start /etc/sv/postgres +while ! sudo -u postgres psql