X-Git-Url: https://git.cyclocoop.org/?a=blobdiff_plain;f=etc%2Fsv%2Fpostgres%2Fconfigure.sh;h=795017908ddd625e6c55d661a454e552ce8ca482;hb=b27661cf8e40872543f86a00922d18573ef83612;hp=165df68c4afa1fee3d8f04f181453b57caef0898;hpb=80909c24d0e4ca5061f3379852ac07b296760883;p=lhc%2Fateliers.git diff --git a/etc/sv/postgres/configure.sh b/etc/sv/postgres/configure.sh index 165df68..7950179 100644 --- a/etc/sv/postgres/configure.sh +++ b/etc/sv/postgres/configure.sh @@ -1,9 +1,125 @@ -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 + admin postgres postgres + admin root postgres + 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 map=admin + 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 ln -fns \ + ../sv/"$sv" \ + /etc/service/"$sv" +rule runit_sv_start "$sv" +while ! sudo -u postgres psql