If you're installing the server on Windows, please check this document for the detailed guide with screenshots. Some parts of it also apply to other platforms. Otherwise see below.
A license server is required for floating licence versions. It needs to be installed on a dedicated machine in your network which is accessible over TCP/IP from the workstations that will run IDA.
The license server consists of two parts:
Please choose the platform where your license server will be running. It does not have to be for the same platform as IDA; any license server can manage IDA versions for different OSes.
(web-based UI server)
(command-line based server)
|Microsoft® Windows® x86||lmadmin||lmgrd||hexrays.exe||lmtools lmutil|
|Microsoft® Windows® x64||lmadmin||lmgrd||hexrays.exe||lmtools lmutil|
|Linux x86 (LSB Certified™)||lmadmin||lmgrd||hexrays||lmutil|
|Linux x64 (LSB Certified™)||lmadmin||lmgrd||hexrays||lmutil|
|Mac OS® X Universal (x86, x64)||lmadmin||lmgrd||hexrays||lmutil|
|All||License Administration Guide|
The recommended server is 'lmadmin', which provides a web-based UI for configuring and managing the license server. If you do not yet have one installed (e.g. from using other FlexNet-bases software), please download the installer above and run it on the server machine.
Now that the license server & its companion 'hexrays(.exe)' are installed, it is time to request the FlexLM floating license that corresponds to the IDA license you possess.
That floating license needs to be locked to the machine the license server will be running on (not the machines IDA will run on). To request the license file for the first time, you will need a Host ID (an Ethernet MAC address).You can use the following means of getting the host ID:
Please choose a MAC for a physical card which is always present.
Once you have the Host ID, submit it to our activation page together with the ida.key from an IDA install:
You will receive the .lic file (it's a plain text file) by email. Save it on disk and use it the following way:
Make sure the "hexrays" daemon binary is installed in proper location (e.g. "hexrays.exe" in lmadmin's directory). If you are using another path, edit the VENDOR line in the .lic file before submitting:
VENDOR hexrays <path_to_daemon>
You will need to pass the filename to the .lic file on the commandline using the -c switch. See the License Administration Guide for details.
NOTE: If you have multiple .key files and want to activate them with the same host id, submit each of them for activation. Our server will keep track of all licenses activated for the same host id and will prepare a combined .lic file for them. In other words, just use the latest .lic file you received from the server. There is no need to install multiple .lic files.
NOTE: once a Host ID is submitted, it is fixed in our database and can be changed only by a manual request to firstname.lastname@example.org. You can, however, request the .lic file again by entering the same Host ID.
On Windows, you can just run IDA and open a file. On the first run this will produce an interactive dialog where you can enter the license server's name. You can also set the environment variable like for Linux and OS X.
To tell IDA the location of the license server you can either use an environment variable:
export HEXRAYS_LICENSE_FILE=@servernameor a settings file:
echo "HEXRAYS_LICENSE_FILE=@servername" > ~/.flexlmrc
Checking out a license requires two TCP connection: one to the license server, and one to the vendor daemon. If you're using a firewall, you need to make sure that both connections are not blocked both on the server and the client (IDA workstation).
The default port range used by the license server is 27000-27009. The vendor daemon uses a dynamic port by default, so it changes on every run. To change or fix the ports, you can use the Web UI, or edit the .lic file.
The port for the license server can be changed in "Server Configuration" tab, "License Server Configuration" section. The vendor daemon port can be changed in the Vendor Daemon Configuration tab, settings for the "hexrays" daemon. You may need to restart the vendor daemon and/or license server for the changes to take effect.
The license server port can be specified on the SERVER line, e.g.:
SERVER this_host 001122334455 29000The vendor daemon port can be specified on the VENDOR line, e.g.:
VENDOR hexrays PORT=30000You will need to re-import the .lic file (for lmadmin) or restart the server (for lmgrd) after editing it.
If you change the license server port from the default, you will need to specify it in IDA's server path, e.g.: 29000@servername.
By default our licenses allow borrowing for offline use for up to 4320 hours (this can be disabled or limited by the server administrator). To borrow a license, run the lmborrow utility on the client before running IDA:
lmutil lmborrow hexrays <enddate> [time]
enddate is the date the license is to be returned in dd-mmm-yyyy format. time is optional and is
specified in 24-hour format (hh:mm) in the local time. If time is unspecified, the checkout lasts until the end of the given end day.
lmutil lmborrow hexrays 20-may-2014 13:00Note: make sure to actually check out the necessary license(s) before disconnecting from the network. For example, open a file in IDA (to check out IDA's license) and decompile a function (to check out the decompiler's license).
To check the status of borrowed licenses, run:
lmutil lmborrow -status
To perform early return of the borrowed license at the end of your offline work, reconnect your system to the network and run:
lmutil lmborrow -return [-c @servername] <feature>
Where feature is the name of the borrowed feature that is listed in the "lmborrow -status" output. For example:
lmutil lmborrow -return -c @myserver IDASTAFW
You can also set the LM_BORROW environment variable manually instead of using lmutil. Please see the License Administration Guide for more information.
You may run the license server in a virtual machine. We do not recommend it, because the MAC address
of the VM network adapter is often changed when moving or cloning the VM. However, some cloud providers offer more permanent identifiers:
It is possible to lock the license server to an Amazon EC2 instance.
For this please attach an Elastic Network Interface (ENI) to the instance
and specify its MAC address as the host ID. Locking to the EIP is not supported at this time.
You can use the Floating IP attached to your VM as the host ID.
Azure's Reserved IP address may be used as the host ID.
If the cloud provider offers a permanent MAC address or a public IPv4 address, you can use it as the host ID. The IP must be accessible from the guest OS.
See also the License Administration Guide(Chapter 16: Licensing in a Cloud-Computing Environment) for more info.
When upgrading to a new IDA version, you may need to upgrade the license server or at least redo the activation. Please see this document for details.