These instructions describe how to install and configure the NV5 Geospatial License Server service for use with NV5 Geospatial Solutions, Inc. products.
See the following:
Minimum hardware requirements:
- Disk: 500 MB
- RAM: 4 GB
- CPU: 2 GHz - 2 Cores
The License Server requires an Intel/AMD 64-bit processor and a Linux distribution. In general, the License Server should successfully function on the Linux systems supported by MongoDB Community Server 6.0 and Node.js 18. These include:
- RedHat/CentOS 8.0 and 9.0
- SUSE 12 and 15
- Debian 10 and 11
- Ubuntu 20.04 and 22.04
Note: Installing the License Server on a Docker container is not supported.
For a complete list of the platforms MongoDB Community Server supports, see https://www.mongodb.com/docs/v6.0/administration/production-notes/.
It is recommended that the machine be dedicated to the License Server. Reducing the amount of additional software installed on the machine (particularly server software) will help ensure there are no version conflicts of dependency packages. In particular, other applications that use Node.js or MongoDB Community Server might introduce version incompatibilities that could be difficult to troubleshoot, and could lead to system instability. The License Server does not require a particularly powerful machine to run; however, keeping the software running in relative isolation will minimize the chances of incompatibilities.
The License Server must be installed on a machine that is network-accessible to the client machines that will perform licensing requests. The License Server communicates using a secure and/or non-secure port. These ports may need to be appropriately configured on firewalls or other network devices to allow the required connectivity.
The License Server uses MongoDB Community Server 6.0, which requires a processor with the AVX instruction set. If you are attempting to install on a virtual machine on a processor that supports AVX instructions, you may need to update the virtual machine configuration to enable them. See the MongoDB Production Notes, https://www.mongodb.com/docs/v6.0/administration/production-notes/, for additional information.
License Administrator User Interface Requirements
The following are required to use the License Administrator user interface to manage your License Server licenses:
- Fedora-based Linux with the webkit2gtk and gtk3 packages installed.
Alternately, a command line licensing command can also be used to manage your License Server licenses if a desktop user interface is not available for your server. For details, see the Licensing Utility section.
Root or Sudo Privileges
You need root or sudo privileges to perform the steps in this document.
Note: A graphical session is required to run the License Administrator user interface, which may be invoked during the License Server installation. Some Linux distributions disable this when the sudo command is invoked (i.e., the required DISPLAY environment variable is not set). If this is the case for your Linux distribution, use an alternative to sudo (such as direct root login or su), or the sudo configuration should be updated appropriately.
The License Server is configured to listen to ports 4080 (HTTP) and 40443 (HTTPS) concurrently by default. If a firewall is deployed on the License Server, it will be necessary to configure the firewall to allow external listening connections by the License Server computer on TCP ports 4080 and 40443.
If needed, consult your local system or network administrator for assistance in configuring your server's firewall.
Correct System Time and Date
To allow proper usage monitoring and logging, the system time and date of the License Server computer should be configured to accurately reflect the current time and date.
Install the License Server Service
The License Server requires MongoDB Community Server on the machine. The installer will perform a check to determine if it is already installed. If it is not, you will be prompted to allow installing MongoDB before proceeding to License Server installation. So that MongoDB can be installed for you, you will need to have a package manager on the machine, such as apt-get or yum. If a package manager is not available, MongoDB will need to be installed manually.
Uncompress the setup-license_serverxx-linux.gz archive file that was downloaded to your computer, then unpack the file:
tar -xf setup-license_serverxx-linux.tar
Change to the directory that has the installer script:
Start the installer:
- If prompted, allow installing MongoDB Community Server.
At the "Enter the name of a user account to run the service" prompt, enter one of the following:
- daemon, a generic user ID available in most Linux distributions that can be used to run background services.
- A specific user ID you have created for the purpose of running this license server.
- Your own account name.
When installation is complete, activate the license by entering Yes at the prompt to open the License Administrator.
Optionally, if you have a license.dat file, you can skip the activation process and place the file in the INSTALL_DIR/license_server/license directory.
You can also activate licenses from the command line using the Licensing utility described in this document.
You will be prompted to open the License Administrator after installation is complete. To start the License Administrator at other times (e.g., to deactivate a license), run the license_administrator.sh file located in the INSTALL_DIR/license_server/bin directory.
Use the License Administrator to activate, deactivate, and view ENVI and IDL licenses on the License Server.
If you are upgrading your software version and a new license is required, you can use Upgrade License on a machine with Internet access to automatically get an upgraded license.
To update a license, perform these steps:
Click the Upgrade License button.
The License Administrator checks the licensing portal to determine if a new license is available to you.
If any parts of your license are eligible for upgrade, you will see a list of upgradable Activation Codes. Select the licenses you want to upgrade and click Upgrade License.
Click Close to close the dialog.
This version of the License Server uses a new licensing engine. If you were previously hosting licenses on the legacy licensing engine, you can migrate the licenses from the old licensing engine to the new one using the following:
When the License Administrator appears, click the Migrate License button.
The License Administrator will show the URL for the legacy License Server.
Click the Query button to view the license features on the legacy License Server. Ensure that you will be migrating what you need to the new licensing engine.
Click Migrate. When the migration is complete, the message Migration Successful appears.
Click the View License button to see the migrated licenses.
To activate licenses, click the Activate License button.
Enter (or paste) the activation code that was provided to you in Activation Code column.
By default, a license is activated with a count of 1. You can optionally specify a different count (if available for that license) in the Count column.
You cannot change the count after the license is added. To change the count, you will need to deactivate the code, then re-add it with the new count.
Click the Activate button below the table.
The License Administrator table refreshes to show the activated license.
You can view all activated licenses for the License Server when you click the View License button. Details for each license include the license feature, version, expiration date, and license count.
To deactivate licenses, click the Deactivate License button.
To deactivate all licenses, select the check box at the top of the table, then click the Deactivate button below the table.
To deactivate a specific license, select the check box next to the activation code, then click the Deactivate button.
Connect a Client to the License Server
Clients can connect to the License Server using the License Administrator tool that is installed with their ENVI and IDL software.
To open the License Administrator tool on the client:
- Windows: From the Start menu, select the ENVI-IDL License Administrator under the shortcut group for the product installation. Administrator privileges are required.
Linux: From a terminal window, launch the envi_idl_license_admin command from the INSTALL_DIR/envixx/idlxx/bin/ directory for ENVI installations, or INSTALL_DIR/idlxx/bin/ for IDL installations. Root or sudo permissions are required.
Note: A graphical session is required to run the License Administrator user interface. Some Linux distributions disable this when the sudo command is invoked (i.e., the required DISPLAY environment variable is not set). If this is the case for your Linux distribution, use an alternative to sudo (such as direct root login or su), or the sudo configuration should be updated appropriately.
- Mac: From a Finder window, double-click the LicenseAdminstrator.app icon located under the INSTALL_DIR/envixx/idlxx directory for ENVI installations, or INSTALL_DIR/idlxx for IDL installations. Administrator privileges are required.
This version of the License Server uses a new licensing engine. If you are hosting licenses that were migrated from the legacy licensing engine to the new licensing engine, clients will need to confirm reconnecting to the localhost.
To connect to the License Server:
- Click the Use License Server button.
- The default port number is 4080. To use a secure port (HTTPS), enable the Secure check box. The port number will change to 40443, the default for a secure port.
- Enter the name or IP address of the server. If the License Server is located on the same machine where IDL or ENVI are located, use localhost.
- Click the Connect button.
- Click Close to close the dialog.
Connect a Client to a License Server Using a Text File
If the ENVI or IDL product on the client machine was installed silently, or if it is running the product headless, the client can alternatively set up a text file on the machine to connect to licenses on a License Server.
To create the text file:
Create a plain text file that contains a reference to the License Server URL. Format the text as follows:
Save the file as lic_server.dat.
Copy the file to the client's license subdirectory located under the INSTALL_DIR. The file should have read privileges for all product users.
Examples using the default installation directory on the client:
Windows: C:\Program Files\INSTALL_DIR\license\lic_server.dat
To remove the client's connection to the License Server, delete the lic_server.dat file.
Use the licensing command-line utility to do the following from the command line:
Activate one or more licenses (activate)
Deactivate one or more licenses (deactivate)
Migrate licenses from the legacy licensing engine to the new licensing engine (migrate)
Print the binding keys for the license (get bindings)
Print the license information (show license)
To use the Licensing utility, open a terminal window and change to the INSTALL_DIR/license_server/bin directory.
To activate a license (requires Internet access):
./licensing activate <activation_code>
where <activation code> is in the format 0000-0000-0000-0000. Submitting the activation code contacts the licensing portal with machine binding information. The portal returns a license, which will then be installed.
You can call activate multiple times to add more codes to the existing license, without needing to deactivate.
By default, a license is activated with a count of 1. You can optionally specify a different count by using a slash /. For example:
./licensing activate <activation_code>/2
You cannot change the count after the license is added (the same code cannot be activated multiple times). To change the count, you must deactivate the code, then re-add it with the new count.
You can also enter multiple activation codes of varying counts. For example:
./licensing activate <activation_code1> <activation_code2>/5
where <activation_code1> will be activated with the default count of 1 and <activation_code2> will be activated with a count of 5.
Deactivate licenses before uninstalling the License Server from the machine. To deactivate a license (requires Internet access):
To deactivate all licenses:
To deactivate a specific license:
./licensing deactivate <activation_code>
where <activation_code> is in the format 0000-0000-0000-0000.
This version of the License Server uses a new licensing engine. If you were previously hosting licenses on the legacy licensing engine, you can migrate them to the new licensing engine using the following:
To migrate licenses using the default localhost URL:
The following option can be used to specify a different localhost:
Print Binding Keys
To print the machine's key binding to the screen:
./licensing get bindings
Print License Details
To print license details to the screen:
./licensing show license
Other Options with the License Utility
The following options can also be used with the licensing command-line utility:
To use a proxy server:
--proxy_server: The proxy server host name or IP address.
--proxy_port: The proxy server TCP port.
--proxy_username: The proxy server username.
--proxy_password: The proxy server password.
The Licensing utility automatically detects the licensing folder in the folder hierarchy, but if the folder is in a different location, override with the following:
--path: The license file path.
The following options are available for logging:
--log: To specify the name of the log file.
--loglevel: To specify the level of logging information. The default level is INFO, but for troubleshooting purposes, you may be instructed by NV5 Geospatial Solutions Technical Support to change this setting.
--verbose: To enable more verbose logging.
To specify a file to direct all output to:
If not specified, output is written to sdtout.
License Server Configuration
See License Server Configuration for details on the configuration file settings.
Uninstall the License Server Service
You can use a script to uninstall the License Server, or you can uninstall it manually.
To use the uninstall script:
An uninstall script is located in INSTALL_DIR/license_server/scripts/uninstall_linux.sh. The script deactivates licenses on the server, stops the server, and removes the License Server.
To run the script, enter the following at the command prompt:
To manually uninstall:
- Navigate to the License Server installation directory (INSTALL_DIR/license_server).
If the license was activated with a code, deactivate the license (skip this step if using a license.dat file):
sudo bin/licensing deactivate
Stop the service:
sudo ./service.js remove
Remove the License Server:
sudo rm -rf install_location
If you need assistance, visit our website to find worldwide contact information for technical support.