Setting up a License Server on Linux

This page describes the standard procedure for setting up a FlexNet License Manager on a Linux computer running Ubuntu 16.04. The procedure may vary on other Linux systems.

Before You Begin

The operation of  license server requires an internet connection between the server computer and the client computer(s). The server must accept incoming connections from the clients on two TCP ports: one for the license manager process lmgrd and one for the vendor daemon process plexim.

By default, if you use the server license file plexim.lic provided by Plexim as is, the license manager opens a TPC port in the range 27000-27009 and the vendor daemon opens a port with a random number which is chosen anew whenever the vendor daemon is started.

However, it is considered best practice to assign two dedicated and otherwise unused port numbers (outside the range 27000-27009). You must assign dedicated port numbers if there is a port-based firewall between the server and the client or if there is no free port in the range 27000-27009.

To assign dedicated port numbers, edit the server license file plexim.lic as follows:

SERVER this_host <hostid> <port1>
VENDOR plexim PORT=<port2>
​[...]

If the license manager port number <port1> is outside the range 27000-27009, it must also be specified in the client license file network.lic:

SERVER <licenseserver> ANY <port1>
​USE_SERVER

(Note that the angular brackets < and > are part of the placeholders and are not actually entered into the license files.)

Installation

  1. Install the lsb-core package if not yet installed:
    sudo apt install lsb-core
  2. Download the appropriate Linux package from https://www.plexim.com/dstlm and copy the files e.g. to /opt/PLECS_License_Manager:
    sudo mkdir -p /opt/PLECS_License_Manager
    cd /opt/PLECS_License_Manager
    sudo tar -xzf ~/Downloads/flexnet_11_13_1_linux64.tar.gz
    

    Note: Do not use the folder name Plexim or plexim as this may create a conflict with the locking mechanism of the vendor daemon plexim.

  3. Copy the license file plexim.lic to the same folder /opt/PLECS_License_Manager and ensure that it is world readable:
    sudo chmod 644 /opt/PLECS_License_Manager/plexim.lic
  4. Create a symbolic link from /usr/tmp to the /tmp folder:
    sudo ln -s /tmp /usr/tmp
    sudo chmod 1777 /usr/tmp
  5. Create a new system user and group flexlm:
    sudo adduser --system --group --no-create-home flexlm
  6. Create the log file directory /var/log/flexlm and make it writable for the group flexlm:
    sudo mkdir /var/log/flexlm
    sudo chgrp flexlm /var/log/flexlm
    sudo chmod g+w /var/log/flexlm
  7. Create the text file /etc/systemd/system/PLECS_License_Manager.service with the following contents:
    [Unit]
    Description=PLECS License Manager
    After=network.target network.service
    
    [Service]
    Environment=LICENSE_FILE=/opt/PLECS_License_Manager/plexim.lic
    Environment=LOG_FILE=/var/log/flexlm/PLECS_License_Manager.log
    WorkingDirectory=/opt/PLECS_License_Manager/
    ExecStart=/opt/PLECS_License_Manager/lmgrd -c $LICENSE_FILE -l $LOG_FILE
    Restart=always
    RestartSec=30
    Type=forking
    User=flexlm
    Group=flexlm
    
    [Install]
    WantedBy=multi-user.target
  8. Test whether the service can be started:
    sudo systemctl start PLECS_License_Manager.service
  9. Check the log file /var/log/flexlm/PLECS_License_Manager.log. The final lines should be similar to these (summary log lines (SLOG) omitted):
    14:00:38 (lmgrd) FlexNet Licensing (v11.13.1.3 build 176483 x64_lsb) started on AMPERE (linux)
    14:00:38 (lmgrd) Copyright (c) 1988-2015 Flexera Software LLC. All Rights Reserved.
    14:00:38 (lmgrd) World Wide Web:  http://www.flexerasoftware.com
    14:00:38 (lmgrd) License file(s): /opt/PLECS_License_Manager/plexim.lic
    14:00:38 (lmgrd) lmgrd tcp-port 27000
    14:00:38 (lmgrd) Starting vendor daemons ... 
    14:00:38 (lmgrd) Started plexim (internet tcp_port 52731 pid 1233)
    14:00:38 (plexim) FlexNet Licensing version v11.13.1.3 build 176483 x64_lsb
    14:00:38 (plexim) Server started on AMPERE for:	plecsedit	
    14:00:38 (plexim) EXTERNAL FILTERS are OFF
    14:00:38 (lmgrd) plexim using TCP-port 52731
    
  10. If it works, install the service for automatic start at boot time:
    sudo systemctl enable PLECS_License_Manager.service

Next Steps

Edit the client license file network.lic as needed and distribute it to the end users.

If PLECS cannot obtain a license from the license server, please follow the troubleshooting guide to identify the problem.