Skip to main content
Version: Next

Deployment Procedure

Deployment Order

The order of the deployment process is of vital importance as many components have dependencies on other components.

The deployment should be in the following sequence:

Database Deployment

This section assumes the Database Server meets the required prerequisites.

Create and Fill Database

Open the Sql\Create_LinXmart_Database_And_Schema.sql file provided and modify the DefaultDataPath and DefaultLogPath variables (at the top of the file) to specify the location of the database files specific to your installation of SQL Server. You can leave the other variables as they are.

Run a Command Prompt (cmd.exe) as administrator from the SQL Server machine (or a machine with SQL Server tools installed) and change the directory to the location of Create_LinXmart_Database_And_Schema.sql. Run the following command to create the LinXmart database:

sqlcmd -S <server> -i Create_LinXmart_Database_And_Schema.sql

Run the usp_FlushAllTables stored procedure. This will set up the database with reference data and test data required.

If you want to set the system up with tutorial data, also run the usp_LoadTutorialData stored procedure.

info

If the main database has already been created (and is empty), you may simply run the Sql\Create_LinXmart_Schema.sql script directly in the database.

Configure User Access

Open Sql Server Management Studio (SSMS) and from the Object Explorer, at the second-top-level, expand Security and Logins. Right click on Logins and select New Login.

Under Login name, enter LinXmart_Worker – this will give the application server access to the database. Go to the User Mappings page, click on the checkbox next to LinXmart at the top (database mapping) and click on the checkbox next to db_owner at the bottom (database role).

Login - User MappingHighlightHighlight

Now go to the Server Roles page and check the boxes next to dbcreator and securityadmin.

Login - Server RolesHighlightHighlight

On the Securables page, ensure the View server state permission has been granted.

Login - SecurablesHighlight

Click on OK to save the user.

Repeat this process again for the LinXmart_Web user.

Maintenance Backup Plan

It is recommended that a backup plan be set up for the LinXmart database.

The LinXmart database has a Full Recovery Model and the maintenance plan should include transaction log backup and cleanup.

Databases that are created for each linkage project will be prefixed with LinXmart_ (by default) and have a Simple Recovery Model.

For more information, please see the Microsoft Learning article Backup and Restore of SQL Server databases.

Application Server Deployment

This section describes the process to follow to manually install the LinXmart application services.

This section assumes the Application Server meets the required prerequisites.

Copy the installation folder to a local folder on the server.

Update the service installer template script

Before the installer is run, please verify the properties in the run-service-setup.ps1 file correspond to the values required by your environment.

PropertyDescription
sourceInstallZipThe source zip file containing the binaries to deploy the application worker service. This should reference the specific version of the service installer provided in the same folder.
destinationPathThe destination folder for the worker service. The service will be run from this folder.
logFilePathThe full file name and path to write the application log file.
linxmartDataFolderThe top-level data folder for storing of data on the File Server. For example, the EnvelopeStore folder will sit below this folder. It may be a UNC path or shared drive. For the Basic VM deployment, set this to the SMB file share created during the File Server Configuration.
serviceUsernameThe name of the Active Directory account that will be used to run the service. This service account is described as the LinXmart_Worker service account in the Service Accounts table.
databaseConnectionStringThe data source used to connect to the main LinXmart database. This should be updated with the correct SQL Server host name - the remaining parameters should not require changing.

Install the service

A PowerShell script is used to copy the appropriate LinXmart system files and register a Windows Service.

  • Open a PowerShell prompt as administrator.
  • Run run-service-setup.ps1 - enter the service account LinXmart_Worker and password when prompted.

The service will be started by the setup script.

Post installation configuration

  • Add the LinXmart_Worker service account to the local Performance Monitor Users group on the server in which it is running.

Web Server Deployment

This section describes the process to follow to manually install the LinXmart web and API services.

This section assumes the Web Server meets the required prerequisites.

Copy the installation folder to a local folder on the server.

Update the web installer template script

Before the installer is run, please verify the properties in the run-web-setup.ps1 script file correspond to the values required by your environment.

PropertyDescription
sourceInstallZipThe source zip file containing the binaries to deploy the application worker service. This should reference the specific version of the web app installer provided in the same folder.
destinationPathThe destination folder for the worker service. The service will be run from this folder.
logFilePathThe full file path to write the web application log file.
linxmartDataFolderThe top-level data folder for storing of data on the File Server. For example, the FileStore folder will sit below this folder, and it may be a UNC path or shared drive.
appPoolUsernameThe name of the Active Directory account that will be used to run the web site (Application Pool) in IIS. This service account is described as the LinXmart_Web service account in the Service Accounts table.
databaseConnectionStringThe data source used to connect to the main LinXmart database. This should be updated with the correct SQL Server host name - the remaining parameters should not require changing.

Install the web site

A PowerShell script is used to copy the appropriate LinXmart files and register the web site.

  • Open a PowerShell prompt as administrator
  • Run run-web-setup.ps1 - enter the service account LinXmart_Web and password when prompted.

Install the certificate onto the server. This is done from the Server Certificates feature at the root level of IIS.

From the web site, click Bindings… and click Add to add a new HTTPS binding.

IIS - Add HTTPS BindingHighlightHighlightHighlight

Select the SSL certificate from the drop down and enter the FQDN of the host (this should match the certificate) in the Host name field.

Check the Disable Legacy TLS option.

Check the Require Server Name Indication option if you will host more than one website on this machine.

Click OK.

API Web Site (optional)

The API component of LinXmart that exposes configuration and management endpoints for configuration and orchestration can be installed as a separate web site. This can sit alongside the web application.

To install this, follow the same process from Update the web installer template script using the run-api-setup.ps1 install template script to define the parameters.

Configure Internet Information Services

  • Enable Windows Authentication for the LinXmart website (disable all other authentication)
  • Enable HSTS (HTTP Strict Transport Security) for the LinXmart website. Set Max-Age to 31536000 and choose the option Redirect Http to Https.

IIS - HSTS settings

If the Disable Legacy TLS option was not available on the SSL Certificate dialog, TLS 1.0 and TLS 1.1 can be disabled manually:

  • Open the Registry Editor and navigate to the following location: HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\
  • Create a key called TLS 1.0 and subkeys called Client and Server
  • In each of the subkeys, create a 32bit DWORD value called Enabled and set it to 0.
  • Repeat these steps for TLS 1.1.
  • Reboot the server to apply the changes.