Table of Contents

Open Source Password Manager

Install Postgres for Psono

The Psono server requires a postgres database with some extensions. This section will explain how to install one and prepare it for the Psono server.

We will be using postgres (tested with version 9.6, but every 9.4+ version should work):

  1. First install some requirements:
    # yum -y install https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm
    # yum -y install postgresql96-server postgresql96-contrib
    # /usr/pgsql-9.6/bin/postgresql96-setup initdb
    # systemctl start postgresql-9.6.service
    # systemctl enable postgresql-9.6.service
  2. Now lets switch the postgres user:
    # su - postgres
  3. Create our new DB:
    # createdb psono
  4. Now switch the command prompt to postgres command prompt:
    # psql psono
  5. Followed by some nice postgres commands to create the user and grant all privileges:
    CREATE USER psono WITH PASSWORD 'password';
    GRANT ALL PRIVILEGES ON DATABASE "psono" to psono;

    Note: Replace password with a unique password

  6. Install some necessary extensions:
    CREATE EXTENSION IF NOT EXISTS ltree;
    CREATE EXTENSION IF NOT EXISTS "pgcrypto";
  7. (optional) If you want to use this database for unit testing, you should also do:
    ALTER USER psono CREATEDB;
  8. To exit this shell and return to your normal user do:
    \q
    Ctrl + D

    Other databases are not supported because of missing ltree extension

Optional Configuration

(optional) Adjust pg_hba.conf in /var/lib/pgsql/9.6/data

Depending on your setup you might get FATAL: Ident authentication failed for user which makes it necessary to adjust the pg_hba.conf e.g. add the following lines:

host    psono             psono             127.0.0.1/32            md5
host    psono             psono             ::1/128                 md5

Afterwards restart postgres e.g.

systemctl restart postgresql

(optional) Allow network connections

Depending on your setup you might need postgres to listen on public interfaces, allowing other devices in the network to connect to your host. For that edit postgresql.conf in /var/lib/pgsql/9.6/data and add the following line:

listen_addresses = '*'

Afterwards restart postgres e.g.

systemctl restart postgresql