X-Git-Url: https://git.cyclocoop.org/?p=lhc%2Fateliers.git;a=blobdiff_plain;f=etc%2Fsv%2Fpostgres%2Flocal.sh;fp=etc%2Fsv%2Fpostgres%2Flocal.sh;h=cb8eee67b4eecf13a996e754b23fe18de2263fb1;hp=0000000000000000000000000000000000000000;hb=3ad6118386977e346d81042e924e5db9c5f15b7d;hpb=22f04b9fac14adc3d3fc98273ba126c3a51792c3 diff --git a/etc/sv/postgres/local.sh b/etc/sv/postgres/local.sh new file mode 100644 index 0000000..cb8eee6 --- /dev/null +++ b/etc/sv/postgres/local.sh @@ -0,0 +1,125 @@ +# DOC: http://wiki.postgresql.org/wiki/Shared_Database_Hosting + +#"$tool"/local/apt-get-install postgresql-9.1 +"$tool"/local/insserv-remove postgresql +"$tool"/local/adduser postgres \ + --disabled-login \ + --disabled-password \ + --group \ + --home /home/postgresql \ + --shell /bin/false \ + --system +"$tool"/local/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" +"$tool"/local/runit-sv-start "$sv" +while ! sudo -u postgres psql