# Acquire and install enterprise licenses

To use Pentaho products, you must acquire and install enterprise licenses that can be verified with a license server.

Consider whether the following situations apply to your environment:

* If you cannot use a cloud or local license server in your environment, please review alternatives with your Pentaho representative. You might incur additional charges for manual audits.
* If you are upgrading from any previous Pentaho 10.x version to Pentaho 11.0, then additional entitlements might be required. Please contact your customer support representative for details.
* If you are an existing customer wanting to upgrade from Pentaho 9.x or earlier supported versions, do not start the server before upgrading the licenses. You must install the new version of the product before activating the licenses.

Complete the following steps to acquire and install enterprise licenses:

1. Contact the Pentaho Sales team to purchase enterprise licenses for Pentaho products.

   After you purchase your Pentaho enterprise licenses, you receive an email with an activation ID and cloud license server information that can be used to unlock the product.
2. Choose the type of license server to use for verifying Pentaho product licenses.
   * If you do not have security restrictions that prevent you from accessing a cloud license server, use the Pentaho cloud license server.
   * If you cannot use the Pentaho cloud license server, install a local license server behind your firewall. See [Install and manage a local license server](#install-and-manage-a-local-license-server).

     <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p><strong>Note:</strong> If your environment prevents access to the back office URL, use offline activation. See <a href="#activate-offline-entitlements">Activate offline entitlements</a>.</p></div>
3. Install Pentaho product licenses.

   For instructions, see [Install licenses using PUC](#install-licenses-using-puc) or [Install licenses using the PDI client](#install-licenses-using-the-pdi-client).

### Install and manage a local license server

Use a local license server if your environment cannot reach the cloud license server.

The local license server is a command-line tool. It manages Pentaho license entitlements and related admin tasks.

During setup, you get a base URL that products use to connect. Example: `http://<server_ip_address>:7070/api/1.0/instances/~`.

Users can also request a license in the browser. Example: `http://<server_ip_address>:7070/request`.

Consider redundancy to avoid downtime. See [Revenera License Server Failover](https://docs.revenera.com/fne/2022_02/adminguide/Content/helplibrary/License_Server_Failover.htm#lagfunctionality_2657120275_1032675).

#### In this section

* [Requirements](#requirements)
* [Install on Linux](#install-on-linux)
* [Install on Windows](#install-on-windows)
* [Administrative commands and files](#administrative-commands-and-files)
* [Set up a self-signed certificate (SSL)](#set-up-a-self-signed-certificate-ssl)
* [Activate offline entitlements](#activate-offline-entitlements)
* [Change the Java temporary directory on Linux](#change-the-java-temporary-directory-on-linux)
* [Uninstall on Linux](#uninstall-on-linux)
* [Uninstall on Windows](#uninstall-on-windows)

#### Requirements

* CPU: 2 GHz, 2 cores
* RAM: 4 GB
* Disk: 200 MB
* Set `JAVA_HOME`.
* Open port `7070`.
* Do not deploy the local license server in a Docker container.

You also need:

* Linux: `sudo` privileges for installation and service management.
* Windows: Administrator privileges for service management.

If you enable SSL, open port `1443`. See [Set up a self-signed certificate (SSL)](#set-up-a-self-signed-certificate-ssl).

#### Install on Linux

To use Pentaho software, a user must have a valid entitlement in a cloud or local license server that can be verified by the license manager.

If you cannot access a cloud license server, install a local license server behind your firewall.

The local license server is a command-line tool. It activates acquired licenses and performs administrative tasks.

You can install the local license server on the same server or VM that hosts the Pentaho Server. It requires limited resources.

**Before you begin**

* Verify the local license server requirements listed in [Requirements](#requirements).
* If you are installing on Red Hat Linux with FIPS mode enabled, configure Java:
  * [Configuring Red Hat build of OpenJDK 11 on RHEL with FIPS](https://docs.redhat.com/en/documentation/red_hat_build_of_openjdk/11/html-single/configuring_red_hat_build_of_openjdk_11_on_rhel_with_fips/index)
  * [Configuring Red Hat build of OpenJDK 17 on RHEL with FIPS](https://docs.redhat.com/en/documentation/red_hat_build_of_openjdk/17/html-single/configuring_red_hat_build_of_openjdk_17_on_rhel_with_fips/index#proc-providing-feedback-on-redhat-documentation)

**Install and activate**

1. Download the local license server file from the [Support Portal](https://support.pentaho.com/hc/en-us).
   1. Sign in with the support credentials from your Pentaho Welcome Packet.
   2. In the Pentaho card, select **Download**.
   3. In the **11.0** list, select **Pentaho 11.0 GA Release**.
   4. Scroll to the bottom of the release page.
   5. Go to `Utilities and Tools/Local License Server`.
   6. Download the license server file, `enterprise-local-license-server-11.0.0.0-<build version>.tar.gz.`
2. Set permissions for the license server.
   * For `enterprise-local-license-server-11.0.0.0-<build version>.tar.gz`:

     <pre class="language-shellscript" data-overflow="wrap"><code class="lang-shellscript">chmod 777 enterprise-local-license-server-11.0.0.0-&#x3C;build_version>.tar.gz
     </code></pre>
3. Extract the `enterprise-local-license-server-11.0.0.0-<build_version>.tar.gz` file:
   * <pre class="language-shellscript" data-overflow="wrap"><code class="lang-shellscript">tar -xvzf enterprise-local-license-server-11.0.0.0-&#x3C;build_version>-linux-&#x3C;jdk_version>.tar.gz -C &#x3C;destination_folder>
     </code></pre>
4. Go to the server directory.

   <pre class="language-shellscript" data-overflow="wrap"><code class="lang-shellscript">cd /&#x3C;destination_folder>/enterprise-local-license-server/server
   </code></pre>
5. Run the installer.
   * If Java can use the default temp directory:

     ```shellscript
     sudo ./install-systemd.sh
     ```
   * If access to Java's temp directory is restricted:

     <pre class="language-shellscript" data-overflow="wrap"><code class="lang-shellscript">sudo ./install-systemd.sh --tmpdir=&#x3C;full_path_to_temp_directory>
     </code></pre>

     You can also configure this later. See [Change the Java temporary directory on Linux](#change-the-java-temporary-directory-on-linux).
6. If prompted with `Install VMUUID license daemon?`, choose:

   * `y` for a VM
   * `n` for physical hardware

   <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p><strong>Note:</strong> This prompt can appear for Java version <code>2025.02.0</code> or newer.</p></div>
7. Start the service.

   <pre class="language-shellscript" data-overflow="wrap"><code class="lang-shellscript">sudo systemctl start flexnetls-pentaho
   </code></pre>
8. Go to the enterprise admin tools directory.

   <pre class="language-shellscript" data-overflow="wrap"><code class="lang-shellscript">cd /&#x3C;destination_folder>/enterprise-local-license-server/enterprise
   </code></pre>
9. Change the admin password.

   <pre class="language-shellscript" data-overflow="wrap"><code class="lang-shellscript">./flexnetlsadmin.sh -server http://&#x3C;server_ip_address>:7070/api/1.0/instances/~ -authorize &#x3C;defaultAdminName> {&#x3C;defaultAdminPassword>|-&#x3C;passwordConsoleInput>} -users -edit admin {&#x3C;newAdminPassword>!|-&#x3C;passwordConsoleInput>}
   </code></pre>

   Default admin credentials are in `producer-settings.xml`:

   * Username: `admin`
   * Password: `Password!01`

   For details, see `FNE_LicenseServerAdminGuide.pdf` in `/enterprise-local-license-server/documentation`.
10. Verify status:
    1. Verify the `systemd` status:

       <pre class="language-shellscript" data-overflow="wrap"><code class="lang-shellscript">sudo systemctl -l status flexnetls-pentaho
       </code></pre>
    2. Verify the FlexNet server status:

       <pre class="language-shellscript" data-overflow="wrap"><code class="lang-shellscript">./flexnetlsadmin.sh -authorize admin &#x3C;password> -server http://&#x3C;server_ip_address>:7070/api/1.0/instances/~ -status
       </code></pre>
11. Activate licenses using the activation ID emailed by Hitachi Vantara:

    <pre class="language-shellscript" data-overflow="wrap"><code class="lang-shellscript">./flexnetlsadmin.sh -authorize &#x3C;admin_name> &#x3C;password> -server http://&#x3C;server_ip_address>:7070/api/1.0/instances/~ -activate -id &#x3C;activation_id> -count &#x3C;number_of_entitlements_to_activate>
    </code></pre>

    `<number_of_entitlements_to_activate>` must be an integer. It must be less than or equal to the purchased quantity.

    <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p><strong>Note</strong>: If the license server cannot reach the back office URL, use <a href="#activate-offline-entitlements">Activate offline entitlements</a>.</p></div>

**Verify activated licenses**

Use this command to confirm what you activated:

{% code overflow="wrap" %}

```shellscript
./flexnetlsadmin.sh -authorize admin <password> -server http://<server_ip_address>:7070/api/1.0/instances/~ -licenses -verbose
```

{% endcode %}

For instructions on installing a license, see [Install licenses using PUC](#install-licenses-using-puc) or [Install licenses using the PDI client](#install-licenses-using-the-pdi-client).

#### Install on Windows

To use Pentaho software, a user must have a valid entitlement in a cloud or local license server that can be verified by the license manager.

If you cannot access a cloud license server, install a local license server behind your firewall.

The local license server is a command-line tool. It activates acquired licenses and performs administrative tasks.

You can install the local license server on the same server or VM that hosts the Pentaho Server. It requires limited resources.

**Install and activate**

1. Download the local license server file from the [Support Portal](https://support.pentaho.com/hc/en-us).
   1. Sign in with the support credentials from your Pentaho Welcome Packet.
   2. In the Pentaho card, select **Download**.
   3. In the **11.x** list, select **Pentaho 11.0 GA Release**.
   4. Scroll to the bottom of the release page.
   5. Go to `Utilities and Tools/Local License Server`.
   6. Download the license server file, `enterprise-local-license-server-11.0.0.0-<build_version>.zip`.
2. Unzip the file to your install folder. Example: `<installation_path>\enterprise-local-license-server-<pentaho_version>-<build_version>`.
3. Go to the unzipped folder.
4. Install the license server as a Windows service:
   1. Go to `<installation_path>\enterprise-local-license-server\server`.
   2. Run:

      <pre class="language-shellscript" data-overflow="wrap"><code class="lang-shellscript">flexnetls.bat -install
      </code></pre>
5. Start the service:

   <pre class="language-shellscript" data-overflow="wrap"><code class="lang-shellscript">flexnetls.bat -start
   </code></pre>
6. Change the admin password:
   1. Go to `<installation_path>\enterprise-local-license-server\enterprise`.
   2. Run:

      <pre class="language-shellscript" data-overflow="wrap"><code class="lang-shellscript">flexnetlsadmin -server http://&#x3C;server_ip_address>:7070/api/1.0/instances/~ -authorize admin &#x3C;old_password> -users -edit admin &#x3C;new_password>
      </code></pre>

      Default admin credentials are in `producer-settings.xml` in `<installation_path>\enterprise-local-license-server\server`:

      * Username: `admin`
      * Password: `Password!01`

      For details, see `FNE_LicenseServerAdminGuide.pdf` in `/enterprise-local-license-server/documentation`.
7. Verify status:
   1. Verify the license server:

      <pre class="language-shellscript" data-overflow="wrap"><code class="lang-shellscript">flexnetls.bat -status
      </code></pre>

      If the server is running, it reports `Service running`.
   2. Run `services.msc`.
   3. Confirm that `FlexNet License Server - <admin_name>` is started.
8. Activate licenses using the activation ID emailed by Hitachi Vantara:
   1. Go to `<installation_path>\enterprise-local-license-server\enterprise`.
   2. Run:

      <pre class="language-shellscript" data-overflow="wrap"><code class="lang-shellscript">flexnetlsadmin.bat -authorize &#x3C;admin_name> &#x3C;password> -server http://&#x3C;server_ip_address>:7070/api/1.0/instances/~ -activate -id &#x3C;activation_id> -count &#x3C;number_of_entitlements_to_activate>
      </code></pre>

**Verify activated licenses**

Use these commands:

* Server status:

  <pre class="language-shellscript" data-overflow="wrap"><code class="lang-shellscript">flexnetlsadmin.bat -authorize admin &#x3C;password> -server &#x3C;licenseServer_baseURL> -status
  </code></pre>
* Activated licenses:

  <pre class="language-shellscript" data-overflow="wrap"><code class="lang-shellscript">flexnetlsadmin.bat -authorize admin &#x3C;password> -server &#x3C;licenseServer_baseURL> -licenses -verbose
  </code></pre>

For instructions on installing a license, see [Install licenses using PUC](#install-licenses-using-puc) or [Install licenses using the PDI client](#install-licenses-using-the-pdi-client).

#### Administrative commands and files

You can use CLI commands to perform basic license management operations.

{% hint style="info" %}
**Note**: If security is enabled (it is enabled by default), include credentials with each command:

```shellscript
-authorize admin <password>
```

{% endhint %}

Default credentials:

* Username: `admin`
* Password: `Password!01`

**Logs**

| File                 | Location                                 | Description                  |
| -------------------- | ---------------------------------------- | ---------------------------- |
| `access_request.log` | `/var/opt/flexnetls/<identityName>/logs` | Server endpoint request logs |
| `flexnetls.log`      | `/var/opt/flexnetls/<identityName>/logs` | Server logs                  |

**Common commands**

| Command                                                                                                                          | Description                 |
| -------------------------------------------------------------------------------------------------------------------------------- | --------------------------- |
| `./flexnetlsadmin.sh -authorize admin <password> -server http://<server_ip_address>:7070/api/1.0/instances/~ -status`            | Check service status        |
| `./flexnetlsadmin -authorize admin <password> -server http://<server_ip_address>:7070/api/1.0/instances/~ -config`               | Check server configuration  |
| `./flexnetlsadmin.sh -authorize admin <password> -server http://<server_ip_address>:7070/api/1.0/instances/~ -licenses -verbose` | List activated entitlements |
| `./flexnetlsadmin.sh -authorize admin <password> -server <licenseServer_baseURL> -activate -id <activation_id> -count <count>`   | Activate entitlements       |

**Other files and commands**

| File/command                       | Location                 | Description                                    |
| ---------------------------------- | ------------------------ | ---------------------------------------------- |
| `local-configuration.yaml`         | `/opt/flexnetls/pentaho` | Local license server configuration             |
| `producer-settings.xml`            | `/opt/flexnetls/pentaho` | Server configuration set up by Hitachi Vantara |
| `sudo systemctl daemon-reload`     | Not applicable           | Run after you update the service configuration |
| `sudo systemctl stop flexnetls`    | Not applicable           | System-wide command                            |
| `sudo systemctl enable flexnetls`  | Not applicable           | System-wide command                            |
| `sudo systemctl disable flexnetls` | Not applicable           | System-wide command                            |
| `sudo systemctl status flexnetls`  | Not applicable           | System-wide command                            |

#### Set up a self-signed certificate (SSL)

You can configure SSL for the local license server.

{% hint style="info" %}
**Note**: Refer to [Components Reference](https://docs.pentaho.com/install/components-reference) for the supported Java version.
{% endhint %}

Open port `1443` for communication with the local license server.

1. Go to the Java security folder:

   <pre class="language-shellscript" data-overflow="wrap"><code class="lang-shellscript">cd /usr/lib/jvm/&#x3C;java_installation_folder>/lib/security
   </code></pre>

   Example: `/usr/lib/jvm/java-<version>-openjdk-amd64/lib/security`
2. Generate the self-signed certificate:

   <pre class="language-shellscript" data-overflow="wrap"><code class="lang-shellscript">sudo keytool -genkey -keyalg RSA -alias selfsigned -keystore keystore.jks -storepass changeit -validity 3600 -ext san=ip:&#x3C;ip_address>,ip:&#x3C;local_host>
   </code></pre>
3. Export the certificate:

   <pre class="language-shellscript" data-overflow="wrap"><code class="lang-shellscript">sudo keytool -export -alias selfsigned -keystore keystore.jks -rfc -file server_cert.cert
   </code></pre>
4. Import the certificate:

   <pre class="language-shellscript" data-overflow="wrap"><code class="lang-shellscript">sudo keytool -import -trustcacerts -keystore /usr/lib/jvm/java-&#x3C;version>-openjdk-amd64/lib/security/cacerts -storepass changeit -alias selfsigned -file server_cert.cert
   </code></pre>
5. Update `/opt/flexnetls/pentaho/local-configuration.yaml`:

   <pre class="language-yaml" data-overflow="wrap"><code class="lang-yaml"># HTTPS server mode
   https-in:
     # Set to true to enable
     enabled: false
     # HTTPS listening port
     port: 1443
     # Path to keystore
     keystore-path: &#x3C;path-to-your-keystore>
     # Keystore password. You can obfuscate this with java -jar flexnetls.jar -password &#x3C;your-password>
     keystore-password: changeit

     # Choice of TLS cipher suites. One of MODERN, COMPATIBLE or WEAK.
     tlsCipherSuites: COMPATIBLE

   # HTTPS client mode. You generally don't need to specify this, unless you have an in-house CA chain.
   https-out:
     # Set to true to enable
     enabled: false
     # Path to truststore containing server certificate.
     truststore-path: &#x3C;path-to-your-truststore>
     # Truststore password. You can obfuscate this with java -jar flexnetls.jar -password &#x3C;your-password>
     truststore-password: changeit
     # Switch off if you're having host validation problems (not recommended)
     host-verify: true
     # Set to true if you're using self-signed certificates (not recommended)
     self-signed: false
   </code></pre>

SSL is now configured.

#### Activate offline entitlements

Use offline activation if a security restriction prevents the license server from reaching the back office URL.

1. Obtain the activation ID from the sales support team.
2. Create a request file (`capabilityRequest.bin`) on the license server:

   <pre class="language-shellscript" data-overflow="wrap"><code class="lang-shellscript">cd /&#x3C;destination_folder>/enterprise-local-license-server/enterprise

   # Linux:
   ./flexnetlsadmin.sh -server http://&#x3C;license_server_ip_address>:7070/api/1.0/instances/~ -authorize admin Password!01 -activate -id &#x3C;activation_id> -count &#x3C;number_of_entitlements_to_activate> -o capabilityRequest.bin

   # Windows:
   ./flexnetlsadmin.bat -server http://&#x3C;license_server_ip_address>:7070/api/1.0/instances/~ -authorize admin Password!01 -activate -id &#x3C;activation_id> -count &#x3C;number_of_entitlements_to_activate> -o capabilityRequest.bin
   </code></pre>
3. Send `capabilityRequest.bin` to Pentaho customer support.

   Customer support generates `capabilityResponse.bin` and sends it back.
4. Load `capabilityResponse.bin`:
   * Linux:

     <pre class="language-shellscript" data-overflow="wrap"><code class="lang-shellscript">./flexnetlsadmin.sh -server http://&#x3C;license_server_ip_address>:7070/api/1.0/instances/~ -authorize admin Password!01 -activate -load capabilityResponse.bin
     </code></pre>
   * Windows:

     <pre class="language-shellscript" data-overflow="wrap"><code class="lang-shellscript">./flexnetlsadmin.bat -server http://&#x3C;license_server_ip_address>:7070/api/1.0/instances/~ -authorize admin Password!01 -activate -load capabilityResponse.bin
     </code></pre>
5. Verify activated licenses:

   <pre class="language-shellscript" data-overflow="wrap"><code class="lang-shellscript">./flexnetlsadmin.sh -authorize admin &#x3C;password> -server http://&#x3C;server_ip_address>:7070/api/1.0/instances/~ -licenses -verbose
   </code></pre>

Your entitlements are now activated.

#### Change the Java temporary directory on Linux

The local license server must be able to access Java's temporary directory.

If access is restricted, create a new temp directory and configure the service to use it.

1. Create a new temp directory:

   <pre class="language-shellscript" data-overflow="wrap"><code class="lang-shellscript">sudo mkdir /&#x3C;temp_directory_name>
   sudo chmod 777 /&#x3C;temp_directory_name>
   sudo chown root:root /&#x3C;temp_directory_name>
   </code></pre>
2. Stop the service:

   <pre class="language-shellscript" data-overflow="wrap"><code class="lang-shellscript">sudo systemctl stop flexnetls-pentaho
   </code></pre>
3. Open the service config file:

   <pre class="language-shellscript" data-overflow="wrap"><code class="lang-shellscript">sudo vi /etc/systemd/system/flexnetls-pentaho.service.d/flexnetls.conf
   </code></pre>
4. Add `-Djava.io.tmpdir=<full_path_to_temp_directory>` to the end of the `JVMOPTS` value.

   Example:

   `Environment="JVMOPTS=... -Djava.io.tmpdir=/<full_path_to_temp_directory>"`
5. Save the file.
6. Verify SELinux is permissive.

   If it is not permissive, see [Change SELinux to permissive mode](https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/8/html/using_selinux/changing-selinux-states-and-modes_using-selinux#changing-to-permissive-mode_changing-selinux-states-and-modes).
7. Reload and restart the service:

   <pre class="language-shellscript" data-overflow="wrap"><code class="lang-shellscript">sudo systemctl daemon-reload
   sudo systemctl start flexnetls-pentaho
   </code></pre>

#### Uninstall on Linux

To uninstall the local license server from Linux, complete these steps.

{% hint style="info" %}
If a device is associated with your machine in FlexNet Operations and you have activated entitlements, set the device state to `obsolete` before reinstalling. Otherwise, activation might fail due to an activation ID mismatch.
{% endhint %}

1. Stop the service:

   <pre class="language-shellscript" data-overflow="wrap"><code class="lang-shellscript">sudo systemctl stop flexnetls-pentaho
   </code></pre>
2. Disable auto-start:

   <pre class="language-shellscript" data-overflow="wrap"><code class="lang-shellscript">sudo systemctl disable flexnetls-pentaho
   </code></pre>
3. Remove service files:

   <pre class="language-shellscript" data-overflow="wrap"><code class="lang-shellscript">sudo rm /etc/systemd/system/flexnetls-pentaho.service
   sudo rm -r /etc/systemd/system/flexnetls-pentaho.service.d
   </code></pre>
4. Optional clean reinstall cleanup:
   * Trusted storage: `rm -rf /var/opt/flexnetls/pentaho`
   * Logs: `rm -rf /var/opt/flexnetls/pentaho/logs`

#### Uninstall on Windows

To uninstall the local license server from Windows, complete these steps.

1. Stop the service:

   <pre class="language-shellscript" data-overflow="wrap"><code class="lang-shellscript">flexnetls.bat -stop
   </code></pre>
2. Uninstall the service:

   <pre class="language-shellscript" data-overflow="wrap"><code class="lang-shellscript">flexnetls.bat -uninstall
   </code></pre>
3. Clean up the service entry:

   <pre class="language-shellscript" data-overflow="wrap"><code class="lang-shellscript">sc delete FNLS-pentaho
   </code></pre>
4. Delete the files in the license server installation directory.
5. Optional clean reinstall cleanup:
   * Trusted storage: `C:\Windows\ServiceProfiles\NetworkService\flexnetls\pentaho` (`.ks`, `.db`, and `.0`)
   * Logs: `C:\Windows\ServiceProfiles\NetworkService\flexnetls\pentaho\logs`

{% hint style="info" %}
Trusted storage and log file locations are defined by `server.trustedStorageDir` and `logging.directory`. Your server might use different paths.
{% endhint %}

### Install licenses using PUC

To use Pentaho products, you must install enterprise licenses that can be verified by your organization's license server. You can install licenses using the Pentaho User Console (PUC).

Before installing Pentaho Server licenses using PUC, you must complete the following prerequisites:

* Obtain the URL for requesting a license from the license server. Your organization might use the Pentaho license server or a local license server.
* Download the Pentaho Server to your environment.
* Verify that you have administration privileges.

Complete the following steps to install Pentaho Server licenses by using PUC.

1. Log in to the Pentaho User Console. See the **Pentaho Business Analytics** document for instructions on logging in to PUC.
2. If you do not have valid licenses, the **License** page appears the first time you log in.

   ![](https://2345962715-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqfaQ2p0JAZrP8b3cpM9a%2Fuploads%2Fgit-blob-9ed5a1ba674c7c6eb7716736586be88c48fd8f3f%2FPUC_Missing_Licenses_Notification.png?alt=media)
3. Click the plus sign (**+**) to open the Add License window.
4. Select **License Server**, enter either the cloud license server URL or the local license server URL, and then click **OK**.

   The URL for requesting a license from the local license server looks like the following example:

   ![](https://2345962715-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqfaQ2p0JAZrP8b3cpM9a%2Fuploads%2Fgit-blob-becb44ddad1d00511b4d64a4c0481bd0a4bb15b3%2FAdd_License_dialog.png?alt=media)
5. Review the license summary to see which components you are now entitled to use, and then click **Close**.

   ![](https://2345962715-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqfaQ2p0JAZrP8b3cpM9a%2Fuploads%2Fgit-blob-c59eacbf1f16b3bbbeacd9fe7499e7e11330f145%2FPentaho_License_Manager_available_licenses.png?alt=media)

### Install licenses using the PDI client

To use Pentaho products, you must install enterprise licenses that can be verified by your organization's license server. You can install licenses using the PDI client.

Before installing licenses using the PDI client, you must complete the following prerequisites:

* Obtain the URL for requesting a license from the license server. Your organization might use the Pentaho license server or a local license server.
* Download the PDI client to your environment.

Complete the following steps to install your licenses using the PDI client (also called Spoon).

1. Start the PDI client.

   See the **Pentaho Data Integration** document for more information about the PDI client. If no valid license for the PDI client exists, the Pentaho License Manager dialog box appears.
2. In the Pentaho License Manager, click the plus sign (**+**) to open the Add License window.
3. Select the **License Server** option, enter either the cloud license server URL or the local license server URL, and then click **OK**.

   The URL for requesting a license from the local license server looks like the following example:

   ![](https://2345962715-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqfaQ2p0JAZrP8b3cpM9a%2Fuploads%2Fgit-blob-becb44ddad1d00511b4d64a4c0481bd0a4bb15b3%2FAdd_License_dialog.png?alt=media)
4. Review the license summary to see which components you are now entitled to use, and then click **Close**.

   ![](https://2345962715-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqfaQ2p0JAZrP8b3cpM9a%2Fuploads%2Fgit-blob-c59eacbf1f16b3bbbeacd9fe7499e7e11330f145%2FPentaho_License_Manager_available_licenses.png?alt=media)

### Manage licenses using the command line interface

You can set the license path environment variable, or you can install, update, list, or remove license files.

#### Setting the license path environment variable

To ensure that the Pentaho Server uses the same location to store and retrieve your Pentaho licenses, you must create a *PENTAHO\_LICENSE\_INFORMATION\_PATH* system environment variable for your Pentaho user account if it does not exist. It does not matter what location you choose; however, the location needs to be available to the user account(s) that run the Pentaho Server.

**Set the license path environment variable on Linux**

Perform the following steps to set the environment variable for the license path in Linux.

1. Open the `/etc/environment` file with any text editor.
2. Add this line in a convenient place (changing the path if necessary):

   ```
   export PENTAHO_LICENSE_INFORMATION_PATH=/home/pentaho/.elmLicInfo.plt
   ```

   The license information file is saved in the `/home/user/…/.pentaho` folder.
3. Log out and log back into the operating system for the change to take effect.
4. Verify that the variable is properly set using the following command.

   ```shellscript
   env | grep PENTAHO_LICENSE_INFORMATION_PATH
   ```

The *PENTAHO\_LICENSE\_INFORMATION\_PATH* variable is now set.

**Set the license path environment variable on Windows**

Perform the following steps to set the environment variable for the license path in Windows.

Move the installed license `.elmLicInfo.plt` file from where it was installed (`C:\Users\<user>\.pentaho`) to `C:\Windows\ServiceProfiles\LocalService\.pentaho` or to the location where you are running the Windows service.

1. Under Windows settings, locate and open the Windows system environment variables file for editing.
2. In the System Variable section, click **New**.

   A dialog box will ask for a variable name and value.
3. Type `PENTAHO_LICENSE_INFORMATION_PATH` into the **Name** field and specify the directory where you intend to install the licenses. Type `.elmLicInfo.plt` in the **Value** field, then click **OK**.

   ```
   C:/pentaho/.elmLicInfo.plt
   ```

   By default, the license information file is saved in the `C:\Users\<user>\.pentaho` folder.
4. In the parent window, click **Apply Changes**.
5. Restart your computer for the change to take effect.
6. Verify that the variable is properly set, using the following command at the command prompt:

   ```shellscript
   echo %PENTAHO_LICENSE_INFORMATION_PATH%
   ```

The *PENTAHO\_LICENSE\_INFORMATION\_PATH* variable is now set.

If you run Tomcat automatically as a Windows service, you must also configure it to run on the Windows user account where the `.elmLicInfo.plt` file is located.

#### Install or update license from the command line

To install or update license, follow the steps below.

1. Navigate to the `/license-installer/` directory where the Pentaho PDI tool is installed (the `license-installer` subfolder).
2. Run the license installation script as follows to see examples of how to use it:
   * Linux:

     <pre class="language-shellscript" data-overflow="wrap"><code class="lang-shellscript">install_license.sh --help
     </code></pre>
   * macOS:

     <pre class="language-shellscript" data-overflow="wrap"><code class="lang-shellscript">install_license.sh --help
     </code></pre>
   * Windows:

     <pre class="language-shellscript" data-overflow="wrap"><code class="lang-shellscript">install_license.bat --help
     </code></pre>
