License server installation guide

Introduction

This guide describes how to install and configure a license server on Windows and Linux. The Mac OS X platform is currently not supported. This is relevant only if you have a floating license file.

Tip

If you are not sure whether your license file is floating or not, ask your QuantumWise contact person, or have a look inside the license file itself (it’s just a text file). If it contains lines with the keyword “COUNT”, it is a floating license.

QuantumWise uses the LM-X License Manager from X-Formation to ensure that the usage of VNL and ATK complies with the terms in the license agreement. Below you will find information regarding the points which are most relevant for the operation of VNL and ATK; for more detailed information about the LM-X license system, please refer to the LM-X End Users Guide.

Table of Contents:

Preparations

  1. Before you can set up the license server you must have a floating license file. Determine the host ID of the license server and provide this information to QuantumWise to obtain a floating license file.

    Note

    If you will install the license server on the same machine where you have installed ATK and VNL you can skip step 2 below and go directly to the next section. You will find the relevant files in the license directory in the VNL installation.

  2. Download and extract the license server archive (ZIP file) for the relevant platform from the QuantumWise website.

You can now proceed with the following sections which describe how to install, configure, and operate the license server on Windows and Linux.

Install the license server

Linux

The recommended way to set up the license server on Linux is to install it as a system service. That way it is automatically started each time the server reboots, and it will run in the background.

If you desire more manual control of the server, you can run it in the foreground as a normal program. This can be useful for troubleshooting, but requires that you start and keep the license server running manually. See the appendix for more details.

A step-by-step installer called lmx-enduser-tools_v4.8.1_linux_x64_rhel5.sh is provided in the license server directory.

Important

You need to install the server as root (or run with sudo). However, the server should be configured to run using a normal user account, since the service listens to requests from the network and thus is prone to intrusion attempts. When asked Run LM-X License Server under a different username than the current [root], enter a valid username other than root; this can be any user account that has a writable home directory (shell access is not required).

  1. Execute the installer with $ sudo ./lmx-enduser-tools_v4.8.1_linux_x64_rhel5.sh and follow the step-by-step instructions:

    $ sudo ./lmx-enduser-tools_v4.8.1_linux_x64_rhel5.sh
    Verifying archive integrity... All good.
    Uncompressing LM-X Enduser Tools v4.8.1  100%
    
    LM-X End-user Tools 4.8.1 installer.
    Copyright (C) 2002-2015 X-Formation. All rights reserved.
    
    -- You must accept the terms of the End User License Agreement (EULA) before
    -- installing and using LM-X End-user Tools.
    
    -> X-Formation EULA [REJECT/accept/display]: accept
    -> Enter installation directory [/usr/lmx-4.8.1]:
    
    -- You can optionally install LM-X license server.
    -- To install LM-X license server, you must have a liblmxvendor.so
    -- library, which is supplied by your application vendor.
    
    -> Do you want to install LM-X license server? [Y/n]: y
    
    -- LM-X License Server requires the liblmxvendor.so library.
    -- Please contact your license server vendor if you have
    -- not obtained this library yet.
    -- The library will be copied from chosen path
    -- to /usr/lmx-4.8.1.
    
    -> Enter path to search for liblmxvendor.so: [/home/user]:  /home/user/QuantumWise/VNL-ATK-2016/license
    -- Searching for liblmxvendor.so in /home/user/QuantumWise/VNL-ATK-2016/license... done.
       [0] /home/user/QuantumWise/VNL-ATK-2016/license/liblmxvendor.so
    -> Enter a number corresponding to liblmxvendor.so file path in the above list [0]:
    -> Run LM-X License Server under a different username than the current [root]:  user
    -> Do you want to extract files to /usr/lmx-4.8.1? [Y/n]: y
    -- Copying files...  done.
    -- Creating /etc/init.d/lmxserv481 init script...  done.
    -> Do you want to start LM-X License Server 4.8.1 automatically during system startup? [Y/n]: y
    -- Registering lmxserv481 with update-rc.d...  done.
    -> Do you want to start LM-X License Server 4.8.1 now? [Y/n]: y
    -- Starting LM-X License Server 4.8.1... done.
    -- To access the UI please use License Server Client.
    
    -- Installation of LM-X End-user Tools 4.8.1 completed successfully.
    -- For detailed installation log see /var/log/lmx_serv_installation.log.
    

    Note

    The liblmxvendor.so file is included in the downloaded archive file or in the VNL/ATK instalaltion, in the license directory.

  2. Add the license file. License files are installed in the directory .x-formation in the home directory of the user under which the server is running. Copy your license file in this location.

  3. Change the remote administration password. Open the configuration file /usr/lmx-4.8.1./lmx-serv.cfg in an editor. Locate the variable REMOTE_ACCESS_PASSWORD and change the password from the default to something else.

  4. Restart the server to activate the change to the license file and configuration file using:

    sudo /etc/init.d/lmxserv481 restart
    

    The server is installed as a script in /etc/init.d with the usual “S” and “K” links for the different runlevels in /etc/rc.5, /etc/rc.6, etc.

Install a license server - Windows

Follow these steps to install the LM-X license server as a service on Windows.

Important

If you are asked if the license server should be allowed to access the network, you must agree.

Locate lmx-enduser-tools_v4.8.7_win64_x64.msi either in the directory license in your VNL/ATK installation, or where you extracted the separate server package. Run it, and follow the step-by-step instructions.

  1. After the usual initial steps of approving the license agreement and choosing the installation location (C:\Program Files\X-formation\LM-X End-User-Tools 4.8.7 x64), a page will appear where you are asked if you want to install the LM-X license server.

    ../../_images/lmxserver1.png
  2. In order to proceed, you need to specify the location of liblmxvendor.dll. This file is included in same directory as the msi file or int the VNL/ATK installation, in the license directory.

    ../../_images/liblmxvendordll.png
  3. Check the box “Start LM-X license server after installation”, and click Next and then Install.

    ../../_images/lmxserver2.png
  4. Be sure the box “Open LM-X license server web-based UI” is not checked, and click Finish.

    ../../_images/lmxserver3.png
  5. The next step is to add the license file to the server. To install a new license file on the license server, copy it to C:\Windows\system32\config\systemprofile\AppData\Local\x-formation.

  6. Change the remote administration password. Open the configuration file lmx-serv.cfg in an editor. The file is located in the LM-X installation directory (C:\Program Files\X-formation\LM-X End-User-Tools 4.8.7 x64). Locate the variable REMOTE_ACCESS_PASSWORD and change the password from the default to something else.

  7. Restart the server. You can use the Services administrative tool to stop, start and restart the service. The easiest way to start this tool (on Windows 7, 8, and 10) is to go to the Start menu and just type “services”. From this tool you can stop and start the service, for instance if you have installed a new license file.

    ../../_images/services.png

Verifying the license server setup

This section describes how to verify that the clients can connect to the license server. If the client is unable to connect to the license server, the most likely reason is that the communication is blocked by firewall rules. To resolve this, open port number 6200 (TCP and UDP) in the firewall, both on the server and the clients, and possibly (but less likely) on any router or hardware firewall in between them.

Linux

A convenient way to check that a license server can be properly reached from the client computers is to run

lmxendutil -licstat -network -host serverhostname

on the clients (replace “serverhostname” with the actual license server hostname or IP address). If the client can reach the license server, it will print information about the server and the license usage:

++++++++++++++++++++++++++++++++++++++++
LM-X License Server on 6200@serverhostname:

Server version: v4.8.1 Uptime: 0 hour(s) 5 min(s) 18 sec(s)
----------------------------------------
Feature: atkpython Version: 16.0 Vendor: QUANTUM
Start date: NONE Expire date: 2016-12-31
Key type: EXCLUSIVE

0 of 1 license(s) used

You should also see a few messages in the license server log about the client request.

Windows

The instructions above for Linux are valid for Windows as well. However, Windows users can also run lmxconfigtool.exe contained in the license folder present in the VNL/ATK installation.

Select the Query License Server tab and input the name or IP address of the server:

../../_images/check_license_windows.png

Client side license management

You are now ready to set up the license configuration of VNL and ATK to check out the license server you just installed. In order to do that see the detailed instructions repoted in Configuring the license section.

Uninstall the license server

Linux

To uninstall the license server use the update-rc.d or chkconfig tools available for your Linux distribution to remove the service lmxserv481.

Windows

To uninstall the service, you must use the command line. Open a terminal as Administrator, by going to the Start menu and typing “cmd”. When the suggested application appears, right-click it and choose “Run as administrator”.

Determine the unique ID of the LM-X service by running

sc query state= all | findstr lmx
../../_images/cmd.png

Then run

sc delete lmx-serv_1c4b667c8ce35204ad2cfa6589de18c74aa5e988

(of course using the specific ID of the service on your machine) to uninstall the license server. You can also use this way “start” and “stop” the service from the command line (there is however no “restart” command, you must use stop/start).

Appendix

Running a license server manually

This is a condensed description of how to run a license server manually. The highlighted procedure is for Linux but it is valid for Windows as well. Running the server manually is mostly intended for troubleshooting sessions - otherwise, install the install license server as a service, so that it restarts on reboot. This section assumes that you are reasonably experienced with system maintenance.

  1. Open a terminal and “cd” into the directory containing the license server binaries (see above). This directory will symbolically be called INSTALL_DIR below.

  2. Open the file lmx-serv.cfg in an editor. Locate the variable REMOTE_ACCESS_PASSWORD and change the password from the default to something else.

  3. Start the license server as a background service by using the command (change the paths first!)

    ./lmx_server -b -l /path/to/licensefile.lic -c INSTALL_DIR/servertools/lmx-serv.cfg -lf /var/log/lmxserver.log
    

    You are free to place the license file and the log file anywhere you want, as long as you specify the full path.

  4. Start the license server this way each time the server is rebooted.

Note

  • The log file (option -lf) records information and error messages from the server and also shows whenever someone checks out or in a license.
  • The file names for the license file and the log file must be specified with absolute path.
  • Never run the license server as root!
  • lmx_server is a bash script which wraps around the actual license server binary lmx-serv. To run the binary directly you must stand in the same directory where it resides; the wrapper script gets around this limitation.
  • Always take care to change the server password in the configuration file.
  • Also see the section on additional options to the license server.

If you omit the -b switch, the server will run in the foreground. In this case, also leave out the log file -lf argument, and then you can monitor the operation of the server in the terminal.

[2016-07-14 12:57:07] Minimum user remove time set to 120 seconds.
[2016-07-14 12:57:07] LM-X License Server v4.8.1 build ddfca1c6 server1 (Linux_x64)
[2016-07-14 12:57:07] Copyright (C) 2002-2015 X-Formation. All rights reserved.
[2016-07-14 12:57:07] Website: http://www.lm-x.com http://www.x-formation.com
[2016-07-14 12:57:07] License server has pid 29620.
[2016-07-14 12:57:07] Serving licenses for vendor QUANTUM.
[2016-07-14 12:57:07]
[2016-07-14 12:57:07] License server using TCP IPv4 port 6200.
[2016-07-14 12:57:07] License server using TCP IPv6 port 6200.
[2016-07-14 12:57:07] License server using UDP IPv4 port 6200.
[2016-07-14 12:57:07] Reading licenses...
[2016-07-14 12:57:07] License file(s):
[2016-07-14 12:57:07] /home/user/floating_license_file.lic
[2016-07-14 12:57:07] Log file path: /usr/lmx-4.8.1/lmx-serv.log
[2016-07-14 12:57:07] Log to stdout: Yes
[2016-07-14 12:57:07] Log format: Normal
[2016-07-14 12:57:07] Configuration file path: lmx-serv.cfg
[2016-07-14 12:57:07] Serving following features:
[2016-07-14 12:57:07] atkclassical (v16.0) (10 license(s)) license type: exclusive
[2016-07-14 12:57:07] atkdft (v16.0) (1000 license(s)) license type: exclusive
[2016-07-14 12:57:07] atkmaster (v16.0) (4 license(s)) license type: exclusive
[2016-07-14 12:57:07] atkpython (v16.0) (1000 license(s)) license type: exclusive
[2016-07-14 12:57:07] atkse (v16.0) (1000 license(s)) license type: exclusive
[2016-07-14 12:57:07] atkslave (v16.0) (10 license(s)) license type: exclusive
[2016-07-14 12:57:07] atkvasp (v16.0) (1000 license(s)) license type: exclusive
[2016-07-14 12:57:07] vnl (v16.0) (4 license(s)) license type: exclusive
[2016-07-14 12:57:07]
[2016-07-14 12:57:08] To administrate the license server go to your enduser directory
                            and run the License Server Client.
[2016-07-14 12:57:08] Ready to serve...

When troubleshooting, pay attention to errors and warnings, and in particular the line “Serving following features:” and what comes after. If instead you see “No features to serve”, it means there is an error that must be corrected. Also see the section on verifying the license server setup.

Additional options to the license server

There are several additional options that can used to configure the license server. These options are defined in a so-called configuration file, a template for which (lmx-serv.cfg) is included with the license server files.

For general information about this file and the options you can set in it, please refer to the LM-X End Users Guide.

To invoke the configuration file when you start the license server manually on Linux, use the option -c

lmx_server -b -l licensefile.lic -c lmx-serv.cfg -lf logfile

Note

  • If you use the service startup script on Linux, the location of the configuration file is defined in the script via an environment variable and not directly on the command line.

Specifying the server port

The only two options that are activated (the corresponding lines are not commented out) in the default configuration file are the port number and the password for the license server.

By default, the license server uses TPC and UDP ports 6200 for communication across the network. The UDP port is hard coded and cannot be changed, but you can specify a different TCP port (e.g. in case there is a conflict with another LM-X license server). To do so, edit the line in the configuration file:

TCP_LISTEN_PORT = 6200

In this case it is also necessary to explicitly specify the port and hostname of the license server on the clients via the environment variable QUANTUM_LICENSE_PATH. For more information see the Configuring the license section of the installation guide.