Windows Installation of the T-Plan License Server

The following steps documented below detail a new installation on a Windows server machine intended to run a centrally accessible T-Plan License Server.

The T-Plan License Server runs on the .NETCore internal web server, Kestrel. Therefore, in addition it requires a reverse proxy server (e.g. IIS, NGINX, Apache) in order to safely serve the application to the internet.

This document does not cover the step-by-step installations of third party components (MySQL and .NET Core Hosting Bundle) however we also impose no specific requirements for these, merely the basic components.

Linux Setup

If you want to install the License Server on Linux, please see find the installation details here.


Prerequisites


The following components are required by the T-Plan License Server in order to function on a Windows environment.

If any of the following items are not installed, configured and running the License Server will not function correctly and will therefore impact your ability to run Robot sessions.


Setup and Configuration


  1. Download and install MySQL here.
    1. Recommended version: the latest version of MySQLServer
    2. Recommended components: MySQL Server, MySQL Workbench
  2. Using Workbench create a new database (“schema”), named whatever you wish
  3. Using Workbench create a new user and ensure it has sufficient permissions against db (created in #2)
  4. Unpack the T-Plan License Server application files to any suitable folder.

    IIS

    If not already available install IIS. You don't need ANY of the .NET app server/ASP components - just raw IIS.
  5. Download and install .Net Core Hosting Bundle from here.
  6. Create a new Website within IIS and along with it, a dedicated Application Pool. Point the website to where you unpacked the application files in #4.
  7. If necessary edit the site Bindings to determine homepage URL and assign SSL certificates for use  of HTTPS
  8. Make sure the Application Pool is set to “No Managed Code”:
  9. Create 2 new System Variables (within Environment Variables) as follows:

    Reboot Required

    Note this step will require a system reboot in order to pick up and apply the new system variables. If this is not possible or a desirable option please see "No reboot alternative" section below.

    1. name=ASPNETCORE_ENVIRONMENT value=Production
    2. name=MYSQLCONNSTR_LicenseServerDB value=server=YOURMYSQLSERVERNAME;user=YOURMYSQLUSER;password=YOURMYSQLPWD;database=YOURMYSQLDB
  10. Reboot your machine to apply the new system variables and restart IIS.
  11. Launch a browser and navigate to your License Server homepage (as defined in steps 6 & 7)
  12. Upon first launch you will be prompted to "Initialize" your database. This process creates the necessary tables and indexes etc within the MySQL database.
  13. When successful you will be presented with the request to enter a license for your new License Server. Please see the User Guide for more details on this.


No Reboot Alternative


This section is an alternative for Step 8 (above) only. All other steps should be followed regardless.

For situations where a server reboot is not possible, or simply the option of using system variables is not desirable, you can alternatively use the "web.config" file to store these settings.

The web.config should be found in the root folder of your License Server application directory. Open this within a text editor and edit the aspNETCore element to look as follows (naturally substituting your values where necessary)

web.config
<aspNetCore processPath=".\lscore.exe" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="OutOfProcess">
    <environmentVariables>
        <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Production" />
        <environmentVariable name="MYSQLCONNSTR_LicenseServerDB" value="server=YOURMYSQLSERVERNAME;user=YOURMYSQLUSER;password=YOURMYSQLPWD;database=YOURMYSQLDB" />
    </environmentVariables>
</aspNetCore>

After saving the above changes you will need to restart IIS.