Skip to main content

Install Broker

The Broker runs on your license server machine. It collects license usage data from your license managers and sends it to the OpenLM Platform through the Broker Hub.

The Broker is Java-based and can run on any Java-supported platform. It is installed on (or next to) the license server machine. On Windows, a Java Runtime Environment (JRE) is bundled with the installer; on Linux/Unix a working Java 8 or 11 install must already be present.

Before you begin

  • Verify that the license server machine meets the system requirements.
  • Confirm you have the authorization file for this Broker.
  • Confirm network access from the Broker machine to your license manager server and to the internet (port 443).

Installation overview

The sections that follow walk through the same process in detail for Windows and for Linux/Unix.

Install on Windows

Both installation methods require the OpenLM Broker installer from the Downloads page.

Install with the installation wizard

  1. Open the installer file (OpenLM.Broker.Installer-#.#.##.##.msi) to initiate installation. A "Preparing to install" screen will appear briefly before the installation Welcome screen.

OpenLM Broker Installer wizard welcome screen.

Installation welcome screen.

  1. Select [Next] to continue with the installation. The License Agreement screen will appear.

License agreement screen.

  1. If you agree to the terms and want to continue with the installation, select the "I Agree" radio button. Selecting the radio button will enable the [Next] button. Selecting [Cancel] will exit the installer without any changes.

License agreement with "I Agree" checked.

  1. Select [Next]. The Java selection screen will appear. Either accept the bundled OpenJDK distribution or point to a path where Java 8 or 11 is already installed.

The Java selection screen.

  1. Select [Next]. The Select Installation Folder screen will appear with the default installation path.

Select the Installation Folder screen.

  1. [Optional] Select [Browse] to select a different installation path. The default path is recommended.

  2. Select [Next]. An installation confirmation screen will appear.

Installation confirmation screen.

  1. Select [Next] to continue with the installation. An installation progress screen will appear. The installation will continue until completion. The Success screen will appear at the end of a successful installation, followed by the Broker Initial Setup window.

Installation progress screen.

Notification of successful installation and Broker Initial Setup window.

  1. Select [Close] to exit the installer.

  2. In the Broker Initial Setup window, select the OpenLM Cloud Account option, then import the authorization file you generated for this Broker: select [Import Broker Authorization File] and indicate the path where the file was downloaded. After importing, the connection fields are populated automatically (you can also paste the Client ID and Client Secret manually). Select [Next] to complete the setup.

At this point, the OpenLM Broker installation is complete.

Silent installation

System administrators who need to deploy multiple installations may find it easier and more efficient to perform a silent installation. This method allows you to install OpenLM Broker with predefined options and no on-screen 'wizard' assistance. The installation will also run the Broker's autodetect functionality to automatically detect and configure certain license managers (for example, FLEXlm).

  1. Open a command prompt with administrative privileges. The command prompt can be run in several ways:
  • Type cmd in the taskbar search field and press [ENTER]. Open the context menu of "Command Prompt" in the results list and select "Run as administrator" from the popup menu.
  • Launch the EXE directly by right-clicking (for example, from C:\Windows\System32\cmd.exe) and selecting "Run as administrator" from the popup window.
  • Open Windows PowerShell from the Start Menu. Open the context menu of Start then select Windows PowerShell (Admin). This will open Windows PowerShell in administration mode.
  1. Launch msiexec with the required parameters for installation in the command prompt using the following format:
msiexec /i "<full Broker MSI file path>" /qn TRANSFORMS=":I01" MSINEWINSTANCE="1" <parameters>

The TRANSFORMS and MSINEWINSTANCE flags indicate the instance ID of the installation. Change the number if installing additional instances of Broker (for example, ":I02" and "2" if it's a second installation on the same machine and so on).

The following parameters are available:

  • INSTALLLOCATION - specifies the installation folder. Use if you want to change from the default one. If the folder does not exist, it will be created. If this parameter is omitted, the default installation folder will be used (for example, C:\Program Files (x86)\OpenLM\OpenLM Broker)
  • BROKERXML - specify a Broker.xml file to be copied in the Broker folder and used as the default configuration file
  • USE_OPENLM_JAVA - set to "true" to install and use the bundled OpenLM Java runtime instead of a Java installation already present on the machine

For example, the command for a silent installation with a log file would look like the following:

msiexec /i "C:\Users\admin\Desktop\OpenLM_Broker_22.3.30.1312.msi" /qn TRANSFORMS=":I01" MSINEWINSTANCE="1" USE_OPENLM_JAVA="true" /l*v "C:\Users\admin\Desktop\log.txt"
  1. After entering the installation command, press [Enter] to launch the installation. The command prompt will advance to a new line and installation will be completed in the background.

  2. Close the command prompt.

As this is a silent installation, no additional user input is required. Older OpenLM Broker versions will be upgraded if an earlier version is found in the installation folder.

Install on Linux/Unix

The following instructions apply to Linux/Unix-based systems for different types of distributions that use both systemd and alternative init systems. They have been tested on Ubuntu 18.04 LTS, however, they should apply to other distributions as well.

Broker for Linux is distributed in three formats on the Downloads page: a tar.gz archive that works on every distribution (documented below), plus native DEB and RPM packages for Debian/Ubuntu and RHEL-family systems — see Install from a DEB or RPM package.

A working install of JDK must be present on the machine. Consult the system requirements page for the correct version.

Preliminary steps

  1. Download the latest version of Broker for Unix/Linux from the Downloads page.

  2. Extract the archive (OpenLM_Broker_#.#.#.#.tar.gz) to a convenient location.

  3. Open the settings.sh file in your editor of choice. This file holds all the variables required for Broker to operate. It is mandatory to modify the JAVA_HOME variable so that it points to the path of your Java 8 or 11 install.

The JAVA_HOME path must not end with a trailing slash.

Optionally, you can also edit the BROKERSRVNAMEUSER variable in case you need to launch the service from an account that is different from "root". In this case, you must ensure that all the files in the "OpenLM_Broker_X.X.X.X" folder have their ownership reassigned to the new user.

The BROKERSRVNAME variable can be changed when you want to install multiple instances of OpenLM Broker in parallel.

Example file:

#!/usr/bin/env bash

# Edit this file and customize service name in order to install multiple Broker services in parallel

BROKERSRVNAMEUSER="JohnDoe"

BROKERSRVNAME="openlm_broker_$BROKERSRVNAMEUSER"

BROKERSRVNAMEFILE="$BROKERSRVNAME.service"

#Change JAVA_HOME to point at installation folder

[[ -z "$JAVA_HOME" ]] && JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
  1. Save the file and continue with the installation steps that match your Linux distribution.

Install Broker as a service (systemd)

If your Linux version supports systemd, the following steps will install OpenLM Broker as a service which starts automatically on system start up:

  1. Install the Broker as a service:
sudo ./broker.sh install
  1. Test the status of the Broker service:
sudo ./broker.sh status
  1. Run the Broker detection script as described in Configuring Broker with detect.sh. Alternatively, if your Linux install has a desktop user interface, you can run the GUI Broker Configuration tool with:
sudo ./broker.sh config

Run Broker as a background process (no systemd)

If your Linux version does not support systemd, the following steps will run OpenLM Broker as a background process instead:

  1. Run the Broker process with:
sudo ./broker.sh start

To open the Broker configuration screen:

sudo ./run_brokerconfig.sh

Install from a DEB or RPM package

Instead of the tar.gz archive, you can install the native package for your distribution, downloaded from the same Downloads page.

On Debian/Ubuntu systems:

sudo dpkg -i <openlm-broker-package>.deb
# If dpkg reports missing dependencies, resolve them with:
sudo apt-get install -f

On RHEL-family systems:

sudo rpm -ivh <openlm-broker-package>.rpm

After the package installs, configure the Broker with detect.sh and import the authorization file exactly as described in Configuring Broker with detect.sh.

Broker.sh commands

Command nameDescription
installInstalls OpenLM Broker as a service using "systemctl enable"
uninstallDeactivates an already installed OpenLM Broker instance from starting as a service
startStarts the OpenLM Broker service
stopStops the OpenLM Broker service
restartRestarts the OpenLM Broker service
statusDisplays the current status of the OpenLM Broker service
configLaunches the GUI Broker configuration tool

Command format:

sudo ./broker.sh <command>

Configuring Broker with detect.sh

The function of this script is to detect and add supported license managers ports to the Broker configuration file.

For proper operation, detect.sh has to be run as root.

There are a couple of behaviors that this script exhibits:

  • Running detect.sh when no configuration file exists will create a default configuration file with the license manager ports that have been detected as open on the machine.
  • Running detect.sh when a configuration file already exists will merge the two files, adding any missing port information to broker.xml. A copy of the original file is created as "broker.xml.backup".

Command format:

sudo ./detect.sh <fileName.xml>

For example, this command adds the ports from addonports.xml to the main broker.xml file:

sudo ./detect.sh addonports.xml

To connect the Broker to the OpenLM Platform, import the authorization file you generated for this Broker using auth_import.sh:

  1. Copy the downloaded authorization .json file to the folder where OpenLM Broker is installed.

  2. Import it as root:

    sudo ./auth_import.sh <authorization-file>.json
  3. Restart the Broker service/process:

    sudo ./broker.sh restart

You can also import a configuration file from a different machine — useful when specific ports must be configured but the machine has no desktop environment for the graphical Broker configuration tool. Copy the broker.xml from an already-configured Broker machine and import it with detect.sh. If a broker.xml already exists on the target machine, rename the copied file first:

sudo ./detect.sh brokerAddon.xml

Upgrading an existing Broker installation

To upgrade an existing installation of OpenLM Broker:

  1. Download the latest version of OpenLM Broker for Unix/Linux from the Downloads page.
  2. Remove the current Broker installation
    • If using systemd, uninstall the current Broker services with:

      ./broker.sh uninstall
    • If you are not using systemd, stop the Broker process:

      ./broker.sh stop
  3. Extract the archive (OpenLM_Broker_#.#.#.#.tar.gz) to a convenient location.
  4. Copy the broker.xml and settings.sh files from the previous Broker installation folder to the new folder, overwriting if required.
  5. Install the Broker services for the new version from the new OpenLM_Broker_x.x.x.x folder
    • If using systemd, install the service:

      ./broker.sh install
    • If not using systemd, start the process:

      ./broker.sh start

IMPORTANT: If your OS does not have systemd, you also need to replace broker.sh with the older script from the broker.sh.tar.gz archive available inside the main Broker archive.

It's good practice to verify that the settings and license servers have remained the same in the GUI (if your Linux install has one) by running ./broker.sh config, as well as checking that the Broker-monitored license managers are showing up in the Broker Hub.

Import a TLS certificate into the Broker's Java keystore

When the Broker connects over HTTPS to an on-premises OpenLM deployment (a self-hosted OpenLM Platform or OpenLM SLM) whose certificate Java does not already trust, configure Java to trust the server's TLS certificate:

  1. Use HTTPS in the OpenLM server URL — make sure the URL uses the https:// scheme: https://<your-openlm-server>:<port>.

  2. Check whether Java already trusts the certificate. Some Java distributions automatically import TLS certificates from the system trust store. Test the connection first — if the Broker connects successfully, no further action is needed.

  3. Troubleshoot SSL errors. If you receive SSL-related errors, the usual causes are: Java lacks permission to read the trusted root certificate directory, Java is not configured to use the system trust store, or the certificate must be added to the Java KeyStore manually.

  4. Import the certificate with keytool if needed:

    keytool -import -trustcacerts \
    -keystore $JAVA_HOME/lib/security/cacerts \
    -storepass changeit \
    -noprompt \
    -alias mycert \
    -file my-cert.pem

    Note: Only .crt, .cer, or .pem files are supported. If you have a .pfx file, convert it to .crt before importing.

  5. Restart the Broker service/process to apply the change.

Verify the connection

After installation, open the OpenLM Platform and navigate to the Broker Hub. The new Broker first appears under Pending Brokers — select it and choose Approve Brokers. Once approved, it moves to the Brokers list with status Up.

Next step

Continue to Install Workstation Agent to collect activity data from end-user machines.