Install MPS Locally
The Management Presence Server (MPS) is a cloud-agnostic microservice that enables platforms featuring IntelĀ® AMT to be managed over the internet. This section details how to set up the MPS on a development system.
Figure 1 illustrates where MPS fits into the overall microservice architecture.
Figure 1: Deploy Management Presence Server (MPS) on a development system.
Clone the Repository¶
To clone a repository:
-
Open a Command Prompt or Terminal and navigate to a directory of your choice for development.
-
Clone the MPS repository and navigate to it with the following commands:
git clone https://github.com/open-amt-cloud-toolkit/mps.git && cd mps
Modify MPS Configuration File¶
To modify the MPS configuration file:
-
Open the
.mpsrc
file, within themps
directory, using a text editor of your choice to configure settings, such as Notepad on Windows or Text Editor on Linux. -
Configure the following settings:
Field | Change to | Description |
---|---|---|
use_allowlist |
false | A value of false disables the allowlist functionality. For information about allowlist, see the allowlist tutorial |
common_name |
Development system's IP address. Note: For this guide, you cannot use localhost because the managed device would be unable to reach the MPS and RPS servers. |
For this guide, the address will be used in a self-signed certificate. It may be an IP address or FQDN in real world deployment. |
- Save and close the file.
Example
Example .mpsrc file:
{
"use_allowlist" : false,
"common_name": "192.168.0.8",
"port": 4433,
"username": "standalone",
"pass": "G@ppm0ym",
"use_global_mps_credentials": true,
"country": "US",
"company": "NoCorp",
"debug": true,
"listen_any": true,
"https": true,
"tls_offload": false,
"web_port" : 3000,
"generate_certificates": true,
"logger_off":false,
"web_admin_user": "standalone",
"web_admin_password": "G@ppm0ym",
"vault_address": "http://localhost:8200",
"vault_token": "myroot",
"use_vault": true,
"secrets_path": "secret/data/",
"cert_format" : "file",
"data_path" : "../private/data.json",
"cert_path": "../private",
"mpsxapikey": "APIKEYFORMPS123!",
"mps_tls_config" : {
"key": "../private/mpsserver-cert-private.key",
"cert": "../private/mpsserver-cert-public.crt",
"requestCert": true,
"rejectUnauthorized": false,
"minVersion": "TLSv1",
"ciphers": null,
"secureOptions": ["SSL_OP_NO_SSLv2", "SSL_OP_NO_SSLv3"]
},
"web_tls_config" : {
"key": "../private/mpsserver-cert-private.key",
"cert": "../private/mpsserver-cert-public.crt",
"ca": ["../private/root-cert-public.crt"],
"secureOptions": ["SSL_OP_NO_SSLv2", "SSL_OP_NO_SSLv3", "SSL_OP_NO_COMPRESSION", "SSL_OP_CIPHER_SERVER_PREFERENCE","SSL_OP_NO_TLSv1", "SSL_OP_NO_TLSv11"]
}
}
Configure the WebUI¶
To configure the WebUI:
-
Navigate to the
src
directory in.\mps\webui\src\
cd webui/src
-
Open the
app.config.js
file using a text editor to configure IP Address settings. -
Replace the localhost for both
rpsServerIP
andserverIP
with your development system's IP Address. Save and close the file.Example
const validExtensions = ['.png', '.jpeg', '.jpg', '.svg']; const port = process.env.REACT_APP_MPS_WEB_PORT? process.env.REACT_APP_MPS_WEB_PORT : 3000; const rpsPort = process.env.REACT_APP_RPS_WEB_PORT ? process.env.REACT_APP_RPS_WEB_PORT : 8081; const rpsServerIP = process.env.REACT_APP_RPS_SERVER ? process.env.REACT_APP_RPS_SERVER : '192.168.0.8'; const serverIP = process.env.REACT_APP_MPS_SERVER ? process.env.REACT_APP_MPS_SERVER : '192.168.0.8'; const mpsAPIKey = process.env.REACT_APP_MPSXAPIKEY ? process.env.REACT_APP_MPSXAPIKEY : 'APIKEYFORMPS123!'; const rpsAPIKey = process.env.REACT_APP_RPSXAPIKEY ? process.env.REACT_APP_RPSXAPIKEY : 'APIKEYFORRPS123!' const Config = { ... };
-
Navigate back to the
./mps
base installation directory. - Run the install commands to install all required dependencies.
npm install
Start the MPS Server¶
To start the MPS server:
- Run the the following command:
npm run dev
- Figure 2 demonstrates successful deployment. The web server runs on port 3000 by default, and the MPS Server listens on port 4433. It will take approximately 2-3 minutes to start.
Note
The development system's IP Address will be used to connect to the web server.
Figure 2: MPS reports successful deployment.
Note
Because the generateCertificates
field is set to true in the .mpsrc
file, certificates will be generated and stored in the ../mps/private
directory.