1. Preparation

Before attempting any of the supported XMPro deployment options (e.g. Cloud, On-Premise), these are the server prerequisites:

Browser Requirements

  • Supported Browsers

  • Supported Operating Systems

  • Third-Party Cookies

Hardware and Software Requirements

Hardware Requirements

For each environment, refer to the Sizing Guideline guideline to compute resources needed for small, medium, and large deployments:

  • Azure

  • AWS

  • On-Prem

Software Requirements

This section describes the software that must be installed on the server before installing XMPro (refer 2. Install XMPro section), as well as the software required for the post-installation step of installing a Stream Host.

Web Application Servers and SQL Database Servers

The following software must be installed on the web application server per product:

Software RequirementsAzure 1AWSOn-Prem

Subscription Manager (SM) Web Application Server

Windows Server 2019 or 2022

Yes

Yes

Yes

Yes

Yes

Yes

Microsoft Internet Information Services (IIS) 11

Yes

Yes

Yes

Yes

Yes

Yes

Application Designer (AD) Web Application Server

Windows Server 2019 or 2022

Yes

Yes

Yes

No

No

Yes

Microsoft Internet Information Services (IIS) 11

Yes

Yes

Yes

Yes

Yes

Yes

Data Stream Designer (DS) Web Application Server

Windows Server 2019 or 2022

Yes

Yes

Yes

No

No

Yes

Microsoft Internet Information Services (IIS) 11

Yes

Yes

Yes

Yes

Yes

Yes

SQL Database Server (Combined SM, AD, DS)

Windows Server 2019 or 2022

Yes

Yes

Yes

Microsoft SQL Server 2019 or 2022

Yes

Yes

Yes

Footnotes

1 As per the ARM template for your Azure instance.

Stream Host Server

The following software must be installed on the Stream Host server:

Software RequirementsWindowsAzure Web JobUbuntu Docker

No 1

Yes 2

Yes 3

No

No 1

Yes 2

Yes 3

No

Footnotes

1 Not a prerequisite from v4.4.1+. 2 As per the ARM template for your Azure instance. 3 See the Ubuntu software install commands here.

Certificate and Communication Steps

Signing Certificate

Subscription Manager manages Identity and access for the whole XMPro Platform. To do this, it regularly issues authentication tokens to the users as they log into the system. The server must sign these tokens to ensure their validity, hence a signing certificate is required.

A PKCS 12 archived certificate .pfx file is required. The minimum length of the accepted private key is 2048. Follow the instructions below to generate a Signing certificate:

  • Download and install OpenSSL for Windows

  • Open a command prompt as administrator and navigate to the OpenSSL install directory. The default location is C:\Program Files\OpenSSL-Win64

  • Run the following commands

cd C:\Program Files\OpenSSL-Win64
cd bin
openssl genrsa -out sign.pem 2048
openssl req -x509 -newkey rsa:4096 -sha256 -nodes -keyout sign.key -out sign.crt -subj "/CN={YourMachine}" -days 3650
openssl pkcs12 -export -out sign.pfx -inkey sign.key -in sign.crt -certfile sign.crt -passout pass:
  • Follow the prompts on the screen and complete the certificate request

  • Make a note of the Common Name ("/CN='') and Password you choose

  • Create a file called sign.password.txt and add the password to the file

The resulting sign.pfx and sign.password.txt files will be required during the installation.

HTTPS/SSL Certificate

The XMPro Platform enforces secure communication using HTTPS/SSL. This means the server it is deployed to must have HTTPS configured. Depending on the deployment option you choose, you may have the following options:

  • Order a certificate from a certificate authority (CA)

  • Create a certificate in AWS (AWS deployment only)

  • Create a self-signed certificate (On-Premise only)

The DNS or hostname that users are expected to use to browse to the XMPro Platform must correspond to the SSL Certificate Common Name.

Creating Self-Signed Certificate through PowerShell

If you need to create a self-signed certificate, open Windows PowerShell as administrator and follow the instructions below:

  1. Run the New-SelfSignedCertificate cmdlet as shown below to add a certificate to the local store on your PC, replacing the fully qualified domain name (FQDN).

$cert = New-SelfSignedCertificate -certstorelocation cert:\localmachine\my -dnsname <FQDN>
  1. Create a password as shown below, used for the export in the following step.

$pwd = ConvertTo-SecureString -String 'Enter Strong Password' -Force -AsPlainText
  1. Export the self-signed certificate using the Export-PfxCertificate cmdlet as shown below.

$path = 'cert:\localMachine\my\' + $cert.thumbprint 
Export-PfxCertificate -cert $path -FilePath c:\cert.pfx -Password $pwd

The directory you specify in step 3's -FilePath parameter must already exist.

  1. Create a txt file with the name cert.password.txt and add the certificate password to this file.

Creating Self-Signed Certificate through ISS

The self-signed certificate can also be generated through ISS, following the instructions below:

  1. Open IIS Manager and click "Server Certificates"

  1. Click "Create Self-Signed Certificate"

  1. Enter "cert" for the Certificate name, select "Personal" for the certificate store, and click OK

  1. Confirm the certificate is generated and listed on 'Server Certificates'

SMTP Account

XMPro components use emails to notify users of certain events, for instance, a new User signed up, or your account is ready. An SMTP account and server details are required for these notifications to work.

Please set up an account and have the necessary details handy, for example:

SettingValue

Smtp Server

sinprd0310.outlook.com

User Name

noreply@mydomain.com

Password

********

Port

587

Enable SSL

true

Twilio Account (Optional)

App Designer uses SMS, among other means, to notify users of certain events e.g. a recommendation alert was triggered or resolved, etc. An SMS provider is required to send SMS notifications.

Please set up an account at Twilio using these instructions and have the necessary details handy, i.e. Account ID, Authorization Token, and the Phone Number.

Last updated