Links

1. Preparation

Before attempting any of the supported XMPro deployment options (e.g. Cloud, On-Premise), these are the server prerequisites:
  • Supported Browsers
  • Supported Operating Systems
  • Third-Party Cookies
Fig 1: The sequence of the 'Prepare to Install XMPro' step within the overall process.

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 prior to 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 Server

The following software must be installed on the web application server per product:
Software Requirements
Azure 1
AWS
On-Prem
Subscription Manager (SM) Web Application Server
Windows Server 2019 or 2022
Yes
Yes
Yes
Yes
Yes
No
No
No
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
Yes
Yes
No
No
No
Yes
Yes
Yes
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
Yes
Yes
No
No
No
Yes
Yes
Yes
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 Requirements
Windows
Azure Web Job
Ubuntu
Stream Host Server
x64
As per ARM template 1
20.04 x64
Windows Server 2019 or 2022
Yes 2
Yes 2
No
Ubuntu 20.04 (x64)
No
No
Yes 2
Yes
Yes
Yes 3
Yes
Yes
No
Yes
No
No
Footnotes
1 As per the ARM template for your Azure instance.
2 Different operating systems may apply for Edge devices.
3 See the Ubuntu software install commands here.

Certificate and Communication Steps

Signing Certificate

Subscription Manager is responsible for managing Identity and access for the whole XMPro Platform. In order 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. In order to generate a Signing certificate follow the instructions below:
  • 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 -new -x509 -key sign.pem -out sign.cer -days 1825
openssl pkcs12 -export -out sign.pfx -inkey sign.pem -in sign.cer
  • Follow the prompts on the screen and complete the certificate request.
  • Make a note of the Common Name 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 XMPro Platform must correspond to the SSL Certificate Common Name.
If you need to create a self-signed certificate, open Windows PowerShell as administrator and follow the instructions below:
  1. 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. 2.
    In this step, we will export the self-signed certificate. We will need to create a password as shown below to accomplish this step.
$pwd = ConvertTo-SecureString -String 'Enter Strong Password' -Force -AsPlainText
  1. 3.
    We will have to 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. 4.
    Create a txt file with the name cert.password.txt and add the certificate password to this file.

SMTP Account

XMPro components use emails to notify users of certain events, for instance, a new User signed up, or your account is ready. In order for these notifications to work an SMTP account and server details are required.
Please set up an account and have the necessary details handy, for example:
Setting
Value
Smtp Server
sinprd0310.outlook.com
User Name
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.