Installation of Floating License Server
Download
Please download the RLM license server provided by LieberLieber Software.
RLM license server Windows Version 16
RLM license server Linux Version 16
What´s New in RLM 16.0
Quick installation guide
- Unzip to a folder of choice
- Copy the provided license file to the same folder (you can rename the file, but don't change the file extension)
- Run rlm.exe (Windows) or ./rlm (Linux) depending on your operating system
The License Server
The license server consists of at least two processes
-
The generic server, called rlm
-
At least one ISV server, named isv
The RLM server is provided by Reprise Software and is completely generic. The ISV server is configured to contain license key validation that is ISV-specific.
The RLM server handles requests from clients and directs them to the appropriate ISV server. In addition, the RLM server watches for failures in ISV servers and restarts them when appropriate. The RLM server is also able to provide a status update on the various utilities.
The RLM server initiates a reread of the license files (for itself and any ISV servers) at midnight every night.
The RLM server is delivered with an embedded Web Server to perform normal administration tasks. For more information on the web server interface, see The RLM Web Server
Using RLM across a Firewall
Sometimes it is desirable for the RLM server to be behind a firewall. RLM supports this, but there is a small amount of configuration that you will have to do to use RLM across a firewall.
If you have a firewall installed on the server node which is not allowing your application to access either the rlm port, or the port of the ISV server you must first configure your firewall to allow access to both the main rlm port, as well as the ISV server port. To do this, perform the following steps:
-
In your license file, look at the SERVER (or HOST) and ISV lines: * SERVER server-hostname server-hostid main-rlm-server-port# (Note: the keyword HOST is equivalent to SERVER) * ISV isvname
-
Add the desired port # to the ISV line as follows:
ISV isvname port=isv-port#
-
Next, configure your firewall to allow access to both isv-port# and main-rlm-server-port#
-
Make sure that the license file is updated on the server node, and that the client nodes know how to find rlm – either with a license file with the SERVER line above, or by setting the RLM_LICENSE environment variable to main-rlm-server-port#@server-hostname
-
Re-start rlm – you must restart RLM in order for any port changes to take effect. Restarting the ISV server via the web interface or rlmreread does not restart RLM.
rlm startup options
The rlm command is:
% rlm [-c license_file] [-dat] [-dlog [+]logfile] [-info] [-l] [-noudp]
[-nows | -ws port] [-x [rlmdown|rlmremove]] [-v]
[-install_service] [-service_name sname]
[-user username -password password] [-isv_startup_delay seconds]
The -c license_file option specifies which license file to use. This option overrides the setting of the RLM_LICENSE environment variable. The license_file parameter can be a directory containing license files, all of which will be processed.
The -dat option specifies that license files should have the extension ".dat", rather than ".lic". If -dat is specified, the rlm server will search for all files ending in ".dat" instead of ".lic" as documented elsewhere.
The -dlog logfile specifies the pathname for the server debug log. If logfile is preceded by the '+' character, the logfile will be appended, otherwise it is overwritten.
The -info switch causes RLM to print information about all copies of rlm that are running on this computer, including copies which have run in the prior 24 hours, then exit.
The *-l switch causes rlm to only process command-line utilities from the local host (v12.1+)
The -noudp switch causes rlm to not listen on it's UDP port, so that client broadcasts do not work.
The -nows and -ws port options control the operation of the embedded Web Server. The -nows option instructs the rlm server to not start the embedded web server. The -ws port option instructs the rlm server to use port as the port number for the web server.
The -x [rlmdown | rlmremove] option controls whether the rlmdown and/or rlmremove commands will be processed by the server. Specifying only -x will disable both commands. Specifying either command name after the -x will disable just that command.
The -v option causes RLM to print it's version and exit.
The -install_service and -service_name sname options are used to run the rlm server as a service under windows. See the description of running the rlm server as a service below.
The -isv_startup_delay seconds option specifies that when running as a Windows service, rlm should delay seconds seconds before starting up the ISV servers. If not specified, there is no delay. This is useful if a license file specifies a hostid of type rlmid1 (hardware keys), the server is started at system boot time, and the key driver is not yet started at the time the ISV server needs to read it.
The -user and -password options:
1. Windows expects the username argument to be
- In order to run a service, the account specified by the -user argument must have the "Log on as a Service" property set. For details on how to set that property on an account, see this blog: http://blogs.msdn.com/b/ablock/archive/2008/09/18/setting-the-properties-the-log-on-as-a-service-and-allow-log-on-locally.aspx
These options can appear in any order on the command line.
Note that if the rlm server cannot bind the web server port (5054 by default), it will exit.
Running the rlm server as a service on Windows
On Microsoft Windows servers, you may want to install and run the rlm server as a Windows service process. A service process can start automatically at boot time and remain running as long as the system is up, regardless of user logins and logouts.
You can install RLM as a service only in a command window. Once installed as a service, it remains installed until it is explicitly deleted as a service. Installing RLM as a service does not start RLM; services are started via the Windows Services control panel, and at boot time.
To install RLM as a service in a command window, use the rlm program itself (in a command window), with special arguments:
rlm -install_service -dlog [+]logfile [-service_name sname] <rlm runtime args>
where:
* logfile is the pathname for the server debug log. This parameter is required. If preceded by the '+' character, the logfile will be appended, rather than created.
* sname is an optional name for the installed service. If not specified, sname defaults to "rlm". If sname contains embedded whitespace, it must be enclosed in double quotes.
*
Example with a reference to a folder where the license file is located
rlm -install_service -service_name rlm-xyz -dlog c:\logs\server.log -c c:\licenses\
´
Example pointing directly to the license file:
rlm -install_service -service_name rlm-xyz -dlog c:\logs\server.log -c c:\licenses\xyz.lic
´
This installs rlm as a service under the name "rlm-xyz". When started via the Services control panel or at boot time, rlm will be passed the "-c c:\licenses\xyz.lic" args, and it will write its debuglog information to the file c:\logs\server.log
Installed RLM services are also deleted with the rlm program. Services must be stopped via the service control panel before they can be deleted. Note that deleting a service deletes it from the Windows service database; it does not delete the rlm executable or associated license file(s):
rlm -delete_service [-service_name sname]
where: * sname is an optional name for the installed service. If not specified, service_name defaults to "rlm". If service_name contains embedded whitespace, it must be enclosed in double quotes.
Notes:
* It is desirable to use the -c
Starting the rlm server at system boot time on Linux / Unix systems
On most Unix systems, system services are started at boot time, usually via startup scripts located in /etc/rc.
The startup script should su to a different user so that the rlm servers are not running as root.
The following is an example of a script which would start rlm at boot time on Unix systems. Modify the first 5 variables for the target system.
#!/bin/sh
#
# rlm Start/Stop rlm
#
#----------------------------------------------------------------
#----------------------------------------------------------------
#----------------------------------------------------------------
# NOTE:
# NOTE: Configure these 5 variables for your system
# NOTE:
# Set rlmuser to the user under which rlm will run
rlmuser=bobm
# Set rlmdir to the directory where the rlm binary is found
rlmdir=/home/bobm/rlm/dev/rlm
# Set rlmdir to the directory where the rlmdown binary is found
rlmdowndir=$rlmdir
# Set licfile to the path to the license file
licfile=$rlmdir/x.lic
# Set debuglog to the path to the debug log
debuglog=+$rlmdir/rlm.dl
#----------------------------------------------------------------
#----------------------------------------------------------------
#----------------------------------------------------------------
start() {
echo $debuglog
su - $rlmuser -c "$rlmdir/rlm -c $licfile -dlog $debuglog &"
}
stop() {
su - $rlmuser -c "$rlmdowndir/rlmdown RLM -q"
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
sleep 2
start
;;
*)
echo $"Usage: $0 {start|stop|restart}"
exit 1
esac
exit 0