This document describes how to install or upgrade OpenLM Broker on Linux/Unix-based systems for different distributions that use both systemd and alternative init systems. The instructions in this guide have been tested on Ubuntu 18.04 LTS, but they should also apply to other distributions.
System Requirements
The machine must be installed with a working JDK. The correct version is listed on the system requirements page.
Installing Broker
Depending on your Linux distribution, there are two ways of installing OpenLM Broker:
- For systems that use systemd, section 2.2 describes how Broker can be installed as a service
- For systems without systemd, section 2.3 describes how Broker can be started as a background process
Preliminary steps
1. Download the latest version of Broker for Unix/Linux from the OpenLM website downloads section.
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 to point to the path of your JDK 11 install.
The JAVA_HOME path must not end with a trailing slash.
Optionally, you can also edit the BROKERSRVNAMEUSER variable if you need to launch the service from an account 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 the service name to install multiple Broker services in parallel BROKERSRVNAMEUSER="JohnDoe" BROKERSRVNAME="openlm_broker_$BROKERSRVNAMEUSER" BROKERSRVNAMEFILE="$BROKERSRVNAME.service" #Change JAVA_HOME to point at the installation folder [[ -z "$JAVA_HOME" ]] && JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
4. Save the file and continue following the installation steps below, depending on your Linux distribution.
Installing Broker as a service
If your Linux version supports systemd, the following steps will install OpenLM Broker as a service, which starts automatically on system startup:
1. Install the Broker as a service:
sudo ./broker.sh install
2. Test the status of the Broker service:
sudo ./broker.sh status
3. Run the Broker detection script per the instructions described in section 4 of this document (“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
Running Broker as a background process
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
For older versions of Linux servers that do not support systemd you can use the run_broker.sh script and add an entry for it in the /etc/rc.local so the Broker will start on reboot.
Upgrading an existing Broker installation
To upgrade an existing installation of OpenLM Broker:
- Download the latest version of OpenLM Broker for Unix/Linux from the OpenLM Downloads section.
- 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
- If using systemd, uninstall the current Broker services with:
- Extract the archive (OpenLM_Broker_#.#.#.#.tar.gz) to a convenient location.
- Copy the broker.xml and settings.sh files from the previous Broker installation folder to the new folder, overwriting if required.
- 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
- If using systemd, install the service:
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, which is 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 and checking that the Broker-monitored license managers are showing up in EasyAdmin’s License Servers window.
Broker.sh commands
Command name | Description |
install | Installs OpenLM Broker as a service using “systemctl enable” |
uninstall | Disables an already installed OpenLM Broker instance from starting as a service |
start | Starts the OpenLM Broker service |
stop | Stops the OpenLM Broker service |
restart | Restarts the OpenLM Broker service |
status | Displays the current status of the OpenLM Broker service |
config | Launches 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 manager 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 detected as open on the machine.
- When a configuration file already exists, run detect. sh, I will merge the two files and add 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> <On Premise OpenLM Server IP/Hostname>
NOTE: The second parameter is optional and applicable only when configuring a connection to an on-premise OpenLM Server.
Examples
This command adds the ports from addonports.xml to the main broker.xml file.
sudo ./detect.sh addonports.xml
This command adds the ports from the specified XML file along with 10.0.0.12 as a connection to an on-premise OpenLM Server, with a default setting to port 7016
sudo ./detect.sh broker.xml 10.0.0.12
Using detect.sh to import an OpenLM Cloud configuration
If you want to configure your Broker installation to connect to OpenLM Cloud, you must:
- Download the attached broker.xml file that was provided in the initial welcome email when you signed up for OpenLM Cloud
- In case your Broker installation is already configured to actively query one or more license managers, rename the new broker.xml file to avoid overriding the old configuration file (e.g., brokerSaaS.xml)
- Copy the file to the location where you have installed OpenLM Broker
- Run detect.sh:
sudo ./detect.sh brokerSaaS.xml
- Restart the Broker service/process:
sudo ./broker.sh restart
Alternate configurations
It is also possible to import a configuration file from a different machine. This can be useful when specific ports need to be configured, but there is no GUI; thus, the graphical Broker configuration tool cannot be used.
In such cases, all that is required is to copy the broker.xml file from an already configured Broker machine and import it with the detect.sh command. If broker.xml already exists on your machine, make sure to rename the copied file:
sudo ./detect.sh brokerAddon.xml