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:
- Confirm Service Account creation
- Confirm Machine Configuration Requirements
- Execute the Data Client Deployment
- Verify the successful deployment of the data client
Data Client Deployment
This section assumes the Data Client Server meets the required prerequisites.
Register Data Client
In the LinXmart web UI, navigate to the Clients tab and click on Register Data Client.
Enter a unique name for the client and a description. The certificate is not required at this time. Click Add.
An API key will be generated and shown to you. Copy this API key now as it will not be available after navigating away from this page. Your data client will require this API key to identify it to the server and should only ever be used by one data client. Using the same API key across multiple clients can cause errors and unexpected data behaviour.
Configure Service Account
The data client runs as a service and the service must run under a service account. This can be a local user or a domain user, as defined in Service Accounts.
Give the user the ability to log on as a service:
- Run
secpol.mscas Administrator - Navigate to Local Policies | User Rights Management
- Find the Log on as a service policy and go to its properties
- Add the service account and click OK
Store Client Certificate
The data client requires a client certificate to communicate with the server. This client certificate must either be a certificate created by a trusted third-party Certificate Authority, or a certificate issued by an internal trusted root certificate that the client API server has been configured to accept. Every request sent to the client API server is signed by this certificate.
The client certificate is stored in the certificate store and read by the data client service at run time.
Add the client certificate to the service account's personal certificate store:
Run certmgr.msc as the service account user (go to the file location, press SHIFT and right click on the file, select Run as a different user)
- Navigate to Certificates - Current User | Personal
- Right click and select All Tasks | Import
- Ensure Current User is selected and click Next
- Browse to the private client certificate (
.pfxfile) and click Next - Enter the password when prompted
- Ensure the certificate store is set to Personal and continue the wizard
Update the installer template script
Before the installer is run, please verify the properties in the file run-setup-dataclient-service.ps1 correspond to the values required by your environment.
| Property | Description |
|---|---|
sourceInstallZip | The source zip file containing the binaries to deploy the data client service. This should reference the specific version of the service installer in the same folder. |
destinationPath | The destination folder for the data client service. The service will be run from this folder. |
logFilePath | The full file path to write the application log file. Ensure the service account has write access to this path or no log entries will be written. |
apiBaseAddress | API Base Address should be referencing the client API service and should be of the form: https://<base>/api/v1.0/ |
serviceUsername | The name of the account that will be used to run the service. This service account is described as the LinXmart_DataClient service account in Service Accounts. |
clientCertificateName | The name of the certificate added to the service account's personal certificate store. This is typically the value of the Issued to column in certmgr. |
Install the service
A PowerShell script is used to copy all required files for the data client and register it as a Windows Service.
- Copy the installation folder to a local folder on the server
- Run a Command Prompt (
cmd.exe) as administrator - Verify
run-setup-dataclient-service.ps1is configured with the correct properties (see table above) - Run
run-setup-dataclient-service.ps1 - Enter the password of the service account when prompted
- Enter the API key (created earlier) when prompted