Installing Postgres Enterprise Manager server on Ubuntu 22.04 x86_64 v10

You can install PEM on a single server, or you can install the web application server and the backend database on two separate servers. You must prepare your servers for PEM installation.

After fulfilling the prerequisites and completing the installation procedure described in the following steps, you must configure PEM. If you're using two servers, install and configure PEM on both servers.

Prerequisites

Before you begin the installation process:

  1. Install a supported Postgres instance for PEM to use as a backend database.

    You can install this instance on the same server to be used for the PEM web application or on a separate server. You can also use an existing Postgres instance if it is configured as detailed in the next steps.

  2. Configure authentication on the Postgres backend database by updating the pg_hba.conf file.

    Make the following changes manually, prior to configuration. (Additional changes are necessary during configuration.)

    • To create the relations required for PEM, the PEM configuration script connects to the Postgres backend database as a superuser of your choice using password authentication. This requires you to permit your chosen superuser to authenticate using a password. This user must be able to connect from any location where you run the configuration script. In practice, this means the server where the backend database is located and the server where the PEM web application is to be installed, if they're different.

    • To allow the chosen superuser to connect using password authentication, add a line to pg_hba.conf that allows host connections using md5 or scram-sha-256 authentication, such as host all superusername 127.0.0.1/32 scram-sha-256.

    Note

    If you're using EDB Postgres Advanced Server, see Modifying the pg_hba.conf file.

    If you're using PostgreSQL, see Client Authentication.

  3. Verify that the sslutils extension is installed on your Postgres server.

    If you're using PostgreSQL or EDB Postgres Extended Server on RHEL/AlmaLinux/Rocky Linux or SLES, you also need to install the hstore contrib module.

    • If you're using EDB Postgres Advanced Server, you can install the sslutils extension as follows, where <x> is the EDB Postgres Advanced server version.

      sudo apt-get install edb-as<x>-server-sslutils
    • If you're using PostgreSQL, you can install the sslutils and, if required, hstore modules as follows, where <x> is the PostgreSQL version.

      sudo apt-get install postgresql-<x>-sslutils
    • If you're using EDB Postgres Extended Server, you can install the sslutils and, if required, hstore modules as follows, where <x> is the EDB Postgres Extended Server version.

      sudo apt-get install edb-postgresextended-sslutils-<x>
      Note

      Ubuntu 20 changed the requirements for accepting certificates.

      • If you want to install the PEM agent on a machine with an old version of sslutils, then you must upgrade sslutils to 1.3. Version 1.3 has a 4096-bit RSA key and sha256 signature algorithm support added to it.
      • If you don't upgrade sslutils to 1.3, then PEM agent might fail to connect to the PEM backend database server, and it might log the error "ca md too weak."
  4. If you're using a firewall, allow access to port 8443 on the server where the PEM web application will be located:

    iptables -t filter -A INPUT -p TCP --dport 8443 -j ACCEPT
  5. Make sure the components Postgres Enterprise Manager depends on are up to date on all servers. You can do this by updating the whole system using your package manager as shown below. If you prefer to update individual packages, a full list of dependencies is provided in Dependencies of the PEM Server and Agent on Linux.

    sudo apt-get update

Install the package

sudo apt-get -y install edb-pem

Initial configuration

# You can configure the PEM server using the following command:
sudo /usr/edb/pem/bin/configure-pem-server.sh

For more details, see Configuring the PEM server on Linux.

Note
  • The operating system user pem is created while installing the PEM server. The PEM server web application is a WSGI application, which runs under Apache HTTPD. The pem application data and the session is saved to this user's home directory.

Supported locales

Currently, the Postgres Enterprise Manager server and web interface support a locale of English(US) en_US and use of a period (.) as a language separator character. Using an alternate locale or a separator character other than a period might cause errors.