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.


MySQL Compatibility

If you are using MySQL version 8.0.29 or later please ensure you are running the latest version of the T-Plan License Server (v3.0.4 onwards).

MySQL applied key updates in this release which were not backwards compatible with the .NET libraries used by the License Server prior to v3.0.4.

Anyone looking to upgrade their MySQL instance should therefore upgrade to the latest License Server also.


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. Download the latest License Server application files here.

  5. Unpack the T-Plan License Server application files to any suitable folder and ensure the appropriate file permissions are set i.e. IIS_IUSRS

    IIS

    If not already available install IIS. You don't need ANY of the .NET app server/ASP components - just raw IIS.
  6. Download and install .Net Core Hosting Bundle from here.
  7. Create a new Website within IIS and point the website to where you unpacked the application files in #5 above.
  8. If necessary edit the site Bindings to determine homepage URL and assign SSL certificates for use  of HTTPS
  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 id=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 id=YOURMYSQLUSER;password=YOURMYSQLPWD;database=YOURMYSQLDB" />
    </environmentVariables>
</aspNetCore>

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



<< Linux Installation Install Main License >>