Skip to content

On-Premise Deploy Guide

The document explains step-by-step the procedure to install eLegere on your server infrastructure.

In particular:

  • the eLegere software architecture
  • Requirements and required third-party software
  • Actions to be undertaken before installing eLegere
  • eLegere's installation process

eLegere's Architecture

This section introduces the server architecture of eLegere.

An eLegere infrastructure has three separated nodes:

  • Application Tier: The node managing the Frontend and the services.
  • Data Tier: The node storing the data and running the SQL Relational Database Management System (RDBMS).
  • Metadata Tier: The node managing the non-relational database (MongoDB) storing eLegere's meta-data and configurations.

Keeping Application Tier, Data Tier, and Metadata Tier separated on individual machines enables a better scalability and maintainability of the system. If the installation requires multiple Application Tier, having a Shared folder on a separated node avoids interruptions of service.

eLegere provides integration with Microsoft Active Directory (TM). Enable Microsoft Active Directory for Logins explains the optional steps to enable the use of Active Directory (AD).

Application Tier

The Application Tier node manages the Frontend and eLegere services.

The Frontend are the interface components constituting the user experience. Users employ eLegere through the Frontend components.

The eLegere services include all the microservices guaranteeing eLegere's functioning.

Data Tier

The Data Tier node manages the SQL RDMBS and the data.

For installation and configuration of SQL, please refer to the documentation and website of your SQL RDBMS.

This document assumes the use of Microsoft SQL Server 2016 or higher as RDBMS by default (see Third-Party Software). For installation, please ask to your administrator and refer to the Microsoft SQL Server documentation and website.

Metadata Tier

The Metadata Tier node manages eLegere's metadata and configurations through a MongoDB non-relational database (see Third Party Software). This document assumes MongoDB Community or Enterprise 6 (or higher) as version installed on the Metadata Tier.

For installation, please contact your administrator and refer to the MongoDB documentation and website. This guide requires additional configurations for MongoDB (see Install MongoDB for the Metadata Tier).

Requirements and Dependencies

The section lists the Software Requirements that eLegere needs to run.

Third Party Software

eLegere installation procedure requires to the following Third Party Software:

For licensing, installation, and support, please refer to the respective owners websites and documentation.

Software Requirements

eLegere requires the following software to run:

Dependencies
Application Tier Windows 10, .NET Framework 4.8 (or above), .NET Core 6, IIS 10 (or higher)
Data Tier Windows Server 2019, Microsoft SQL Server 2016 (or higher)
Metadata Tier Windows 10 or Linux, MongoDB Community or Enterprise 6 (or higher)

Overview

The section summarizes all the steps to install eLegere.

The order of the steps is the following:

  1. Preparation before installation: Data Tier and Metadata Tier.
  2. Install .NET Framework and .NET Core on the Application Tier.
  3. Configure the IIS.
  4. Create the a Shared Folder for eLegere.
  5. Launch the eLegere installation script.
  6. Transfer the Share's content in the folder created for eLegere at step 4 above.

Preparing for Installation

This section lists the preparation steps to undertake before the installation.

The installation requires these preliminary steps:

  1. Prepare the Installation Package .zip on the node before the installation.
  2. Contact the Domain administrator to create a Domain User or Local User for the eLegere services.
  3. Verify with your administrator that the Data Tier has a SQL RDBMS and you can access.
  4. Verify with your administrator that MongoDB is installed on your Metadata Tier and you can access.

Prepare the Deployment Package

Vesenda provides a tailored .zip archive containing everything required for the installation of the Application Tier (see Application Tier). Contact Vesenda to obtain your installation .zip archive to setup the Application Tier.

The admin executing the installation must transfer the folder on each node working as Application Tier. At this stage, the location of the unarchived folder isn't relevant.

The .zip archive contains a folder with the following files and folders:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
eLegere Installation Package Folder
├── eLegere_Vx.xx.x
├── installeLegere.ps1
├── Mongo
│   └── elegere
├── RSA
│   └── eLegereDataEncrypt.xml
├── Share
└── SQL
    └── Create_Objects.sql

Warning

You can proceed with the installation if the directory from the installation package .zip complies with the structure above.

Create a Domain Account for eLegere Services

Contact your administrator to create a Domain User. E.g. elegere_service or elegere_user. eLegere will use this account to execute operations on the system.

The installation requires as credentials the Username and Password of the Domain User (or Local User) for any script or configuration. This guide assumes to provide the Domain User credentials when any step requests user credentials.

Install the SQL Database Engine

Verify with your administrator that the SQL RDBMS is up and running on the Data Tier node. The guide assumes the employment of Microsoft SQL Server.

Install MongoDB for the Metadata Tier

Verify with your Domain administrator that the MongoDB is up and running on the Metadata Tier node. The guide assumes the employment of MongoDB Community or Enterprise 6 (or higher).

At this stage, you must configure some options on the Metadata Tier.

eLegere requires the configuration of the mongod configuration file.

You can find the mongod configuration file in the following directories:

Configuration File Path
Linux /etc/mongod.conf
Windows C:\ProgramFiles\[YourMongoDBfolder]\mongo.cfg

Follow the instructions below to configure the security and the network settings:

  1. Connect to your MongoDB database using your preferred client (MongoDB Shell, for instance). Provide the Connection String URI according to the format below:

    1
    2
    3
        mongodb://IPaddress:27017/
    
        // 27017 Default port for the Metadata Tier
    
  2. Configure a Replica Set (also when your installation is a single node) as follows:

    1
    2
    3
    4
    replication:
        replSetName: "elegtestrs01"
    
    // You can type the name you prefer, but note it for later. 
    

  3. Initialize the Replica Set:

    1
    rs.initiate()
    

    Check the result by launching rs.config(). If the result has the name given at the previous step as value for the _id key, it means success.

  4. Create a database called eLegere.

  5. Type use admin in the command line of MongoDB. Then type the following data to create the Admin User:

    1
    2
    3
    4
    5
    6
    7
        db.createUser(
            {
                user: "mongo-admin",
                pwd: passwordPrompt(),
                roles: [ {role: "root"; db: "admin"} ]
            }
        )
    
  6. Type and launch use eLegere command. Then type the following data to create the user for the eLegere frontend:

    1
    2
    3
    4
    5
    6
    7
                db.createUser(
            {
                user: "eLegere",
                pwd: passwordPrompt(),
                roles: [ {role: "readWrite"; db: "elegere"} ]
            }
        )
    
  7. Open the configuration file (mongod.conf or mongod.cfg) in the directory of your MongoDB installation.

  8. Search the #security option in the configuration file and remove the hashtag (#).
  9. Start a new line, type 2 spaces, and add the following parameter:

    1
    2
        security:
          authorization: "enabled"
    
  10. Search the net: options in the script to configure the IP Binding. Modify the option and replace the IPYourMongoDBServer parameter with your MongoDB server IP as follows:

    1
    2
    3
        net:
          bindIp: IPYourMongoDBServer
          port: 27017
    
  11. Restart the MongoDB service on your Metadata Tier node.

Prepare the SQL Tables

The installation package provides a script to configure the SQL Database. Use your preferred SQL Database Client, for example Azure Data Studio.

  1. Access the SQL instance prepared for eLegere.
  2. Run the Create_Objects.sql script in the SQL instance. (You can retrieve Create_Objects.sql from the SQL folder from the Installation Package.)

The action prepares all the required tables and schema for eLegere to run on the SQL instance.

Import the elegere MongoDB Database Structures

Before proceeding with the installation, import the database's structures for MongoDB. Use your preferred MongoDB client; this guide assumes the use of Studio 3T, but the procedure is the independent from the employed client.

  1. Access the MongoDB instance prepared for eLegere.
  2. Right-Click the server and choose Import for an existing MongoDB database dump.

  3. Select the BSON - mongodump folder option.

  4. Choose theMongo folder from the Installation Package as Source Folder.

  5. Run the import to complete the operation

As alternative method, you can use the mongorestore command from the MongoDB Command Line Database Tools.

  1. Download and install MongoDB Command Line Database Tools.
  2. Run the following command changing the placeholders ([path_to_mongorestore], [mongo_connection_string], and [eLegere_Installation_Package_Folder]):

    1
    [path_to_mongorestore] --gzip --drop --uri="[mongo_connection_string]" /[eLegere_Installation_Package_Folder]/Mongo
    

    Example

    Launch the command adding the connection string as uri and pointing to the Mongo folder where you've placed the eLegere's installation package.

    1
    mongorestore --gzip --drop --uri="mongodb://localhost:27017" /eLegere_2.x/Mongo
    

    Wait the execution. After having launched the command, no further actions required.

Whatever method you choose, the import will prepare the required MongoDB database and collections for eLegere.

Installation

The following steps involve installing eLegere on the Application Tier.

  1. Install .NET Framework and .NET Core on the Application Tier
  2. Install and Configure IIS
  3. Create the Shared Folder for eLegere
  4. Launch the eLegere Installation's Script
  5. Setup the Shared Folder

Install .NET Framework and .NET Core on the Application Tier

Install on each Application Tier the following libraries. Follow the related external documentation.

Install and Configure IIS

Install Microsoft IIS on each Application Tier node running Windows Server. Follow the documentation on Microsoft Support Page.

Be sure that the following options are enabled during the installation:

Server Roles: Web Server (IIS)

Features: WCF Services HTTP Activator

Role Services:

  • optional Security Windows Authentication (See Enable Microsoft Active Directory for Logins for more information.)
  • Application Development .NET Extensibility 4.7, ASP.NET 4.7, ISAPI Extension, ISAPI Filters, WebSocket Protocol

You must install IIS on each Application Tier of your eLegere installation.

Create the Shared Folder for eLegere

If you don't have a default Shared and you have only one Application Tier, create a directory in the node's Shared folder called eLegereSHARE.

Tip

If the eLegere installation requires multiple Application Tier machines: it's strongly recommended to deploy the Shared folder on a dedicated node. This precaution avoids interruption of service in case of one or more faulty Application Tiers. If you have deployed the Shared on the Shared folder that the administrator has provided, no further action is required.

  1. Move to the folder where you want to create the Shared for eLegere (e.g. C:\inetpub\SHARE).
  2. Create a eLegereShare folder within the chosen folder.

Launch the eLegere Installation's Script

Access the node working as Application Tier in your network.

  1. Create a directory with your eLegere installation's name. E.g C:\inetpub\eLegere
  2. Move the content of eLegere_installation_name_Vx.xx.x in the eLegere folder in your directory.

    Warning

    Don't move the eLegere_installation_name_Vx.xx.x folder in the eLegere directory. Move in the eLegere directory only its content. Otherwise, the installationn script won't work.

  3. Run as administrator the installeLegere.ps1 Powershell script. installeLegere.ps1 installs all the eLegere components.

    Provide the following information when the automated script requires them.

    • Installation Path: Where the administrator wants to install the eLegere environment.
    • Application Pool Prefix: What prefix each eLegere service and pool will have in the IIS.
    • Create the HTTP Binding?: By default, it's enable and the installation will use the HTTP protocol.
    • Create the HTTPS Binding?: By default, it's disable. If you want to configure the HTTPS instead of the HTTP, you must provide the thumbprint certificate to the script. You can retrieve the certificate from the path cert://localmachine/My.
    • Share Path: Provide the Shared folder's path from Create the Shared Folder for eLegere.
    • RSA Xml Path: Provide the path to the RSA folder in eLegere Installation Package. (See Prepare the Deployment Package for more information about the eLegere Installation Package Folder's tree.)
  4. Provide the Domain User credentials when the prompt requires them.

  5. After the script execution, verify that the website appears and that Application Pools and services below in the IIS have been created.

    In IIS:

    In the Application Tier's Windows Services:

    Note

    You must start each eLegere service in Windows Services. See the related documentation to learn how to do it.

    You must repeat this step for each Application Tier node of your eLegere installation.

Setup the Shared Folder

At this stage, you must configure the Shared folder for your eLegere installation by moving the Share folder content from the installation package.

Move the content of Share folder in eLegereSHARE.

Note

If you administrator has set up further security restrictions with a user different from the Domain User or Local User: provide the credentials to access the Shared folder through the IIS Connect As panel under Edit Site > View Virtual Directories > Basic Settings > Connect As.

Success

You have installed eLegere!

optional Enable Microsoft Active Directory for Logins

Warning

Be sure that you have enabled Role Services > Security > Windows Authentication during installation and configuration of the IIS.

This stage is optional. Follow the steps if your company or institution requires the use of Microsoft Active Directory for the authentication in eLegere.

  1. In IIS, choose the eLegere installation website from the Sites list and then IdentityProvider.
  2. Under the IIS section of IdentityProvider, click on Authentication. A window containing all the authentication options for the website will appear.

  3. Right-click on Windows Authentication and click Enable. You should see Status "Enabled" next to Windows Authentication.

Success

You have enabled Microsoft Active Directory for your eLegere installation.