From b276e2178937b134cc8f3d4e15d3f01498bc47eb Mon Sep 17 00:00:00 2001 From: Tim Pragnell Date: Thu, 22 Oct 2026 09:15:34 +0100 Subject: [PATCH 1/4] Add sections for the additional install of cortex portal --- .../getting-started/on-premise/_index.md | 2 +- .../add-portal-to-innovation/_index.md | 12 ++ .../add-portal-to-innovation/installation.md | 104 ++++++++++++++++++ 3 files changed, 117 insertions(+), 1 deletion(-) create mode 100644 content/en/docs/2026.9/getting-started/on-premise/add-portal-to-innovation/_index.md create mode 100644 content/en/docs/2026.9/getting-started/on-premise/add-portal-to-innovation/installation.md diff --git a/content/en/docs/2026.9/getting-started/on-premise/_index.md b/content/en/docs/2026.9/getting-started/on-premise/_index.md index 055a53bc4..433ba5bf1 100644 --- a/content/en/docs/2026.9/getting-started/on-premise/_index.md +++ b/content/en/docs/2026.9/getting-started/on-premise/_index.md @@ -5,5 +5,5 @@ description: "Information about installing {{% ctx %}} to virtual machines or ph --- {{% pageinfo %}} -{{% ctx %}} can be deployed on-premise [on its own](install-innovation-only) or added to an [existing](add-innovation-to-72) {{% ctx %}} 7 installation. +{{% ctx %}} can be deployed on-premise [on its own](install-innovation-only) or added to an [existing](add-innovation-to-72) {{% ctx %}} 7 installation. To add {{% ctx %}} Portal to a Web Application Server that already has {{% ctx %}} Gateway, see [Add Portal to CORTEX](add-portal-to-innovation/). {{% /pageinfo %}} diff --git a/content/en/docs/2026.9/getting-started/on-premise/add-portal-to-innovation/_index.md b/content/en/docs/2026.9/getting-started/on-premise/add-portal-to-innovation/_index.md new file mode 100644 index 000000000..0013f3090 --- /dev/null +++ b/content/en/docs/2026.9/getting-started/on-premise/add-portal-to-innovation/_index.md @@ -0,0 +1,12 @@ +--- +title: "Add Portal to CORTEX" +linkTitle: "Add Portal to CORTEX" +description: "Information about installing {{% ctx %}} Portal on a Web Application Server that already has {{% ctx %}} Gateway." +weight: 40 +--- + +{{< alert title="Important" color="warning" >}} +This guide describes how to add {{% ctx %}} Portal to an existing Web Application Server with {{% ctx %}} Gateway installed. For any other installation scenario, please contact {{< ahref path="Cortex.ServicePortal.MainDoc" title="CORTEX Service Portal" >}}. +{{% /alert %}} + +1. [Install Portal](installation/) diff --git a/content/en/docs/2026.9/getting-started/on-premise/add-portal-to-innovation/installation.md b/content/en/docs/2026.9/getting-started/on-premise/add-portal-to-innovation/installation.md new file mode 100644 index 000000000..f0046e1b2 --- /dev/null +++ b/content/en/docs/2026.9/getting-started/on-premise/add-portal-to-innovation/installation.md @@ -0,0 +1,104 @@ +--- +title: "Install Portal" +linkTitle: "Install Portal" +description: "Install IIS, the .NET 10 Hosting Bundle, extract the Portal scripts, configure the install script, and run it." +weight: 40 +--- + +# {{% param title %}} + +Complete these steps on the Web Application Server that already hosts {{% ctx %}} Gateway. + +## Install IIS + +1. Open **Server Manager**. +1. Click **Manage**, then **Add Roles and Features**. +1. Proceed through the wizard. On **Server Roles**, select **Web Server (IIS)**. +1. Add the management tools the wizard offers, confirm the selection, and install. +1. Restart the server if Windows asks you to. + +## Install the .NET 10 Hosting Bundle + +1. Download the **.NET 10 Hosting Bundle** from Microsoft and run the installer on this server. +1. When the installer finishes, open an elevated PowerShell window and run: + + ```powershell + iisreset + ``` + +The hosting bundle registers the ASP.NET Core Module with IIS. `iisreset` loads that module. + +## Extract the scripts + +1. Copy **Portal Application Server Scripts.zip** to the server. +1. Extract it to `C:\Install\Portal Application Server Scripts`. +1. Confirm `Cortex.Innovation.Install.Portal.ps1` is in that folder. + +## Configure {{% ctx %}} Portal Installation Script + +1. In `C:\Install\Portal Application Server Scripts`, open `Cortex.Innovation.Install.Portal.ps1` with a text editor. +1. Configure the script according to the details given below: + + ```powershell + .\Cortex.Install.Portal.ps1 ` + -PackagePath "C:\Install\cortex-portal" ` + -ServiceFabricApiGatewayEndpoint "https://server.domain.com:8722/" ` + -PortalApplicationPoolUsername "Domain\Username" ` + -WebRootFolder "C:\inetpub\wwwroot" ` + -SiteName "Cortex" ` + -ApplicationName "portal" ` + -WebsitePort "443" ` + -ImportCertificate $false ` + -CertificateFilePath "C:\Install\Certificate.pfx" ` + -CertificateFriendlyName "CortexServerCertificate" ` + -UsingWindowsDefender $false ` + -AcceptEULA:$AcceptEULA ` + *>&1 | Tee-Object -FilePath "cortex-portal-install-log.txt" + ``` + + | Name | Description | + |------|-------------| + |`PackagePath` | Configure this value with the location of the portal package folder on the installation server. Copy the folder produced by `pnpm package` (`artifacts/cortex-portal/`) to this path. Typically this will be `C:\Install\cortex-portal`. | + |`ServiceFabricApiGatewayEndpoint` | Replace `server.domain.com` with the fully qualified domain name of the server. The port should be specified as `8722` and there must be a trailing slash, e.g. `https://server.domain.com:8722/`.

This will set the `Cortex:ApiGateway:BaseUrl` value in the portal `appsettings.json`. | + |`PortalApplicationPoolUsername` | Replace `Domain\Username` with the user that should be used to run the {{% ctx %}} Portal application pool. The password for this user is prompted when the application pool is created. | + |`WebRootFolder` | Replace this with the correct path for the Web Root Folder on the server. Typically this will be `C:\inetpub\wwwroot`. | + |`SiteName` | The IIS site name. The default is `Cortex`. When {{% ctx %}} Portal is installed on the same server as {{% ctx %}} Gateway, use the Gateway site name so both applications share one site. | + |`ApplicationName` | The IIS sub-application name. The default is `portal`. The portal is then available under `/portal` on that site. | + |`WebsitePort` | Replace this with the port that you wish the website to use when this script creates the site. Typically this will be `443`. This value is ignored when the site already exists. | + |`ImportCertificate` | Change this from `$true` to `$false` if you do not require the certificate to be imported as part of the installation process.

When this is `$false`, use the certificate already assigned for {{% ctx %}} Gateway. See [Install the Web Application Server][Install the Web Application Server].

When this is `$true` and the file is a `.pfx`, the script prompts for the certificate password. That password is not a parameter on this script. | + |`CertificateFilePath` | Replace this with the location and filename for the certificate to be imported. If `ImportCertificate` is `$false`, this value can remain unchanged. | + |`CertificateFriendlyName` | Replace this with the friendly name of the certificate. The sample uses `CortexServerCertificate`. When sharing the site certificate with {{% ctx %}} Gateway, use the same friendly name. | + |`UsingWindowsDefender` | Change this from `$false` to `$true` if you are using the Windows Defender firewall.

If Windows Defender is not being used but an alternative firewall is, it must be configured to allow communication inbound via TCP on the port configured for HTTPS (usually 443). | + |`AcceptEULA` | This does not need to be changed. The EULA is accepted when you run the script. | + |`FilePath` | The filename that installation logs are written to. If this should be written to a different location than where the installation files are, specify a full path. The sample writes `cortex-portal-install-log.txt`. | + +1. Save and close `Cortex.Innovation.Install.Portal.ps1`. + +## Install {{% ctx %}} Portal + +1. Open a Windows PowerShell (x64) window as administrator. +1. Navigate to the extracted scripts folder, modifying the path as necessary: + + ```powershell + cd "C:\Install\Portal Application Server Scripts" + ``` + +1. Read the End User Licence Agreement which can be found [here][Eula]. Once you agree to the terms, run: + + ```powershell + .\Cortex.Innovation.Install.Portal.ps1 -AcceptEULA + ``` + +1. If `ImportCertificate` is set to `$true`, and the file is of type `.pfx`, a prompt will appear for the certificate password. Enter it, and then press `Enter`. +1. A prompt will appear to enter the password for the user specified to run the {{% ctx %}} Portal application pool. Enter it, and then press `Enter`. +1. Check that there have been no errors in the script. Errors appear in red in the console. + + If there are any errors, follow any instructions given within them and retry the installation. + + If the errors do not give any instructions on how to rectify them, contact [{{% ctx %}} Service Portal][CORTEX Service Portal]. + +1. In a browser, open the {{% ctx %}} Portal website, for example `https://localhost/portal`, and wait for the page to load. Confirm `https://localhost/portal/api/v1/health` returns successfully. If `ApplicationName` is not `portal`, use that name in both URLs. + +[CORTEX Service Portal]: {{< url path="Cortex.ServicePortal.MainDoc" >}} +[Eula]: {{< url path="Cortex.Website.Eula.MainDoc" >}} +[Install the Web Application Server]: ../install-innovation-only/single-server-without-ha/installation/install-web-application-server/ From df6e472299ecfcdd3e88de2d9eaae3bbeaee7c08 Mon Sep 17 00:00:00 2001 From: Tim Pragnell Date: Thu, 22 Oct 2026 15:12:41 +0100 Subject: [PATCH 2/4] Add Cortex Portal installation steps --- .../add-portal-to-innovation/_index.md | 6 +-- .../add-portal-to-innovation/installation.md | 35 +++------------ .../pre-installation.md | 37 ++++++++++++++++ .../add-portal-to-innovation/requirements.md | 43 +++++++++++++++++++ 4 files changed, 87 insertions(+), 34 deletions(-) create mode 100644 content/en/docs/2026.9/getting-started/on-premise/add-portal-to-innovation/pre-installation.md create mode 100644 content/en/docs/2026.9/getting-started/on-premise/add-portal-to-innovation/requirements.md diff --git a/content/en/docs/2026.9/getting-started/on-premise/add-portal-to-innovation/_index.md b/content/en/docs/2026.9/getting-started/on-premise/add-portal-to-innovation/_index.md index 0013f3090..b64416ec1 100644 --- a/content/en/docs/2026.9/getting-started/on-premise/add-portal-to-innovation/_index.md +++ b/content/en/docs/2026.9/getting-started/on-premise/add-portal-to-innovation/_index.md @@ -1,12 +1,10 @@ --- title: "Add Portal to CORTEX" linkTitle: "Add Portal to CORTEX" -description: "Information about installing {{% ctx %}} Portal on a Web Application Server that already has {{% ctx %}} Gateway." +description: "Information about pre-installation steps and installation instructions for the {{% ctx %}} Portal for {{% ctx %}}." weight: 40 --- {{< alert title="Important" color="warning" >}} -This guide describes how to add {{% ctx %}} Portal to an existing Web Application Server with {{% ctx %}} Gateway installed. For any other installation scenario, please contact {{< ahref path="Cortex.ServicePortal.MainDoc" title="CORTEX Service Portal" >}}. +This guide currently only describes how to add the {{% ctx %}} Portal to an existing Web Application Server with {{% ctx %}} Gateway installed. For any other installation scenario, please contact {{< ahref path="Cortex.ServicePortal.MainDoc" title="CORTEX Service Portal" >}}. {{% /alert %}} - -1. [Install Portal](installation/) diff --git a/content/en/docs/2026.9/getting-started/on-premise/add-portal-to-innovation/installation.md b/content/en/docs/2026.9/getting-started/on-premise/add-portal-to-innovation/installation.md index f0046e1b2..c2b5c2a51 100644 --- a/content/en/docs/2026.9/getting-started/on-premise/add-portal-to-innovation/installation.md +++ b/content/en/docs/2026.9/getting-started/on-premise/add-portal-to-innovation/installation.md @@ -1,38 +1,13 @@ --- title: "Install Portal" linkTitle: "Install Portal" -description: "Install IIS, the .NET 10 Hosting Bundle, extract the Portal scripts, configure the install script, and run it." +description: "Information about installing the {{% ctx %}} Portal." weight: 40 --- # {{% param title %}} -Complete these steps on the Web Application Server that already hosts {{% ctx %}} Gateway. - -## Install IIS - -1. Open **Server Manager**. -1. Click **Manage**, then **Add Roles and Features**. -1. Proceed through the wizard. On **Server Roles**, select **Web Server (IIS)**. -1. Add the management tools the wizard offers, confirm the selection, and install. -1. Restart the server if Windows asks you to. - -## Install the .NET 10 Hosting Bundle - -1. Download the **.NET 10 Hosting Bundle** from Microsoft and run the installer on this server. -1. When the installer finishes, open an elevated PowerShell window and run: - - ```powershell - iisreset - ``` - -The hosting bundle registers the ASP.NET Core Module with IIS. `iisreset` loads that module. - -## Extract the scripts - -1. Copy **Portal Application Server Scripts.zip** to the server. -1. Extract it to `C:\Install\Portal Application Server Scripts`. -1. Confirm `Cortex.Innovation.Install.Portal.ps1` is in that folder. +This guide describes how to install the {{% ctx %}} Portal on the Web Application Server. ## Configure {{% ctx %}} Portal Installation Script @@ -58,14 +33,14 @@ The hosting bundle registers the ASP.NET Core Module with IIS. `iisreset` loads | Name | Description | |------|-------------| - |`PackagePath` | Configure this value with the location of the portal package folder on the installation server. Copy the folder produced by `pnpm package` (`artifacts/cortex-portal/`) to this path. Typically this will be `C:\Install\cortex-portal`. | + |`PackagePath` | Configure this value with the folder where **Cortex Innovation 2026.9 - Portal.zip** was extracted. Typically this will be `C:\Install\cortex-portal`. That folder must directly contain `Cortex.Portal.Bff.dll`, `web.config`, and `wwwroot`. | |`ServiceFabricApiGatewayEndpoint` | Replace `server.domain.com` with the fully qualified domain name of the server. The port should be specified as `8722` and there must be a trailing slash, e.g. `https://server.domain.com:8722/`.

This will set the `Cortex:ApiGateway:BaseUrl` value in the portal `appsettings.json`. | |`PortalApplicationPoolUsername` | Replace `Domain\Username` with the user that should be used to run the {{% ctx %}} Portal application pool. The password for this user is prompted when the application pool is created. | |`WebRootFolder` | Replace this with the correct path for the Web Root Folder on the server. Typically this will be `C:\inetpub\wwwroot`. | |`SiteName` | The IIS site name. The default is `Cortex`. When {{% ctx %}} Portal is installed on the same server as {{% ctx %}} Gateway, use the Gateway site name so both applications share one site. | |`ApplicationName` | The IIS sub-application name. The default is `portal`. The portal is then available under `/portal` on that site. | |`WebsitePort` | Replace this with the port that you wish the website to use when this script creates the site. Typically this will be `443`. This value is ignored when the site already exists. | - |`ImportCertificate` | Change this from `$true` to `$false` if you do not require the certificate to be imported as part of the installation process.

When this is `$false`, use the certificate already assigned for {{% ctx %}} Gateway. See [Install the Web Application Server][Install the Web Application Server].

When this is `$true` and the file is a `.pfx`, the script prompts for the certificate password. That password is not a parameter on this script. | + |`ImportCertificate` | Leave this as `$false` when the portal should use the certificate already assigned for {{% ctx %}} Gateway. See [Install the Web Application Server][Install the Web Application Server]. Set this to `$true` only when this script should import a certificate.

When this is `$true` and the file is a `.pfx`, the script prompts for the certificate password. That password is not a parameter on this script. | |`CertificateFilePath` | Replace this with the location and filename for the certificate to be imported. If `ImportCertificate` is `$false`, this value can remain unchanged. | |`CertificateFriendlyName` | Replace this with the friendly name of the certificate. The sample uses `CortexServerCertificate`. When sharing the site certificate with {{% ctx %}} Gateway, use the same friendly name. | |`UsingWindowsDefender` | Change this from `$false` to `$true` if you are using the Windows Defender firewall.

If Windows Defender is not being used but an alternative firewall is, it must be configured to allow communication inbound via TCP on the port configured for HTTPS (usually 443). | @@ -101,4 +76,4 @@ The hosting bundle registers the ASP.NET Core Module with IIS. `iisreset` loads [CORTEX Service Portal]: {{< url path="Cortex.ServicePortal.MainDoc" >}} [Eula]: {{< url path="Cortex.Website.Eula.MainDoc" >}} -[Install the Web Application Server]: ../install-innovation-only/single-server-without-ha/installation/install-web-application-server/ +[Install the Web Application Server]: ../../install-innovation-only/single-server-without-ha/installation/install-web-application-server/ diff --git a/content/en/docs/2026.9/getting-started/on-premise/add-portal-to-innovation/pre-installation.md b/content/en/docs/2026.9/getting-started/on-premise/add-portal-to-innovation/pre-installation.md new file mode 100644 index 000000000..c7bf70556 --- /dev/null +++ b/content/en/docs/2026.9/getting-started/on-premise/add-portal-to-innovation/pre-installation.md @@ -0,0 +1,37 @@ +--- +title: "Pre-Installation" +linkTitle: "Pre-Installation" +description: "Information about the steps required to be completed prior to starting the installation." +weight: 20 +--- + +# {{% param title %}} + +This guide describes how to perform the steps required before starting the installation of the {{% ctx %}} Portal. + +## Make Installation Artefacts Available + +1. Copy **Portal Application Server Scripts.zip** to the Web Application Server. +1. Extract it to `C:\Install\Portal Application Server Scripts`. +1. Confirm `Cortex.Innovation.Install.Portal.ps1` is in the extracted folder. +1. Copy **Cortex Innovation 2026.9 - Portal.zip** to the Web Application Server. +1. Extract **Cortex Innovation 2026.9 - Portal.zip** to `C:\Install\cortex-portal`. +1. Confirm `Cortex.Portal.Bff.dll`, `web.config`, and `wwwroot` are directly in `C:\Install\cortex-portal`. If Extract All created a child folder, move those contents up so this folder is the package root. + +## Install the .NET 10 Hosting Bundle + +1. Download the **.NET 10 Hosting Bundle** from Microsoft. +1. Run the hosting bundle installer on the Web Application Server. +1. When the installer finishes, open Windows PowerShell as an administrator and run: + + ```powershell + iisreset + ``` + +The hosting bundle registers the ASP.NET Core Module with IIS. `iisreset` loads that module. + +## Next Steps? + +1. [Installation][] + +[Installation]: ../installation/ diff --git a/content/en/docs/2026.9/getting-started/on-premise/add-portal-to-innovation/requirements.md b/content/en/docs/2026.9/getting-started/on-premise/add-portal-to-innovation/requirements.md new file mode 100644 index 000000000..4a10a81dd --- /dev/null +++ b/content/en/docs/2026.9/getting-started/on-premise/add-portal-to-innovation/requirements.md @@ -0,0 +1,43 @@ +--- +title: "Requirements" +linkTitle: "Requirements" +description: "Information about the requirements required." +weight: 10 +--- + +# {{% param title %}} + +The requirements for an installation of the {{% ctx %}} Portal are laid out in this guide. These must be considered before undertaking installation. + +{{< alert color="warning" title="Important" >}} +The {{% ctx %}} Portal must be installed on the Web Application Server where {{% ctx %}} Gateway is installed. For any other installation scenario, please contact {{< ahref path="Cortex.ServicePortal.MainDoc" title="CORTEX Service Portal" >}}. +{{< /alert >}} + +## Server Requirements + +The Web Application Server must: + +* Have {{% ctx %}} Gateway installed and working. +* Be able to connect to the {{% ctx %}} API Gateway endpoint configured during installation. + +## Installation User + +The installation user must be able to: + +* Log on to the Web Application Server. +* Run Windows PowerShell as an administrator. +* Install the .NET 10 Hosting Bundle. +* Read the portal package and installation scripts. + +## Installation Artefacts + +The following artefacts must be available before installation: + +* Portal Application Server Scripts.zip +* Cortex Innovation 2026.9 - Portal.zip + +## Next Steps? + +1. [Pre-Installation][] + +[Pre-Installation]: ../pre-installation/ From f86924be804135a6a50d4adf7bf09c60e4d70d35 Mon Sep 17 00:00:00 2001 From: Tim Pragnell Date: Mon, 26 Oct 2026 10:18:04 +0000 Subject: [PATCH 3/4] Format the Add Portal guide like the existing install pages. Co-authored-by: Cursor --- .../add-portal-to-innovation/installation.md | 36 +++++++++---------- .../pre-installation.md | 8 ++--- .../add-portal-to-innovation/requirements.md | 4 +-- 3 files changed, 24 insertions(+), 24 deletions(-) diff --git a/content/en/docs/2026.9/getting-started/on-premise/add-portal-to-innovation/installation.md b/content/en/docs/2026.9/getting-started/on-premise/add-portal-to-innovation/installation.md index c2b5c2a51..4dfcf9341 100644 --- a/content/en/docs/2026.9/getting-started/on-premise/add-portal-to-innovation/installation.md +++ b/content/en/docs/2026.9/getting-started/on-premise/add-portal-to-innovation/installation.md @@ -31,21 +31,21 @@ This guide describes how to install the {{% ctx %}} Portal on the Web Applicatio *>&1 | Tee-Object -FilePath "cortex-portal-install-log.txt" ``` - | Name | Description | - |------|-------------| - |`PackagePath` | Configure this value with the folder where **Cortex Innovation 2026.9 - Portal.zip** was extracted. Typically this will be `C:\Install\cortex-portal`. That folder must directly contain `Cortex.Portal.Bff.dll`, `web.config`, and `wwwroot`. | - |`ServiceFabricApiGatewayEndpoint` | Replace `server.domain.com` with the fully qualified domain name of the server. The port should be specified as `8722` and there must be a trailing slash, e.g. `https://server.domain.com:8722/`.

This will set the `Cortex:ApiGateway:BaseUrl` value in the portal `appsettings.json`. | - |`PortalApplicationPoolUsername` | Replace `Domain\Username` with the user that should be used to run the {{% ctx %}} Portal application pool. The password for this user is prompted when the application pool is created. | - |`WebRootFolder` | Replace this with the correct path for the Web Root Folder on the server. Typically this will be `C:\inetpub\wwwroot`. | - |`SiteName` | The IIS site name. The default is `Cortex`. When {{% ctx %}} Portal is installed on the same server as {{% ctx %}} Gateway, use the Gateway site name so both applications share one site. | - |`ApplicationName` | The IIS sub-application name. The default is `portal`. The portal is then available under `/portal` on that site. | - |`WebsitePort` | Replace this with the port that you wish the website to use when this script creates the site. Typically this will be `443`. This value is ignored when the site already exists. | - |`ImportCertificate` | Leave this as `$false` when the portal should use the certificate already assigned for {{% ctx %}} Gateway. See [Install the Web Application Server][Install the Web Application Server]. Set this to `$true` only when this script should import a certificate.

When this is `$true` and the file is a `.pfx`, the script prompts for the certificate password. That password is not a parameter on this script. | - |`CertificateFilePath` | Replace this with the location and filename for the certificate to be imported. If `ImportCertificate` is `$false`, this value can remain unchanged. | - |`CertificateFriendlyName` | Replace this with the friendly name of the certificate. The sample uses `CortexServerCertificate`. When sharing the site certificate with {{% ctx %}} Gateway, use the same friendly name. | - |`UsingWindowsDefender` | Change this from `$false` to `$true` if you are using the Windows Defender firewall.

If Windows Defender is not being used but an alternative firewall is, it must be configured to allow communication inbound via TCP on the port configured for HTTPS (usually 443). | - |`AcceptEULA` | This does not need to be changed. The EULA is accepted when you run the script. | - |`FilePath` | The filename that installation logs are written to. If this should be written to a different location than where the installation files are, specify a full path. The sample writes `cortex-portal-install-log.txt`. | + | Name | Description | + |-----------------------------------|-------------| + |`PackagePath` | Configure this value with the folder where `Cortex Innovation 2026.9 - Portal.zip` was extracted. Typically this will be `C:\Install\cortex-portal`. That folder must directly contain `Cortex.Portal.Bff.dll`, `web.config`, and `wwwroot`. | + |`ServiceFabricApiGatewayEndpoint` | Replace `server.domain.com` with the fully qualified domain name of the server. The port should be specified as `8722` and there must be a trailing slash, e.g. `https://server.domain.com:8722/`.

This will set the `Cortex:ApiGateway:BaseUrl` value in the portal `appsettings.json`. | + |`PortalApplicationPoolUsername` | Replace `Domain\Username` with the user that should be used to run the {{% ctx %}} Portal application pool. The password for this user is prompted when the application pool is created. | + |`WebRootFolder` | Replace this with the correct path for the Web Root Folder on the server. Typically this will be `C:\inetpub\wwwroot`. | + |`SiteName` | The IIS site name. The default is `Cortex`. When {{% ctx %}} Portal is installed on the same server as {{% ctx %}} Gateway, use the Gateway site name so both applications share one site. | + |`ApplicationName` | The IIS sub-application name. The default is `portal`. The portal is then available under `/portal` on that site. | + |`WebsitePort` | Replace this with the port that you wish the website to use when this script creates the site. Typically this will be `443`. This value is ignored when the site already exists. | + |`ImportCertificate` | Leave this as `$false` when the portal should use the certificate already assigned for {{% ctx %}} Gateway. See [Install the Web Application Server][Install the Web Application Server]. Set this to `$true` only when this script should import a certificate.

When this is `$true` and the file is of type `.pfx`, the script prompts for the certificate password. That password is not a parameter on this script. | + |`CertificateFilePath` | Replace this with the location and filename for the certificate to be imported. If `ImportCertificate` is `$false`, this value can remain unchanged. | + |`CertificateFriendlyName` | Replace this with the friendly name of the certificate. The sample uses `CortexServerCertificate`. When sharing the site certificate with {{% ctx %}} Gateway, use the same friendly name. | + |`UsingWindowsDefender` | Change this from `$false` to `$true` if you are using the Windows Defender firewall.

If Windows Defender is not being used but an alternative firewall is, it must be configured to allow communication inbound via TCP on the port configured for HTTPS (usually 443). | + |`AcceptEULA` | This does not need to be changed. The EULA is accepted when you run the script. | + |`FilePath` | The filename that installation logs are written to. If this should be written to a different location than where the installation files are, specify a full path. The sample writes `cortex-portal-install-log.txt`. | 1. Save and close `Cortex.Innovation.Install.Portal.ps1`. @@ -64,9 +64,9 @@ This guide describes how to install the {{% ctx %}} Portal on the Web Applicatio .\Cortex.Innovation.Install.Portal.ps1 -AcceptEULA ``` -1. If `ImportCertificate` is set to `$true`, and the file is of type `.pfx`, a prompt will appear for the certificate password. Enter it, and then press `Enter`. -1. A prompt will appear to enter the password for the user specified to run the {{% ctx %}} Portal application pool. Enter it, and then press `Enter`. -1. Check that there have been no errors in the script. Errors appear in red in the console. +1. If `ImportCertificate` is set to `$true`, and the file is of type `.pfx`, a prompt will appear for the certificate password. This should be entered, and then hit `Enter`. +1. A prompt will appear to enter the password for the user specified to run the {{% ctx %}} Portal application pool. This should be entered, and then hit `Enter`. +1. Check that there have been no errors in the script; these would appear in red in the console. If there are any errors, follow any instructions given within them and retry the installation. diff --git a/content/en/docs/2026.9/getting-started/on-premise/add-portal-to-innovation/pre-installation.md b/content/en/docs/2026.9/getting-started/on-premise/add-portal-to-innovation/pre-installation.md index c7bf70556..56bec3212 100644 --- a/content/en/docs/2026.9/getting-started/on-premise/add-portal-to-innovation/pre-installation.md +++ b/content/en/docs/2026.9/getting-started/on-premise/add-portal-to-innovation/pre-installation.md @@ -11,16 +11,16 @@ This guide describes how to perform the steps required before starting the insta ## Make Installation Artefacts Available -1. Copy **Portal Application Server Scripts.zip** to the Web Application Server. +1. Copy `Portal Application Server Scripts.zip` to the Web Application Server. 1. Extract it to `C:\Install\Portal Application Server Scripts`. 1. Confirm `Cortex.Innovation.Install.Portal.ps1` is in the extracted folder. -1. Copy **Cortex Innovation 2026.9 - Portal.zip** to the Web Application Server. -1. Extract **Cortex Innovation 2026.9 - Portal.zip** to `C:\Install\cortex-portal`. +1. Copy `Cortex Innovation 2026.9 - Portal.zip` to the Web Application Server. +1. Extract `Cortex Innovation 2026.9 - Portal.zip` to `C:\Install\cortex-portal`. 1. Confirm `Cortex.Portal.Bff.dll`, `web.config`, and `wwwroot` are directly in `C:\Install\cortex-portal`. If Extract All created a child folder, move those contents up so this folder is the package root. ## Install the .NET 10 Hosting Bundle -1. Download the **.NET 10 Hosting Bundle** from Microsoft. +1. Download the .NET 10 Hosting Bundle from Microsoft. 1. Run the hosting bundle installer on the Web Application Server. 1. When the installer finishes, open Windows PowerShell as an administrator and run: diff --git a/content/en/docs/2026.9/getting-started/on-premise/add-portal-to-innovation/requirements.md b/content/en/docs/2026.9/getting-started/on-premise/add-portal-to-innovation/requirements.md index 4a10a81dd..d0c43445a 100644 --- a/content/en/docs/2026.9/getting-started/on-premise/add-portal-to-innovation/requirements.md +++ b/content/en/docs/2026.9/getting-started/on-premise/add-portal-to-innovation/requirements.md @@ -33,8 +33,8 @@ The installation user must be able to: The following artefacts must be available before installation: -* Portal Application Server Scripts.zip -* Cortex Innovation 2026.9 - Portal.zip +* `Portal Application Server Scripts.zip` +* `Cortex Innovation 2026.9 - Portal.zip` ## Next Steps? From b87aa164dd7d572a05bfe582a5bc51acff7f2a35 Mon Sep 17 00:00:00 2001 From: Tim Pragnell Date: Mon, 26 Oct 2026 10:43:15 +0000 Subject: [PATCH 4/4] Match the Portal installation user to the other on-premise guides. Co-authored-by: Cursor --- .../on-premise/add-portal-to-innovation/requirements.md | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/content/en/docs/2026.9/getting-started/on-premise/add-portal-to-innovation/requirements.md b/content/en/docs/2026.9/getting-started/on-premise/add-portal-to-innovation/requirements.md index d0c43445a..2ad2805e6 100644 --- a/content/en/docs/2026.9/getting-started/on-premise/add-portal-to-innovation/requirements.md +++ b/content/en/docs/2026.9/getting-started/on-premise/add-portal-to-innovation/requirements.md @@ -20,14 +20,11 @@ The Web Application Server must: * Have {{% ctx %}} Gateway installed and working. * Be able to connect to the {{% ctx %}} API Gateway endpoint configured during installation. -## Installation User +## Security Requirements -The installation user must be able to: +### Installation User -* Log on to the Web Application Server. -* Run Windows PowerShell as an administrator. -* Install the .NET 10 Hosting Bundle. -* Read the portal package and installation scripts. +A domain user with the necessary administrative permissions to log on to the Web Application Server via Remote Desktop and execute PowerShell scripts. ## Installation Artefacts