Configure the License Manager
Configuration of the Four Js License Manager (FLM) is managed by the FLM configuration file. The FLMPROFILE environment variable specifies the configuration file to use; if not set, $FLMDIR/etc/flmprofile is used.
The configuration file is in the INI format. Configuration entries are in the format
name-of-resource=value
. For more information about using the
configuration file, see Example: flmprofile.
After making a configuration change, you will need to restart the FLM (at the command line type flmprg --service-restart to restart the server). For more information, see Starting Four Js License Manager and Stopping license manager.
-
Set the value for the FLM server; update the host entry under the
server
element with the name of your host:The default is localhost.# FLM host host=localhost # Default service port port=6800
Note:Working with Docker on macOS:
If you are hosting FLM and docker containers on the same host, it is recommended to configure a mapping to the localhost using a special DNS name which will resolve to the internal IP address used by the host; regardless of changes in the network. See Configure license with FLM for docker on macOS host.
-
Add or update values for the resources shown in Table 1 as required:
Table 1. License Manager Configuration categories and resources Category Description [server]
Configure details of the machine that holds the license service program.Resource Default value Description host=hostname
localhost Specify the host name of the machine. port=value
6800
Specify the port on which the FLM listens. pidfile=filename
none Specify a file that holds the process id of the FLM. For example, pidfile="${FLMDIR}/pidfile"
umask=value
0077
Set permissions for directories such as lock and log. The environment variable, FLM_UMASK, can be used to override configured values. For more information about using UMASk
, go to FLM_UMASK.Warning:The permission mask is applied to the following directories. If you do not set a umask, the default value is applied.The UMASK feature is available on UNIX-like platforms only.
- $FLMDIR/lock
- $FLMDIR/etc
- Log directory as defined in log
[log]
Enable and configure FLM licensing logs. For more information on configuring logs, see Log files and debugging.Resource Default value Description enabled=
{
true|false}
FALSE
Enable or disable logging. directory=dir-path
none Directory where log files are stored. For example, directory="${FLMDIR}/log"
categories=
[
error, info, warning, debug]
none Specifies in a comma-separated list categories of errors to log: categories= "error, info, warning, debug"
The
debug
category will produce an additional log file with the extension .dlog.maxsize= value
{
K | M | G}
-1 (no limit) Set the maximum size for the log file. The size value can be in kilobytes, megabytes, or gigabytes. For example, maxsize=512M
. When the size is reached, the file is closed and a new one is created.maxfiles=value
-1 (no limit) Specify a maximum number of log files to keep. For example, maxfiles=5
. The FLM rotates files by renaming and renumbering them up to themaxfiles
value, for example, flmprgd.log, flmprgd.1.log, flmprgd.2.log, etc. It deletes the file that exceeds themaxfiles
value.syslog=
{
true|
false}
false
Redirect FLM logs to the system log of Unix-like platforms only. Warning:The syslog feature can not be enabled on Windows.
[client]
The client pings the FLM server at the specified interval (30 seconds by default) to confirm its active status.Warning:The client ping feature only works with Genero products 3.21 or greater. If you have Genero 3.20 and 3.10 products running in compatibility mode with license manager 6.00, the ping mechanism cannot be used, and products act as if the feature is disabled.
Resource Default value Description ping.interval=
seconds30 seconds Specify the interval in number of seconds the client must ping the server. The minimum value is 1 and the maximum value is 60 seconds. Any value outside this range raises a warning and the default is used. The ping mechanism cannot be disabled. ping.lost=
value3 Specify the number of missed pings allowed before the FLM kills a session and recovers the license. Pings are missed when the client has failed and is unable to send the pings at the defined ping interval. The minimum value is 1. [reservations]
Identify users or group of users for whom licenses may be reserved. Shared licenses are also supported with reserved licenses. For more information on configuring license reservation, see Manage license reservation (flmprg). Important:License reservation works with Genero 3.21 products or greater, and with Genero 3.20 and 3.10 products when they are run in compatibility mode with license controller (fglWrt/greWrt) v6.00.13 or greater.
Resource Default value Description names=user_group,
[...]
none Identify users. The separator is a comma. For example,
Where "qa", might identify licenses reserved for users testing applications, and "svc" for users using Web services. There is no restriction on the names you choose for user groups. You can set them as you wish.[reservations] names=svc,qa
[reservation.reservation_name]
Declare details for a specific reservation: the reservation_name as defined in [reservations], the license, or license share it affects, the number of reserved licenses, and the date of expiry (if required).Resource Default value Description license=
[
license_number | share_name]
Warning:Although no default is provided, you must set this value to reserve user licenses.
Specify the license number or license share - as defined in Shares - to use for reservation. (For example: license=XXX#XXXXXXXX
license=share_name
)Tip:Share is an alias for "license", so you can use either "
share=share-name
" or "license=share-name
"; both are allowed.count=value
none Number of licenses reserved for users. expiry-date=date
none Date in the format YYYY/MM/DD
when the reservation expires.[reservation.qa] license=TAB#XXXXXXXX count=15 expiry-date=2023/12/31
[reservation.dev] license=dev_licenses # reservation on the share "dev_licenses" count=10
[shares]
Identify users or group of users for whom licenses may be shared. For more information on configuring license sharing, go to Manage license sharing (flmprg). Resource Default value Description names=user_group [...]
none Identify users. The separator is a space. For example,
Where "dev", might identify licenses reserved for users developing applications, and "runtime" for users using runtime licenses. There is no restriction on the names you choose for user groups. You can set them as you wish.[shares] names=dev runtime
[share.share_name]
Declare details for a specific share: the share_name as defined in Shares and the license or licenses it affects.Resource Default value Description licenses=license_number [...]
Warning:Although no default is provided, you must set this value to share user licenses.
Specify the license number or numbers to use for sharing. Licenses must be for the same product, be the same type (development or runtime) and extension (the specific conditions of the license). The separator between license numbers is a space. [share.dev] licenses=TAB#XXX00004 TAB#XXX00005 [share.runtime] licenses=TAB#YYY00004 TAB#YYY00005
[access.deny]
Deny access to the FLM from the specified host, or host with the specified license. Hosts are specified in a comma-separated list inside quotes:
For more information about configuring access, see Restricting access to licenses.license_number="hostname"
[access.allow]
Allow access to the FLM from the specified host, or host with the specified license. Hosts are specified in a comma-separated list inside quotes:
For more information about configuring access, see Restricting access to licenses.license_number="hostname"