Installing on Linux

This section describes how to install the Avantra Server on a Unix-like operating system.

For our quick installer, a one-line Avantra Server command to install our server, all necessary dependencies (including PostgreSQL) and a local Avantra Agent, please follow these instructions.

Preparing the Installation

You have to be familiar with the following topics to perform this installation:

  • Adding users and groups

  • Using package managers

  • Managing the cron facility

  • Creating file systems (if desired)

Perform these steps as user root:

Operating system user and group

If you intend to run the Avantra Server with one of the major cloud providers, you can use the standard user of the installation image and work with the sudo command.

  1. Create an operating system group avantra.

  2. Create an operating system user avantra. Add this user to the avantra group and create a home directory /home/avantra. We recommend using a sh-like login shell, like bash or ksh.

Create a File System

  1. Unless completed already, create a file system /avantra of at least 30 GB size, or create a directory somewhere in an existing file system (having at least the required free space) and make a symbolic link /avantra to the newly-created directory.

  2. Change the ownership of the /avantra directory to the user and group avantra:

root$ chown -R avantra:avantra /avantra

Installing the 64-bit Java Runtime Environment (on Unix-like operating systems)

Unless you have a 64-bit Java 8 Runtime Environment installed, you now have to do so.

On Unix-like operating systems you can usually install the 64-bit Java 8 Runtime Environment using the standard package management for the operating system. This is the recommended way since it usually also provides ways for automatic updates, etc.

If you do not want to use a package manager, see Avantra and Java.

Installing the PostgreSQL RDBMS

PostgreSQL is included in various Linux distributions, and the PostgreSQL project describes many ways to install the RDBMS in a way that integrates well with the Linux package management process. The big advantage of these installations is that they automatically cover patch updates. Therefore, our best practice recommendation is to use your own OS package manager in line with your corporate IT policies and guidance.

Furthermore, all major cloud providers offer PostgreSQL as a service. Our Avantra for AWS solution leverages Amazon RDS for PostgreSQL in the same way that Avantra for GCP uses Cloud SQL for PostgreSQL. Microsoft Azure offers Azure Database for PostgreSQL, and AWS offers a PostgreSQL-compatible version of Amazon Aurora. All of these different options - Linux packages and cloud services - work great with Avantra Server if you keep a few considerations in mind.

The Avantra Server on Unix supports the following PostgreSQL versions:

  • PostgreSQL 15.x

  • PostgreSQL 14.x

  • PostgreSQL 13.x

  • PostgreSQL 12.x

  • PostgreSQL 11.x

Avantra previously supported PostgreSQL 9.6 however this is now no longer supported by PostgreSQL and is no longer recommended for use with Avantra.

When deciding to use a standard package, make sure it is one of the supported versions. Even widely used Linux distributions may offer relatively old (and therefore unsupported) versions of PostgreSQL.

Procedure: Configuring PostgreSQL for Avantra Server

Step 1. Create a database user that has permissions to create databases for the Avantra Setup to run. If you have installed one of the standard packages, initialized and started the database cluster, you can do so with the following command:

sudo -u postgres createuser --interactive --createdb --no-createrole --no-superuser --pwprompt

If you are using one of the cloud services, please refer to the related documentation.

Step 2. By default, PostgreSQL only listens on the loopback (or localhost) address. If your Avantra Server is not installed on the same server as the PostgreSQL database, you need to configure the PostgreSQL listener to accept traffic on all network interfaces. This can be done in the postgresql.conf file.

Use the following command to determine the location of the postgresql.conf file:

sudo -u postgres psql -c "show config_file"

Then change the line containing the listen_address statement to:

listen_addresses = '*'       # what IP address(es) to listen on;
                             # comma-separated list of addresses;
                             # defaults to 'localhost'; use '*' for all
                             # (change requires restart)

Make sure you restart PostgreSQL after these changes. If you use one of the cloud services, there is most likely nothing to do for you.

Step 3. By default, PostgreSQL restricts access to the listener by means of host-based access control files to local connections only. If your Avantra Server is not installed on the same server as the PostgreSQL database, you need to configure the PostgreSQL listener to allow connections from the Avantra Server. This is done in the pg_hba.conf file.

Use the following command to determine the location of the pg_hba.conf file:

sudo -u postgres psql -c "show hba_file"

Then append the line host all all <address> md5 with <address> the IP address of the Avantra Server (or the network it is located in) in CIDR notation.

See also the pg_hba.conf file.

Make sure you restart PostgreSQL after these changes. If you use one of the cloud services, there is most likely nothing to do for you.

Step 4. The final step is to make sure that there is no host-based firewall or SE Linux configuration on the PosgreSQL server preventing the connection from the Avantra server. The same is true for any network firewall. This is something that you definitely need to take care of if you use cloud services.

Previous versions of Avantra (prior to and incl. 20.5) included an optional pre-configured PostgreSQL installer to simplify installation in demo and non-production environments. Please note that this package is no longer supported and will not be maintained. We highly recommend switching to a package-manager and supported version of PostgreSQL to ensure you are receiving regular updates for your database installation. For guidance on how to migrate to another PostgreSQL installation, please see this solution document.

Installing the Avantra Server Components

Perform the following steps as user avantra (or as user root if you plan to use ports 80 and/or 443 as described in item Running the UI on port 80/443 of Installation Notes):

Make sure to install the Fontconfig and DejaVu fonts package according to your Linux distribution. For Redhat 8 or CentOS 8, please also install the libnsl`package: `sudo dnf install libnsl

Procedure: Running the Avantra Server installer:

  1. Download avantra-server-23.0-[os].bin from the SERVER RELEASE 23.0 section at the Support menu of avantra.com and save it to /avantra.

    Make sure the file is executable:

    avantra$ chmod 755 avantra-server-23.0-[os].bin
  2. If the Java Runtime Environment 8 is installed and on your path, run

    avantra$ ./avantra-server-23.0-[os].bin

    Otherwise run

    avantra$ ./avantra-server-23.0-[os].bin -- --jvm=[path_to_java_executable]

    where [path_to_java_executable] the absolute path of the java executable.

    NOTE: Yes, it’s really -- first and then --jvm.

  3. You will be asked to define the HTTP and HTTPS ports for Avantra WebUI to use. We recommend you choose to redirect the HTTP port to the HTTPS port and use HTTPS by default.

  4. Once finished, the installer automatically starts Avantra Server and Avantra WebUI via the web user interface.

A number of command line flags are available to influence the installer.

The flags must follow a -- after the installer name e.g. ./avantra-server-23.0.3.bin — --no-start --silent

Installer Flag Purpose

--jvm, -j

Specify the location of the Java virtual machine

--no-start

Do not start services after installation or upgrade

--jvmargs

Arguments to be passed to the underlying JVM

--skip-xangui

Do not install/upgrade the UI component

--skip-master

Do not install/upgrade the server component

--silent

Do not prompt the user for any input

-C xangui.port=8080

Set the UI HTTP port to 8080

-C xangui.sslPort=8443

Set the UI HTTPS port to 8443

-C xangui.redirectHttpToHttps=yes

Redirect the HTTP port to HTTPS

-C xangui.keyStorePath=/path/file.ks

The path to the keystore where the UI certificate lives

-C xangui.keyStorePassword=trustMe123

The password for the keystore

-C xangui.trustStorePath=/path/file.ts

The path to the keystore where the truststore lives

-C xangui.trustStorePassword=trustMe123

The password for the truststore

-C xangui.certAlias=certificateAliasName

The alias for the UI certificate in the keystore

Staging the Avantra Database on Unix

  1. Open your browser at https://[avantra_server]:[port] (with port as defined above)

  2. Choose PostgreSQL and push Next.

  3. Fill in the name of your Avantra Server into Host / Port. You do not need to define the port. Push Next.

  4. Fill in the user and password you defined in Step 3 of Procedure: Running the PostgreSQL installer into SQL User / Password. Push Next.

  5. Define a name for the database. You will usually leave this to the default value avantra. Push the Create Database & Check button.

  6. Define the application root user. Fill in values for Root user name and Root user password and push the Create button.

    Note down these credentials carefully and keep them at hand. For the time being, this will be the only way to access the application!

  7. Push Save and switch to Avantra UI to finish the installation.

Including Avantra Daemons in the system init process

To automatically start the Avantra Server components at the system’s boot up and terminate them properly at shutdown, you may want to include them in your system initialization process. Please refer to your system documentation.

Start the different components in the following order:

For the shutdown procedure, use the reverse order.

Starting and Stopping Avantra Server components manually

You may use the following commands to stop Avantra Server components manually. Use that order to stop the whole system:

Avantra WebUI

/avantra/xangui/rc.xangui stop

Avantra Server

/avantra/master/rc.master stop

You may use the following commands to start Avantra Server components manually. Use that order to start the whole system:

Avantra Server

/avantra/master/rc.master start

Avantra WebUI

/avantra/xangui/rc.xangui start

Previously (version 20.5 and below), Avantra supplied a pre-packaged PostgreSQL 9.6 installation. Please note that this PostgreSQL version and its use with Avantra are unsupported as this version of PostgreSQL is out of support.

We recommend migrating to a package-manager provided installation of PostgreSQL. Customers still using this version for test and demo purposes can use the commands below.

To stop the system:

Avantra WebUI

/avantra/xangui/rc.xangui stop

Avantra Server

/avantra/master/rc.master stop

Avantra Database

/avantra/xandriadb/rc.xandriadb stop

To start the system:

Avantra Database

/avantra/xandriadb/rc.xandriadb start

Avantra Server

/avantra/master/rc.master start

Avantra WebUI

/avantra/xangui/rc.xangui start