How do NoMachine server licenses work (pre-requisites and installation v9)
Starting from version 9, NoMachine offers two ways to validate subscription licenses for NoMachine servers:
1) Online license validation. This license does not include an expiry date and is installed once-only. Your NoMachine server will require outbound Internet access to connect to our licensing server to verify the license. New purchases from the website store are of the "online" type by default.
2) On-premise license validation. This license is suitable for air-gapped networks and includes an expiry date. The license must be replaced each year upon its expiry. If you require this type of license, please contact the sales team.
When purchasing a Server Subscription, the customer receives a subscription file, "server.lic". The subscription period starts with the purchase. The license has to be installed in the NoMachine software version to be able to start using the software.
If you purchased multiple subscriptions, e.g. the Enterprise Desktop pack, the key.tar.gz archive contains the server.lic files numbered progressively, e.g. server-01.lic, server-02.lic, server-03.lic and so on.
As the license holder, you can also download your license file(s) from your User Area.
As a general rule, licenses generated for the current server major version are not retro-compatible with older servers. I.e. licenses v9 in online or offline format cannot be used with servers v8.
Table of Contents
1. Online license validation
1.1. How online check works (pre-requisites)
1.2. How to install server.lic
1.3. How to reuse or migrate an online license
2. On-premises license validation for air-gapped envs
2.1. How to install server.lic
2.1.1. Via the NoMachine User Interface
2.1.2. Via server command in a terminal
2.1.3. Multinode: deploy server.lic on all nodes
2.1.4 How to reuse or migrate an on-prem license
3. Appendix
3.1. Manual installation procedure from command line
3.2. Compatibility between subscription version and server version
Starting from version 9, by default subscriptions are of the "online" type. This applies to new subscriptions purchased from the store and those acquired from a NoMachine sales office or partner.
Online licenses are available only for v9 installations or later. Customers which wish to use NoMachine software in air-gapped environments should activate on-premise/offline licenses.
1.1. How online check works (pre-requisites)
The NoMachine server will check the license validity against NoMachine's license servers. Ensure that outbound access on port 443 (HTTPS) is allowed on the host where each NoMachine server is installed. The license file constitutes the link between the user and the subscription payment. The license is valid for one machine and cannot be installed on multiple hosts. Its expiration date is automatically extended when the license is renewed.
For further information on how NoMachine's online licensing check works, please see: https://kb.nomachine.com/AR11U01209
1.2. How to install server.lic
The subscription file, server.lic, can be installed on the server host by using the NoMachine User Interface or via CLI by running server commands in a terminal. The installation procedure for online licenses is the same as for on-premises licenses. See Chapter 2. for instructions.
1.3. How to reuse or migrate an online license
This is the procedure to be followed when the NoMachine server is reinstalled on the same machine or the same online license has to be migrated to a different machine.
The online license to be re-used was already linked to the UUID of the NoMachine server the first time it was used on, let's say, machineA.
Reinstalling the NoMachine server or installing it on a new machine, in the case of the decomissioning of the previous machine (machineA), means that the server gets a new UUID. The online license must be removed first, and then validated for the new server's UUID.
To remove the online license from machineA, open there the NoMachine User Interface -> Settings -> Server -> Updates panel.
Note that also uninstalling the NoMachine server will remove the association between server.lic and the server's UUID. It will then be possible to re-use the license file on a different machine.
This association can be removed also by hand from the command line (nxserver --subscriptionremove).
As a rescue procedure, any of the procedures above didn't help, please send an e-mail or submit a support ticket to NoMachine Support. They will manually remove the association between the server UUID and that license, so that you can re-use your license with the new server or on the new machine.
2. On-premises license validation
On-premise or off-line licenses, suitable for air-gapped networks, include the expiry date and must be updated at the time of each expiry by the customer. The subscription period starts with the purchase.
See the next paragraphs for instructions and choose the procedure for installing the license, you can use the NoMachine UI or the server commands. This operation has to be done the first time the license is installed. For the on-prem licenses, it must be done also each time the Server Subscription is renewed: at each renewal, replace the license file about to expire or expired with the new license file received.
2.1. How to install server.lic
First upload the key.tar.gz archive containing your license file to the host machine, then extract the archive. To install the license, you must have administrative privileges. There are three alternative ways to install the license. You can choose to i) upload the license from the User Interface (UI); ii) issue the command via CLI in a terminal, or iii) execute all these operations manually by using system commands (see Appendix). Methods (i) and (ii) take care of moving the license file to the proper place and setting the requested ownership and permissions.
Remark
Procedures described below are suitable also for installing server.lic v8 on NoMachine server v8.
2.1.1. Via the NoMachine User Interface
1) Access the Settings -> Server panel in the NoMachine UI
2) From the menu on the left, select 'Updates'. Scroll down the panel until section 'License information'
3) Click on the link 'Server subscription' and scroll down to the end of the section.
4) Click on the 'Update subscription' button. Browse the directories to the location of the new server.lic file you need to install, select it and confirm.
(In v8, button is named 'Replace button').
2.1.2. Via server command in a terminal
On Linux and macOS
1) Open a terminal on the remote host and move to the directory where you have uploaded and extracted the key.tar.gz archive. Run commands as privileged user.
2) Install server.lic:
sudo /etc/NX/nxserver --subscriptionset path_to_server.lic
3) Verify that the license has been correctly installed:
sudo /etc/NX/nxserver --version
sudo /etc/NX/nxserver --subscription
On Windows
1) Open a CMD console as administrator and execute the following commands:
%ALLUSERSPROFILE%\NoMachine\nxserver\nxserver.exe --subscriptionset path_to_server.lic
2) Verify that the license has been correctly installed:
%ALLUSERSPROFILE%\NoMachine\nxserver\nxserver.exe --version
%ALLUSERSPROFILE%\NoMachine\nxserver\nxserver.exe --subscription
2.1.3. Multinode: deploy server.lic on all nodes
This command is used on multinode environments to install the license files on the remote nodes, from a Cloud Server or an Enterprise Terminal Server. Let's call it the 'main server'.
The nodes must be already added to the main server.
Upload the license files to the main server.
On the main server execute:
nxserver --subscriptionset path_to_server.lic --target NODE
NODE can be the name or the uuid of the node.
Command above can be automated in a script that reiterates all the license files to install one by one on the nodes.
2.1.4. How to migrate or reuse an on-prem license
When the NoMachine server has to be migrated from machineA to machineB with the same Operating System, install the server on the new host machineB and then install the on-premise license file. Uninstall NoMachine from machineA and remove the license file. If the Operating System of machineB is different (e.g. machineA is macOS and machineB is Windows), contact the Sales Team for possible options to convert the license. If machineA and machineB are both running Linux, even if different distributions (e.g. Ubuntu and CentOS), it's not necessary to convert the license.
3.1. Manual installation procedure from command line
Important: this is valid only for licenses on-premises.
On Linux
1) stop the server from accepting new connections during the operations necessary to install the license file:
sudo /etc/NX/nxserver --stop
2) Create a backup of the original license file:
sudo mv /usr/NX/etc/server.lic /usr/NX/etc/server.lic-ori
3) Extract the key.tar.gz archive you received by e-mail:
sudo tar xvzf key.tar.gz
4) Copy the new license file, server.lic, in the NoMachine 'etc' directory:
sudo cp server.lic /usr/NX/etc
5) Move to the NoMachine 'etc' directory, by default it's /usr/NX/etc:
cd /usr/NX/etc
6) Set proper permissions and ownership:
sudo chmod 0400 server.lic
sudo chown nx:root server.lic
7) Verify if license is correctly installed:
sudo /etc/NX/nxserver --version
sudo /etc/NX/nxserver --subscription
8) Finally, start the server:
sudo /etc/NX/nxserver --start
On macOS
1) Stop the server to stop accepting new connections:
sudo /etc/NX/nxserver --stop
2) Create a backup of the original license file:
sudo mv /Applications/NoMachine.app/Contents/Frameworks/etc/server.lic /Applications/NoMachine.app/Contents/Frameworks/etc/server.lic-ori
3) Extract the key.tar.gz archive:
sudo tar xvzf key.tar.gz
4) Copy the license file server.lic in the NoMachine 'etc' directory:
sudo cp server.lic /Applications/NoMachine.app/Contents/Frameworks/etc
5) Then move to the NoMachine 'etc' directory:
cd /Applications/NoMachine.app/Contents/Frameworks/etc
6) Set proper permissions and ownership:
sudo chmod 0400 server.lic
sudo chown nx:wheel server.lic
7) Verify if the license is correctly installed:
sudo /etc/NX/nxserver --version
sudo /etc/NX/nxserver --subscription
8)Finally, start the server:
sudo /etc/NX/nxserver --start
On Windows
All commands have to be executed from a CMD console run as administrator.
1) Stop the server to stop accepting new connections:
cd %ProgramFiles(x86)%\NoMachine\bin
nxserver --stop
2) Then move to the NoMachine etc directory and create a backup of the original license file:
cd %ProgramFiles(x86)%\NoMachine\etc
copy server.lic server.lic-ori
3) Extract the key.tar.gz archive and copy the server license file to the NoMachine etc directory making sure it is renamed to server.lic. For example, browse to the installation folder of NoMachine: Computer -> C: > Program Files -> NoMachine -> etc. Now copy the server.lic file to this folder.
4) Then in the Command Prompt, move to the NoMachine etc directory. Set proper ownership and permissions:
>cacls server.lic /G nx:F Administrators:F
IMPORTANT
If you are running a localized version of Windows, you must check whether the name of the Administrators group is localized in your language and run the command above with the proper translation.
5) Finally move to the NoMachine bin directory and start the server:
nxserver --start
6) Verify if the license is correctly installed:
nxserver --version
nxserver --subscription
3.2. Compatibility between subscription version and server version
| Subscription Version | v8 Server | v9 Server |
| v9 Subscription (online) | No | OK |
| v9 Subscription (on-prem) | No | OK |
| v8 Subscription | OK | OK |
