# On-premises

Exivity can be installed in your on premise data center using the provided installer. You can automatically deploy it using the silent installation command line options. But you may also execute it as a interactive installer.

Before you can install Exivity, you'll need the following:

1. A system that complies with the Exivity minimal system requirements

2. The Exivity software installation executable

3. A valid Exivity license key

If you need help on fulfilling one or more of the above requirements, please get in contact with our support department.

# Interactive installation

To install Exivity interactively, execute the provided setup executable. Then follow the instructions on screen:

• Provide a valid license key

• Pick a folder to install the Exivity program Files

• Pick a folder that Exivity will use to save its configuration, extraction and reporting files. This is called the Exivity home directory

• Provide the TCP port for the Exivity API (default: 8002)

• Provide the TCP port for the Exivity GUI (default: 8001)

• Choose a admin username and password

• After the installer completes, you can automatically start it.

# Silent Installation

To execute a silent installation, consider the following command line parameters:

<setup>.exe /S /EXIVITY_PROGRAM_PATH=[path] /EXIVITY_HOME_PATH=[path] /ADMIN_USER=[user] /ADMIN_PASSWORD=[password]

EXAMPLE:

<setup>.exe /S /EXIVITY_PROGRAM_PATH="C:\Program Files\Exivity\program" /EXIVITY_HOME_PATH=D:\Exivity\home /ADMIN_USER=master /ADMIN_PASSWORD=P@ssword

Execute the setup executable. It will detect the installed version of Exivity, and will automatically upgrade when you click Next

When executing <setup>.exe /S, your existing installation will be automatically upgraded.

# Installing a valid SSL certificate

Exivity comes standard with an insecure self signed SSL certificate. It is therefore highly recommended to replace the default certificate with an official one, signed by your Certificate Authority. To install a signed certificate, follow this procedure:

1. Download the 32 bit version of openssl.exe from https://slproweb.com/products/Win32OpenSSL.html, and install this tool on the Exivity server

2. Use the openssl.exe executable to generate a valid key file on the Exivity server by executing the following command:

• C:\TEMP>c:\location\to\openssl.exe genrsa -out exivity.key 4096

3. Then run the following command to create a certificate signing request file:

• C:\TEMP>c:\location\to\openssl.exe req -new -key exivity.key -out exivity.csr

4. You will be asked to enter general information like company name, city, etc. However, it is important to include the FQDN of the Exivity server when asked for:

• 'Common Name (e.g. server FQDN or YOUR name) []'

**_NOTE: when asked, it is required to not** provide a password (leave this field empty and press return), otherwise the Exivity application will not be able to use your certificate._

1. The generated CSR file should be send to your Certificate Authority. After processing by your CA, you shoud receive back a .crt file. Rename this file to exivity.crt and copy it, together with your exivity.key file, in your %EXIVITY_PROGRAM_PATH%\server\nginx\conf. This should overwrite the existing key and crt files

2. Now restart the Exivity Web Service Windows service, and your signed certificate should now be active.

# Configuring a separate web server portal

In some cases it might be desirable to separate the webserver from the backend components. This can be achieved by installing two separate Exivity instances. One instance could be placed in a DMZ, and the second instance would then typically be deployed within a local network as shown in the following diagram:

To achieve this goal, first install Exivity on both nodes using the standard procedure described here. After installing the Exivity software on the system that should become the User Portal, create the following file in the directory%EXIVITY_PROGRAM_PATH%/server/nginx/conf/sites-enabled:

userportal.conf
server {    listen                  443 http2 ssl;    server_name             localhost;​    ssl_certificate         exivity.crt;    ssl_certificate_key     exivity.key;​    error_page              497 301 =307 https://$host:$server_port\$request_uri;​    root                    web/glass;    index                   index.html;​    charset                 utf-8;​    location ~ /v[0-9]+?/ {        proxy_pass          https://HOSTNAME_BACKEND_PORTAL:8002;        proxy_buffering     off;    }​    location / {        proxy_pass          https://127.0.0.1:8001;        proxy_buffering     off;    }​    access_log              logs/access-webproxy.log;    error_log               logs/error-webproxy.log error;​    location = /favicon.ico {        access_log          off;        log_not_found       off;    }    location = /robots.txt  {        access_log          off;        log_not_found       off;    }​    client_max_body_size    100m;}

Make sure to replace HOSTNAME_BACKEND_PORTAL with the actual hostname or IP address of the system that serves as your Exivity Backend Portal.

The second item that requires configuration is the config.json in the %EXIVITY_PROGRAM_PATH%/web/glass directory on the User Portal:

config.json
{  "whiteLabel": false,  "apiHost": "https://HOSTNAME_USER_PORTAL"}

Replace HOSTNAME_USER_PORTAL with the actual hostname or IP address of the system that serves as your Exivity User Portal. In case the User Portal should be accessible from the internet, you will need to ensure to provide the fully qualified domain of the User Portal.

Once you have applied these changes, restart the Exivity Web Service Windows services. You should now be able to access your Exivity User Portal.

# Using an Internet proxy when extracting data

In case you Exivity instance requires to connect to the internet (i.e. to obtain Azure or AWS consumption data), and your network infrastructure requires the configuration of an internet proxy, it is required to configure the following system environment variable.

Right click on This PC in an Explorer Window and click on Properties:

Then go to Advanced System Settings, then click the Environment Variables button:

Now add a new System Variable with the name ALL_PROXY and fill in the address of your proxy server as the value for this variable:

In case you do not want to use the proxy for certain address or domains, it is also possible to add an additional variable NO_PROXY:

Once you have confirmed the change, make sure to restart both the Exivity Windows Services afterwards.