On-Premise Deploy Guide
Abstract
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:
- Microsoft SQL Server 2016 (or higher)
- Microsoft IIS 10
- .NET Framework 4.8
- .NET Core 6
- MongoDB Community or Enterprise 6 (or higher)
optional
Node JS LTS 20.14.0 (or higher)
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:
- Preparation before installation: Data Tier and Metadata Tier.
- Install .NET Framework and .NET Core on the Application Tier.
- Configure the IIS.
- Create the a Shared Folder for eLegere.
- Launch the eLegere installation script.
- 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:
- Prepare the Installation Package .zip on the node before the installation.
- Contact the Domain administrator to create a Domain User or Local User for the eLegere services.
- Verify with your administrator that the Data Tier has a SQL RDBMS and you can access.
- 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 |
|
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:
-
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
-
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.
-
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. -
Create a database called
eLegere
. -
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"} ] } )
-
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"} ] } )
-
Open the configuration file (mongod.conf or mongod.cfg) in the directory of your MongoDB installation.
- Search the
#security
option in the configuration file and remove the hashtag (#
). -
Start a new line, type 2 spaces, and add the following parameter:
1 2
security: authorization: "enabled"
-
Search the
net:
options in the script to configure the IP Binding. Modify the option and replace theIPYourMongoDBServer
parameter with your MongoDB server IP as follows:1 2 3
net: bindIp: IPYourMongoDBServer port: 27017
-
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.
- Access the SQL instance prepared for eLegere.
- Run the
Create_Objects.sql
script in the SQL instance. (You can retrieveCreate_Objects.sql
from theSQL
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.
- Access the MongoDB instance prepared for eLegere.
-
Right-Click the server and choose Import for an existing MongoDB database dump.
-
Select the BSON - mongodump folder option.
-
Choose the
Mongo
folder from the Installation Package as Source Folder. -
Run the import to complete the operation
As alternative method, you can use the mongorestore command from the MongoDB Command Line Database Tools.
- Download and install MongoDB Command Line Database Tools.
-
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 theMongo
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.
- Install .NET Framework and .NET Core on the Application Tier
- Install and Configure IIS
- Create the Shared Folder for eLegere
- Launch the eLegere Installation's Script
- 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.
- Move to the folder where you want to create the Shared for eLegere (e.g.
C:\inetpub\SHARE
). -
Create a
eLegereShare
folder within the chosen folder.
Launch the eLegere Installation's Script¶
Access the node working as Application Tier in your network.
- Create a directory with your eLegere installation's name. E.g
C:\inetpub\eLegere
-
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 theeLegere
directory. Move in theeLegere
directory only its content. Otherwise, the installationn script won't work. -
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.)
-
Provide the Domain User credentials when the prompt requires them.
-
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.
- In IIS, choose the eLegere installation website from the Sites list and then IdentityProvider.
-
Under the IIS section of IdentityProvider, click on Authentication. A window containing all the authentication options for the website will appear.
-
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.