LifeTime this.Version.ToString() βthis.BetaVersion

Checklist for LifeTime with Platform Server Installation

This checklist describes the procedures you need to perform to install, upgrade, or update OutSystems Platform Server. If you haven't already, read the System Requirements technical note to understand what it takes to install OutSystems Platform.

In order to customize the checklist content for your particular installation requirements, you need to select below the kind of installation, the corresponding roles, operating system and other properties for the machine you'll be configuring. You should do this for each machine in order to have a checklist for each one of them.

It may prove useful to print each of the generated checklists. Once you have selected the necessary items for one machine, you'll be ready to print it out. Afterwards, you can move on to another checklist configuration.

Please select which kind of task you'll be doing:

This checklist should be used when you are installing a new standalone server, a new farm installation or adding new Servers to a previous installation. If you are simply trying to upgrade an existing installation, you should use one of the other installation types.

This checklist should be used when you want to upgrade your existing system to a new Major Release. This happens when the Major number changes (Major.Feature.Patch). Besides fixes for reported problems, major releases usually provide new features and can introduce breaking changes.

This checklist should be used when you want to update your existing system to a new Release or Cumulative Patch. This happens when the Major numbers are the same, but the Build or Revision number changes (Major.Feature.Patch). Cumulative Patches usually only include fixes to reported problems and Releases can also provide new features.

Please select which role or combination of roles this machine will be responsible for:

The Database is where the platform stores all its data. All other machines in your farm or standalone installation will need access to this machine in order to work. Select this role if the machine you're installing will be performing only this role.

The Deployment Controller is responsible for compiling applications and publishing the compilation to all Servers. You can only have one Deployment Controller per farm.

Servers are responsible for running all deployed applications. You can have as many Servers per farm as you want.

Select this combination if the machine will accumulate the roles of Deployment Controller and Server.

The Deployment Controller is responsible for compiling applications and publishing the compilation to all Servers. You can only have one Deployment Controller per farm.

Servers are responsible for running all deployed applications. You can have as many Servers per farm as you want.

The Database is where the platform stores all its data. All other machines in your farm or standalone installation will need access to this machine in order to work.

Select this combination if the machine will accumulate the roles of Deployment Controller, Server and Database.

Please select which operating system you'll be using on this machine:

Microsoft Windows Server 2019 (64 bit editions)

Microsoft Windows Server 2016 (64 bit editions)

Other operating system. This option only applies to Oracle Database machines or databases using RDS.

Please select which database software you'll be using:

Microsoft SQL Server 2017 on Amazon RDS

Microsoft SQL Server 2017

Microsoft SQL Server 2016 on Amazon RDS

Microsoft SQL Server 2016

Microsoft SQL Server 2014

Oracle Database

Oracle Database on Amazon RDS

Please select the database authentication mechanism OutSystems Services and Applications use to connect to the database server:

Use SQL Server Authentication with username and password in connection strings.

Use Windows Authentication to connect to the OutSystems database. No password is stored in configuration files or present in the connection strings. All the Servers and Database machines need to be on the same Domain.

Overview

The document is organized in the following sections:

In each section there is a list of topics that you have to test in order to successfully install OutSystems Platform Server. The mandatory topics are the ones that must be checked in order to have a certified installation, i.e. the requirements necessary to guarantee that OutSystems supports your installation. The mandatory topics are in red and the icon associated is *. On the other hand, the optional topics are only recommended and you are not forced to check them. The optional topics are in plain text and the icon associated is .

Pre-installation checklist

In this section you have a list of all the issues that you must validate before installing the software.

OutSystems Platform Server

Topics that you must check before start installing OutSystems Platform Server.

* Dedicated LifeTime environment:
* Azure SQL Database service tier:
  • The minimum recommended service tier for a database is S3. You specify the service tier when creating the database.
Disable IPv4 checksum offload, large receive offload, large send offload and TCP checksum offload on the NIC driver settings:
  1. Access the Server using Remote Desktop;
  2. Access Control Panel\Network and Internet\Network Connections;
  3. Right-click on the network adapter that reaches the SQL Server, and select Properties;
  4. Click Configure;
  5. In the Advanced tab, select the following settings* and disable them:
    • IPv4 Checksum Offload;
    • Large receive Offload (IPv4);
    • Large Send Offload (IPv4);
    • TCP Checksum Offload (IPv4).
    * The settings name may differ slightly depending on the installed driver and model.
  6. Close all dialog boxes with OK button (network connectivity will be momentarily lost).

For more details, check Timeout Connection to Amazon RDS.
* Amazon RDS dimension:
  • The minimum recommended size for a database instance is the medium size, that is, the Instance class must be at least "db.m1.medium". This is specified when you create the instance.
Amazon RDS time zones:
  • If you want your database to be in a different time zone, you will have to define the RDS time zone when creating the RDS.
    NOTE: When you change the database time zone, all your front-ends must be configured with the same time zone as the database.

    For more information about Amazon RDS time zones for Oracle check this page.
Amazon RDS time zones:
  • It is not possible to change the time zone for Microsoft SQL Server RDS. The default time zone is UTC.
    NOTE: All your front-ends must be configured with the UTC time zone.
Amazon RDS time zones:
  • You must configure your front-end using the same time zone as the RDS.
Amazon RDS High-availability:
  • If you want to have High-availability (Multi-AZ) in your RDS, it must be enabled when creating the RDS. When creating the RDS, in DB instance details, pick Yes for Multi-AZ deployment option. You can also change it for an existing Oracle RDS database in the AWS Management Console -> Instance actions -> Modify.
Amazon RDS High-availability:
  • If you want to have High-availability (Multi-AZ via Mirroring) in your RDS, it must be disabled during the execution of the Configuration Tool. When creating the RDS, in DB instance details, pick No for Multi-AZ deployment option. You can also change it for an existing SQL Server RDS database in the AWS Management Console -> Instance actions -> Modify.
* Windows Server 2016:
  • You can use any 64-bit (x64) Windows Server 2016 edition, except Server Core and Nano Server option.
* Windows Server 2019:
  • You can use any 64-bit (x64) Windows Server 2019 edition, except Server Core and Nano Server option.
* Install Microsoft .NET Framework 4.7.2 and Build Tools 2015
Install the latest Security Microsoft Updates
*

Add Internet Information Services 10.0:

Open Server Manager and, in the left tree, select Local Server

On the right window, scroll down to the Roles and Features list and make sure that you have installed the Web Server(IIS) role. If you don't, make sure to follow these instructions:

  • Installing the Web Server (IIS) role:
    1. Click the Manage menu and then click Add Roles and Features
    2. On the Installation Type page, select Role-based or feature based installation and click Next
    3. On the Server Selection page, select your Local Server from the server pool and click Next
    4. On the Server Roles page, select Web Server (IIS) from the list
    5. On the Add Roles and Features wizard, click Add Features
    6. On the Web Server Role (IIS) page, click Next
    7. On the Web Server Role (IIS) Role Services page, ensure the following role services are selected in this list, installing any further required dependencies:
      • Common HTTP Features
        • Default Document
        • Directory Browsing
        • HTTP Errors
        • Static Content
      • Health and Diagnostics
        • HTTP Logging
        • Request Monitor
      • Performance
        • Static Content Compression
        • Dynamic Content Compression
      • Security
        • Request Filtering
        • Windows Authentication
      • Application Development
        • .NET Extensibility 4.6
        • ASP.NET 4.6
        • ISAPI Extensions
        • ISAPI Filters
      • Management Tools
        • IIS Management Console
        • IIS 6 Management Compatibility
          • IIS 6 Metabase Compatibility
    8. On the Confirmation page, click Install

If the role is already installed, confirm that the above items are installed as well. If they are selected, then check that their dependencies are also correctly chosen.

For more information on Installing IIS visit https://www.iis.net/learn/install/installing-iis-85/installing-iis-85-on-windows-server-2012-r2.
NOTE: Installation guide for IIS 10.0 in Windows 2016 is similar to IIS 8.5 in Windows 2012

For more information on Installing IIS visit https://www.iis.net/learn/install/installing-iis-85/installing-iis-85-on-windows-server-2012-r2.
NOTE: Installation guide for IIS 10.0 in Windows 2019 is similar to IIS 8.5 in Windows 2012

*

Install Windows Process Activation Service:

Open Server Manager and, in the left tree, select Local Server

On the right window, scroll down to the Roles and Features list and make sure that you have installed the Windows Process Activation Service feature. If you don't, make sure to follow these instructions:

  • Installing the Windows Process Activation Service:
    1. Click the Manage menu and then click Add Roles and Features
    2. On the Installation Type page, select Role-based or feature based installation and click Next
    3. On the Server Selection page, select your Local Server from the server pool and click Next
    4. On the Server Roles page, click Next
    5. On the Features page, expand the Windows Process Activation Service feature from the list and select:
      • Configuration APIs
      • Process Model
      Then click Next
    6. On the Confirmation page, click Install
* Check that you have the minimum Role Services and Features needed installed on the machine
  • To do that, open Server Manager and, in the left tree, select Local Server
  • Make sure that you have in the Web Server (IIS) path the following services installed:
    • Web Server
      • Application Development
        • .NET Extensibility 4.6
        • ASP.NET 4.6
        • ISAPI Extensions
        • ISAPI Filters
      • Common HTTP Features
        • Default Document
        • Directory Browsing
        • HTTP Errors
        • Static Content
      • Health and Diagnostics
        • HTTP Logging
        • Request Monitor
      • Performance
        • Dynamic Content Compression
        • Static Content Compression
      • Security
        • Request Filtering
        • Windows Authentication
    • Management Tools
      • IIS 6 Management Compatibility
        • IIS 6 Metabase Compatibility
      • IIS Management Console
  • Make sure that you have in the Windows Process Activation Service path the following services installed:
    • Windows Process Activation Service
      • Configuration APIs
      • Process Model
*

Confirm that Windows Search is off:

This service is not installed by default. To determine if it is installed:

  • Open Server Manager and, in the left tree, select Local Server
  • Scroll down to the Services list
  • See if a service named Windows Search exists. If so, set its properties to Startup Type: Disabled, and stop it.
* Confirm that Windows Management Instrumentation Service is on and set to Automatic start:
  • Open Server Manager and, in the left tree, select Local Server
  • Scroll down to the Services list
  • Locate service Windows Management Instrumentation. Confirm its properties to Startup Type: Automatic, and confirm that it is started.
* Set appropriate size for Event Logs:
  • Make sure that Event logs Application, Security and System have the default options:
    • Overwrite events as needed
    • Maximum log size: 20480KB
  • To confirm this:
    • Open Server Manager and, in the top menu, under Tools, select Event Viewer
    • In the left tree select Windows Logs
    • Right-click each of the mentioned logs and choose Properties
    • Confirm the above mentioned options
* Microsoft SQL Server:

You need to confirm the collations on both the database instance and the database catalog that will be used by OutSystems Platform Server:

  • The database instance must be Case-insensitive;
  • The database instance must be installed with Mixed mode authentication;
  • The database catalog must be Case-insensitive and should also be Accent-insensitive.


When installing SQL Server:

  • When asked, choose authentication option Mixed mode - SQL Server and Windows Authentication;
  • Uncheck the Case-sensitive option (and, if possible, the accent-sensitive option as well. Database catalogs created afterwards just have to inherit the server settings and will also be case-insensitive.
    • Database catalogs should also be Accent-insensitive (this will allow your applications to perform queries on data without having to worry about character accents)
    • Actual collation to be used must comply with specific demands of the application to be deployed.


When SQL Server is already installed:

To confirm that the database instance complies with the specified requirements do the following:

  • Connect to the database server using SQL Server Management Studio;
  • In Object Explorer, right-click the top level of the object tree, and select Properties;
  • In the General page, confirm that Server Collation is case-insensitive. If the collation name contains CI_AI or CI_AS, the collation is case-insensitive;
  • In the Security page, confirm that Server authentication is configured with option SQL Server and Windows Authentication mode (mixed mode).

To confirm that the database catalog also complies with the specified requirements do the following:

  • Still using SQL Server Management Studio, in Object Explorer expand the Databases folder under the top level of the object tree;
  • Locate the database catalog that you will be using;
  • Right-click it and select Properties;
  • In the General page, confirm that Collation is case-insensitive. If the collation name contains CI_AI or CI_AS, the collation is case-insensitive.
* Azure SQL:

You need to confirm the collations on both the database instance and the database catalog that will be used by OutSystems Platform Server:

  • The database instance must be Case Insensitive;
  • The database catalog must be Case Insensitive and should also be Accent Insensitive.

To confirm that the database catalog also complies with the specified requirements do the following:

  • Using SQL Server Management Studio, in Object Explorer expand the Databases folder under the top level of the object tree;
  • Locate the database catalog that you will be using;
  • Right-click it and select Properties;
  • In the General page, confirm that Collation is case-insensitive. If the collation name contains CI_AI or CI_AS, the collation is case-insensitive.
To improve performance, when creating the databases in Microsoft SQL Server, configure the default data and log files location to a partition with a 64KB cluster size.
Install the latest Microsoft SQL Server Service Packs
* In SQL Server Configuration Manager, the SQL Server Service must be running and with Start Mode - Automatic
* Confirm that the TCP/IP protocol is enabled in SQL Server:
  • In SQL Server Configuration Manager, expand SQL Server Network Configuration and choose Protocols for <Instance_name>
  • Right-click TCP/IP and choose Properties
  • In the IP Addresses tab, configure the IP to be used. If in doubt, leave all defaults;
  • In the Protocol tab, change Enabled to Yes. Click OK.
  • Restart the SQL Server service.
* Oracle 12c R1/R2 Database:
  • Ensure you install Oracle 12c R1/R2
  • When creating the database in Oracle 12c R1, make sure the block size is set to at least 8KB
  • When creating the database in Oracle 12c R2, make sure the block size is set to:
  • When creating the database, set the following NLS parameters:
    NLS_LANGUAGE AMERICAN
    NLS_TERRITORY AMERICA
    NLS_CHARACTERSET AL32UTF8 (Unicode support)
    or
    WE8MSWIN1252 (no Unicode support)
    NLS_DATE_FORMAT DD-MON-RR
    NLS_SORT BINARY
  • Choosing AL32UTF8 for Unicode support allows applications to handle non-western characters.
    For more information on this subject please refer to Recommended Database Character Sets.
  • The minimum recommended limit of Oracle system processes and sessions is 250. Higher values might be required for highly loaded environments, so adjust accordingly.
    • To display the current limit of system processes and sessions in your database, execute the following statement as sysdba: SELECT Value FROM v$parameter WHERE Name='processes' or Name='sessions';
    • To change the number of system processes of your database, execute a statement like:
      ALTER SYSTEM SET processes=250 SCOPE=spfile;
      ALTER SYSTEM SET sessions=250 SCOPE=spfile;
      followed by a database restart
  • When creating the database, make sure that the CURSOR_SHARING system parameter is set to the Default value ("Exact")
    • To check the current value execute as the sysdba user: show parameters cursor_sharing
    • It should show "EXACT" on the Value column. If not, run the following query to change it: alter system set cursor_sharing='EXACT'
* Oracle 12c R1/R2 Adaptive Optimizer:
  • Running Oracle 12c R1 database with the adaptive optimizer feature enabled results in serious performance degradation. As such, the adaptive optimizer feature must be disabled.
    • If you are using Oracle 12c R1 without patch 22652097, you must follow these steps to disable the OPTIMIZER_ADAPTIVE_FEATURES:
      • Execute the following statement as sysdba:
        ALTER SYSTEM SET optimizer_adaptive_features=false SCOPE=spfile;
      • Restart the database
    • If you are using Oracle 12c R2 or Oracle 12c R1 with patch 22652097 installed, you must ensure that OPTIMIZER_ADAPTIVE_PLANS (default is true) and OPTIMIZER_ADAPTIVE_STATISTICS (default is false) are set to their default values:
      • Execute the following statement as sysdba:
        ALTER SYSTEM SET optimizer_adaptive_plans=true SCOPE=BOTH;
        ALTER SYSTEM SET optimizer_adaptive_statistics=false SCOPE=BOTH;

      • Restart the database

      For more information about the changes in the Adaptive Optimizer introduced in Oracle 12c R2 (or Oracle 12c R1 with patch 22652097), please check this Oracle blog post.
For better stability and performance create a separate Oracle database instance for the session database model using the same configuration as the main database, but with the noarchivelog option set.
* Oracle 12c R1/R2 Services:
  • Make sure the following services/processes are running in the Oracle:
    • OracleOradb10g_home1TNSListener
    • OracleService<SID>
    • <SID> - the Service Id that identifies the instance you are going to use
*

Confirm that FIPS Compliant Algorithms are disabled:

  • Open Server Manager
  • Click on Tools > Local Security Policy
  • Under Local Policies, click on Security Options
  • Ensure that System cryptography: Use FIPS compliant algorithms for encryption, hashing, and signing is disabled
*

Confirm that the .NET Core 2.1 Runtime & Hosting Bundle for Windows is installed:

  • Download and install the .NET Core 2.1 Runtime & Hosting Bundle for Windows from Microsoft

Legend: * Mandatory; Optional.

Installation checklist

In this section you have a list of all the steps that you must follow to guarantee that the software was successfully installed.

OutSystems Platform Server

This section provides the steps that you must follow to successfully install your Deployment Controller or Server.

*

In Microsoft Azure PortalSQL Server, create three database catalogs to be used by OutSystems Platform Server:

  • One of the catalogs will be used to configure platform settings in Configuration Tool;
  • Another catalog will be used to configure log settings in Configuration Tool;
  • The other catalog will be used to configure session settings in Configuration Tool.
* Install the Platform Server:
  • Run the installation file LifeTimeWithPlatformServer-M.F.P (Build B).exe and follow the on screen installation instructions
*

If until now you have not installed Platform Server in your Deployment Controller you should follow the Deployment Controller checklist up until that point.

Once that step has been completed you will be instructed to resume this checklist.

*

At this point you need to have the data and session model created. If you do not have it created yet, please refer to the Database profile in this checklist.

* Execute the Platform Database creation script.
  • You can find it in the Deployment Controller under the OutSystems Platform Server installation directory, in db\platform_creation_oracle.sql. This file allows you to create users, tablespaces and grants the necessary permissions. By default, when executing this file, the following objects will be created:
    • Users: OSADMIN, OSRUNTIME, OSLOG
    • Tablespaces: OSSYS, OSIDX, OSUSR, OSLOG
    • Grants:
      • OSADMIN: Create Session, Create View, Create Table, Alter Session, Create Sequence, Create Procedure, Create Trigger
      • OSRUNTIME: Create Session
      • OSLOG: Create Session
  • Please check with your Database Administrator how to do this according to your database environment. At the very least, you should make sure the file paths, tablespaces and users don't clash with existing objects in the database.
  • If you change any of these settings, remember to do so throughout the file.
  • You'll need the usernames, passwords and tablespaces used in this script to configure Platform Server later on.
* Execute the Platform Database creation script.
  • You can find it in the Deployment Controller under the OutSystems Platform Server installation directory, in db\RDS_platform_creation_oracle.sql. This file allows you to create users, tablespaces and grants the necessary permissions. By default, when executing this file, the following objects will be created:
    • Users: OSADMIN, OSRUNTIME, OSLOG
    • Tablespaces: OSSYS, OSIDX, OSUSR, OSLOG
    • Grants:
      • OSADMIN: Create Session, Create View, Create Table, Alter Session, Create Sequence, Create Procedure, Create Trigger
      • OSRUNTIME: Create Session
  • Please check with your Database Administrator how to do this according to your database environment. At the very least, you should make sure the file paths, tablespaces and users don't clash with existing objects in the database.
  • If you change any of these settings, remember to do so throughout the file.
  • You'll need the usernames, passwords and tablespaces used in this script to configure Platform Server later on.
* Execute the Logging Database creation script.
  • You can find it in the Deployment Controller under the OutSystems Platform Server installation directory, in db\logging_creation_oracle.sql. This file allows you to create users, tablespaces and grants the necessary permissions for the logging database. By default, when executing this file, the following objects will be created:
    • Users: OSADMIN_LOG, OSRUNTIME_LOG
    • Tablespaces: OSSYS_LOG, OSIDX_LOG, OSUSR_LOG
    • Grants:
      • OSADMIN_LOG: Create Session, Create View, Create Table, Alter Session, Create Sequence, Create Procedure, Create Trigger
      • OSRUNTIME_LOG: Create Session
  • Please check with your Database Administrator how to do this according to your database environment. This script can be customized, however, you should use new file paths, tablespaces and users that don't clash with existing objects in the database.
  • If you change any of these settings, remember to do so throughout the file.
  • You'll need the usernames, passwords and tablespaces used in this script to configure the logging database later on.
* Execute the Logging Database creation script.
  • You can find it in the Deployment Controller under the OutSystems Platform Server installation directory, in db\RDS_logging_creation_oracle.sql. This file allows you to create users, tablespaces and grants the necessary permissions for the logging database. By default, when executing this file, the following objects will be created:
    • Users: OSADMIN_LOG, OSRUNTIME_LOG
    • Tablespaces: OSSYS_LOG, OSIDX_LOG, OSUSR_LOG
    • Grants:
      • OSADMIN_LOG: Create Session, Create View, Create Table, Alter Session, Create Sequence, Create Procedure, Create Trigger
      • OSRUNTIME_LOG: Create Session
  • Please check with your Database Administrator how to do this according to your database environment. This script can be customized, however, you should use new file paths, tablespaces and users that don't clash with existing objects in the database.
  • If you change any of these settings, remember to do so throughout the file.
  • You'll need the usernames, passwords and tablespaces used in this script to configure the logging database later on.
* Configure Platform Server Database settings with the Configuration Tool

Start the Configuration Tool (Start -> Programs -> OutSystems -> Administration Tools).

Configure the Platform Database Schema (Platform tab):
  • Set "Oracle" in the drop-down list Database Provider
  • Set the Oracle database to be used by configuring the Database section.
    If you have any questions on how to configure this section, please use the More info link, near the Naming method drop-down.
  • Fill in User in the Admin section using the database login previously created for the Admin role
  • Fill in Tablespace and Index Tablespace fields in the Admin section with the System Tablespace and the Index Tablespace previously created
  • Fill in User in the Runtime section using the database login previously created for the Runtime role
  • Fill in Tablespace field in the Runtime section with the Runtime Tablespace previously created
  • Test all users to confirm correct connectivity. For this, click Test Connection for each of the users configured.
  • Create the Platform Database schema by clicking the Create/Upgrade Database button.

Do not close the Configuration Tool at this point - further tasks are to be performed.
* Configure Logging Database settings with the Configuration Tool

Configure the Logging Database Schema (Log tab):
  • Set the Oracle database to be used by configuring the Database section.
    If you have any questions on how to configure this section, please use the More info link, near the Naming method drop-down.
  • Fill in User in the Admin section using the database login previously created for the logging Admin role
  • Fill in Tablespace and Index Tablespace fields in the Admin section with the logging Tablespace and the Index Tablespace previously created
  • Fill in User in the Runtime section using the database login previously created for the logging Runtime role
  • Fill in Tablespace field in the Runtime section with the logging Runtime Tablespace previously created
  • Test all users to confirm correct connectivity. For this, click Test Connection for each of the users configured.
  • Create the Logging Database schema by clicking the Create/Upgrade Database button.

Do not close the Configuration Tool at this point - further tasks are to be performed.
* Execute the Platform Server session creation script.
  • You can find it in the Deployment Controller under the OutSystems Platform Server installation directory, in db\session_creation_oracle.sql.
  • This allows you to configure the tablespace, the tablespace's datafile location, the user and password. By default, the objects are set to:
    • Tablespace: OSSTATE
    • User: OSSTATE
  • If you change any of these settings, remember to do so throughout the file.
  • Run this script like you did with the script to create the data model of OutSystems Platform.
* Execute the Platform Server session creation script.
  • You can find it in the Deployment Controller under the OutSystems Platform Server installation directory, in db\RDS_session_creation_oracle.sql.
  • This allows you to configure the tablespace, the tablespace's datafile location, the user and password. By default, the objects are set to:
    • Tablespace: OSSTATE
    • User: OSSTATE
  • If you change any of these settings, remember to do so throughout the file.
  • Run this script like you did with the script to create the data model of OutSystems Platform.
* Configure Session Database settings with the Configuration Tool

Configure the Platform Session Database (Session tab):
  • Set the Oracle database to be used by configuring the Database Section.
    The configuration process for this Database is the same used in the Platform Database
  • Configure the User, Password and Tablespace with the session database login and the session tablespace previously created
  • Press the Test Login button to confirm that the settings are correct
  • Create the Session Database schema by clicking the Create Session Database button.

Do not close the Configuration Tool at this point - further tasks are to be performed.
* Make sure the database catalog recovery model is set to Simple. Check How to Set the Catalog Recovery Model.
* Configure Platform Server Database settings with the Configuration Tool

Start the Configuration Tool (Start -> Programs -> OutSystems -> Administration Tools).

Configure the Platform Database (Platform tab):
  1. In the Database Provider drop-down list, choose SQL Server / Azure SQL
  2. Configure Server and Database fields:
    • Server is the name or IP of the database server, and instance or TCP port indication if it is the case.
      Examples: localhost, 192.168.1.2, srvdatabase\CORP, 10.10.10.01,1433
    • Database is the name of the database catalog created to be used by the Platform Server.
      Example: outsystems
      Note: if a catalog with the same name exists in the database, it will be re-used. If it does not exist, it will be created with the Latin1_General_CI_AI collation.
  3. Select Database Authentication as the Database Authentication
    Note: if you prefer using Windows users and passwords, please select Windows Authentication as the database authentication mechanism on the top of this document to update the checklist content.
  4. Select Windows Authentication as the Database Authentication
    Note: if you prefer using SQL Server users and passwords, please review this checklist's selections in the top of this document to update the checklist content.
  5. Select the Admin user:
    • Fill in the User and Password fields in the Admin section.
      -> the Admin user must be an existing and valid domain user. The password is needed to configure the identity for the OutSystems Deployment services. This user will be granted local administrator permission (to deploy new applications and manage the IIS) and Database owner privileges (to create and upgrade the applications database models). This user will also be granted the "Log on as a Service" privilege.
  6. Select the Runtime user:
    • Fill in the User and Password fields in the Runtime section.
      -> the Runtime user must be an existing and valid domain user. The password is needed to configure the identity for the OutSystems application pool and some OutSystems services. This user will have restricted local permissions (to execute applications) and Database read & update privileges. This user will also be granted the "Log on as a Service" privilege.
  7. Click on Advanced Settings:
    • Increase the Default Query Timeout. As a baseline set it to 60 seconds. Adjust it as necessary according to your database service tier.
  8. Click the Grant Permissions button. This will:
    • Create the database catalog (if it does not exist);
    • Create the users you indicated (if they do not exist);
    • Grant the needed permissions for the Platform Admin and Platform Runtime roles.
    -> To do this, the Configuration Tool may prompt you to provide a database login with permissions to create a new database.
    For example, you can use the credentials of the saServer admin user.
     
    If you prefer to have your DBA run the setup script you can go to File > Generate Platform Script to get it.

    We recommend that your DBA sets the recovery model to Full for the Platform database.

     
    After the DBA runs the script, click the Grant Permissions button to grant the required permissions to the application server and OutSystems services.
  9. Create the Platform Database schema by clicking the Create/Upgrade Database button.

Do not close the Configuration Tool at this point - further tasks are to be performed.
* Configure Logging Database settings with the Configuration Tool

Configure the Logging Database (Log tab):
  1. Configure Server and Database fields:
    • Server is the name or IP of the database server, and instance or TCP port indication if it is the case.
      Examples: localhost, 192.168.1.2, srvdatabase\CORP, 10.10.10.01,1433
    • You can use the same database server you used in the Platform tab, or you can use another server.
    • Database is the name of the database catalog to store the Logging Database model.
      This catalog can be the same as the one configured in the Platform tab, or you can use another catalog.
      Example: outsystems_logging
      Note: if a catalog with the same name exists in the database, it will be re-used. If it does not exist, it will be created with the Latin1_General_CI_AI collation.
  2. Select the Admin user:
    • Fill in the User and Password fields in the Admin section.
      -> the Admin user must be an existing and valid domain user. The password is needed to configure the identity for the OutSystems Deployment Controller service. This user will be granted Database owner privileges (to create and upgrade the logging database models). This user will also be granted the "Log on as a Service" privilege.
  3. Select the Runtime user:
    • Fill in the User and Password fields in the Runtime section.
      -> the Runtime user must be an existing and valid domain user. The password is needed to configure the identity for the OutSystems application pool. This user will have limited database read & update privileges. This user will also be granted the "Log on as a Service" privilege.
  4. Click on Advanced Settings:
    • Increase the Default Query Timeout. As a baseline set it to 60 seconds. Adjust it as necessary according to your database service tier.
  5. Click the Grant Permissions button. This will:
    • Create the database catalog (if it does not exist);
    • Create the users you indicated (if they do not exist);
    • Grant the needed permissions for the Logging Admin and Logging Runtime roles.
    -> To do this, the Configuration Tool may prompt you to provide a database login with permissions to create a new database.
    For example, you can use the credentials of the saServer admin user.
     
    If you prefer to have your DBA run the setup script you can go to File > Generate Logging Script to get it.

    We recommend that your DBA sets the recovery model to Simple for the Logging database.

     
  6. Create the Logging Database schema by clicking the Create/Upgrade Database button.

Do not close the Configuration Tool at this point - further tasks are to be performed.
* Configure Session Database settings with the Configuration Tool

Configure the Platform Session Database (Session tab):
  1. Configure Server and Database fields:
    • Server is the name or IP of the database server, and instance or TCP port indication if it is the case.
      Examples: localhost, 192.168.1.2, srvdatabase\CORP, 10.10.10.01,1433
      You can use the same database server you used in the Platform tab, or you can use another server.
    • Database is the name of the database catalog to store the Session Database model.
      This catalog cannot be the same as the one configured in the Platform tab.
      Example: ASPStateOS
      Note: if a catalog with the same name exists in the database, it will be re-used. If it does not exist, it will be created.
  2. Choose the credentials for the Session user:
    • Fill in the User and Password fields in the Session section.
      A user will be created, with these credentials, in the next step.
  3. Click Create Session Database. This will:
    • Create the database catalog (if it does not exist);
    • Create the login you indicated (if it does not exist) and grant the needed permissions to the user;
    • Update the catalog definition.
    -> To do this, the Configuration Tool may prompt you to provide a database login with permissions to create a new database.
    For example, you can use the credentials of the saServer admin user.
     
    If you prefer to have your DBA run the setup script you can go to File > Generate Session Script to get it.

    We recommend that your DBA sets the recovery model to Simple for the Session database.

     
    Just make sure you DBA runs it before continuing with the next step.

Do not close the Configuration Tool at this point - further tasks are to be performed.
* Define the password for the Platform Server administrator account

If you had previously defined this password, you may skip this step.

  • Go to the Credentials tab in the Configuration Tool;
  • Fill the Password and Confirm Password fields. Remember that your password:
    • Is case sensitive;
    • Must be at least 6 characters long;
    • Cannot be equal to or contain your username;
  • Ensure that both passwords match.
* Install and Configure RabbitMQ

In OutSystems 11, RabbitMQ is used to propagate cache invalidation messages across applications. RabbitMQ is installed and configured in the Cache tab in Configuration Tool.

Note: You can also use a pre-existing RabbitMQ installation that you may have in your environment.

To set up RabbitMQ, follow these steps:
  1. Configure the Host, Port, and Virtual Host fields:
    • Host is the name of the server running a RabbitMQ instance. If you are configuring RabbitMQ for the first time, make sure that the host name matches the controller address.
    • The port that is bound to the RabbitMQ service.
    • Virtual Host is the virtual RabbitMQ partition that will be used by OutSystems applications.
      A virtual host must be unique for each OutSystems environment.
      Example: /outsystems, /outsystems_qa_env, /my_custom_virtual_host
  2. Fill in the Username and Password of the RabbitMQ user.
  3. If you want to use TLS connections between RabbitMQ and OutSystems applications, ensure that the Enable TLS option is checked. When this option is enabled, there are some extra configurations that need to be manually applied. Check our documentation for more information.
  4. If you are not using a pre-existing RabbitMQ that is not managed by Configuration Tool, click the Create/Upgrade Service button. This will:
    • Install RabbitMQ (if it's not installed) and Erlang (a requirement of RabbitMQ);
    • Configure the RabbitMQ service to use the specified port;
    • Create the specified virtual host (if it doesn't exist);
    • Create the user you specified (if it doesn't exist);
    • Grant the necessary permissions for the virtual host to the specified user;
    • Delete the default guest user;
  5. After RabbitMQ is installed and configured, click Test Connection to check if everything is working correctly.
If necessary, check our documentation for troubleshooting guidelines.

Do not close the Configuration Tool at this point - further tasks are to be performed.
If the front-end being configured has more than one network card, and if the Controller server can only communicate with this front-end on one of the network cards, you need to change a setting in the Configuration Tool to specify which IP will be used by the Controller to communicate with the front-end. To do this:
  • Access the Network tab in the Configuration Tool;
  • Under Front-End Registration, choose the IP which the Controller will use to communicate from the Local IP Address drop-down. If you don't see the IP there, you can type it manually.
* Click the Apply and Exit button on the Configuration Tool.
  • Answer Yes if a popup shows up asking to start the OutSystems Scheduler Service and the OutSystems SMS Connector Service.
  • Answer No if a popup shows up asking to start the OutSystems Scheduler Service and the OutSystems SMS Connector Service.
  • A popup will be shown asking you to run the Service Center installation. Accept by clicking Yes.
* Stop and disable the OutSystems Deployment Service.
Disable the OutSystems SMS Connector Service and the OutSystems Scheduler Service.
* Apply the Configurations
  • Fill in the Password field in the Admin section.
  • Click the Apply and Exit button on the Configuration Tool.
    • Answer Yes if a popup shows up asking to start the OutSystems Scheduler Service and the OutSystems SMS Connector Service.
    • Answer No when a popup asks you to run the Service Center installation.
* Install Development Environment:
  • Run the installation Developmen tEnvironment indicated in the LifeTime download page and follow the on screen installation instructions
* Install an SSL certificate:

Legend: * Mandatory; Optional.

Post-installation checklist

In this section you have a list of all the steps that you check after installing OutSystems software.

OutSystems Platform Server

After installing OutSystems Platform Server, check the following topics.

Amazon RDS High-availability:
  • If you want to have High-availability (Multi-AZ via Mirroring) in your RDS, you must enable it after the execution of the Configuration Tool. This is done via AWS Management Console -> Instance actions -> Modify.
* Check if the following services are started and their startup type is set to Automatic:
  • OutSystems Deployment Controller Service
  • OutSystems Deployment Service
  • OutSystems Scheduler Service
Configure Internal Network:
  • Log in to Service Center using your administrator credentials for Platform Server (http://<yourserver>/ServiceCenter)
    • By default, the administrator credentials are admin/admin. It is advisable to change them once logged in to Service Center.
  • Go to the Network Security screen (Administration -> Security -> Network Security)
  • Validate and change the Internal Network addresses in accordance to your specific network policies. If you do not enter any addresses (i.e. leave the box empty), then Internal Network configurations will not be enforced and access to your internal applications (including ServiceCenter and LifeTime) will not be restricted to any addresses.

NOTE: If you are changing your Internal Network configuration, please ensure that it includes the IP address used by LifeTime to access the environment.

* Upload your license:
  • Log in to Service Center using your administrator credentials for Platform Server (http://<yourserver>/ServiceCenter)
  • Go to the licensing screen (Administration -> Licensing)
  • Click Upload New License and select the .lic file you got from the Licensing Portal
  • If you don't have a license file, click the Request New License and follow the instructions
* Configure Service Center:
  • Launch Service Center, log on as user admin, password admin and go to Administration -> Environment Configuration
  • Set the environment's Hostname
  • Set the environment's Purpose to Management (LifeTime)
  • Set the environment's Debug Mode
  • Press the Save button
* Update Deployment Zone:
  • Log in to Service Center using your administrator credentials for Platform Server and go to Administration -> Deployment Zones
  • Open the "Global" Deployment Zone
  • Set the Address field
  • Press the Save button
* Install System Components:
  • Log in to Service Center using your administrator credentials (http://<yourserver>/ServiceCenter)
  • Go to the solutions screen (Factory -> Solutions)
  • Click Upload and Publish a Solution and select the System_Components.osp file in the Platform Server installation directory (e.g.: C:\Program Files\OutSystems\Platform Server\)
  • Click 1-Click Publish, or Prepare Publish if you have 2-Stage deployment active.
NOTE: After the solution is published, it is advisable to run the Users application (http://<yourserver>/Users), log in as administrator (username and password are admin), and change the default password.
Configure Users administrator:

Administrator user should only be configured once per environment. In a Farm installation, any Server can be used to perform this operation.

  • Log in to Service Center using your administrator credentials for Platform Server (http://<yourserver>/ServiceCenter)
  • Go to the Modules screen (Factory -> Modules)
  • Search for Users and click in the eSpace name
  • Click Single Sign-On tab
  • Click Configure Administrator user
  • Set the password for the Administrator user
  • Click Apply
Install OutSystems UI Web:
  • Go to OutSystems UI Web in Forge.
  • Go to the version tab.
  • In the LATEST STABLE section click Download.
  • Log in to Service Center (http://(yourserver)/ServiceCenter) using your administrator credentials.
  • Go to Factory > Applications.
  • Click the Publish an Application link at the top left corner. The section Publish an Application expands.
  • Click Choose File. A system file dialogue opens.
  • In the system file dialogue select the file you downloaded and click Open.
  • Click 1-Click Publish. Wait a few moments and if you have a success message then the component is installed.

Legend: * Mandatory; Optional.

LifeTime installation checklist

In this section you have a list of all the steps you must follow to install LifeTime.

* LifeTime:

Read the LifeTime Installation and Configuration Tech Note to learn more.

Execute this step to install LifeTime in this environment:
  • Log in to ServiceCenter using your administrator credentials (http://<yourserver>/ServiceCenter)
  • Go to the solutions screen (Factory -> Solutions)
  • Click Upload and Publish a Solution and select the LifeTime.osp file in the Platform Server installation directory (e.g.: C:\Program Files\OutSystems\Platform Server\).
  • Click 1-Click Publish, or Prepare Publish if you have 2-Stage deployment active.
  • Log in to LifeTime to set up your infrastructure (http://<yourserver>/lifetime)

Legend: * Mandatory; Optional.

LifeTime Major Release Upgrade Steps

This section provides the steps that you must follow in order to successfully upgrade OutSystems LifeTime with a new major release. This happens when the Major number changes (Major.Feature.Patch).

The mandatory topics are the ones that must be checked in order to have a certified installation, i.e. consist in the requirements necessary to guarantee that OutSystems supports your installation. The mandatory topics are in red and the icon associated is *. On the other hand, the optional topics are only recommended and you are not forced to check them. The optional topics are in plain text and the icon associated is .

LifeTime Feature or Patch Update Steps

This section provides the steps that you must follow in order to successfully update OutSystems LifeTime with a new software release or cumulative patch. This happens when the Major numbers are the same, but the Build or Revision number changes (Major.Feature.Patch). Whenever a new release or cumulative patch is issued, the previous one must be considered deprecated and unsupported.

When upgrading your OutSystems Platform from versions 8.0 or earlier, you must first upgrade to the latest revision of OutSystems Platform 8.0, then you must upgrade to the latest revision of OutSystems Platform 9.1 and only then upgrade to OutSystems 11.

Description Server
* Install Microsoft .NET Framework 4.7.2 and Build Tools 2015

Deployment Controller

Server

*

NOTE: When running the installer, if the 'Install Prerequisites' option is selected, these instructions will be completed automatically.


Confirm that the .NET Core Windows Server Hosting bundle is installed:

  • Download and install the .NET Core Windows Server Hosting bundle from Microsoft

Deployment Controller

Server

* Backup configuration files:
  • Copy all the OutSystems services configuration files (files with extension .exe.config) located in the OutSystems Platform Server installation folder to a backup directory
  • Copy the OutSystems Configuration File (server.hsconf) to a backup directory
  • Copy the .NET Framework 4 configuration files machine.config and web.config from folder %WINDIR%\Microsoft.NET\Framework64\v4.0.30319\CONFIG to a backup directory

Deployment Controller

Server

* Install the latest Development Environment release:
  • Run the installation Development Environment indicated in the LifeTime download page and follow the on screen installation instructions

Deployment Controller

* Install the new OutSystems Platform Server release:
  • Run the installation file LifeTimeWithPlatformServer-M.F.P (Build B).exe and follow the on screen installation instructions

Make sure you select the folder where the previous version was installed

Deployment Controller

Server

* Define the password for the Platform Server administrator account

If you had previously defined this password, you may skip this step.

  • Go to the Credentials tab in the Configuration Tool;
  • Fill the Password and Confirm Password fields. Remember that your password:
    • Is case sensitive;
    • Must be at least 6 characters long;
    • Cannot be equal to or contain your username;
  • Ensure that both passwords match.

Deployment Controller

* Install and Configure RabbitMQ

In OutSystems 11, RabbitMQ is used to propagate cache invalidation messages across applications. RabbitMQ is installed and configured in the Cache tab in Configuration Tool.

Note: You can also use a pre-existing RabbitMQ installation that you may have in your environment.

To set up RabbitMQ, follow these steps:
  1. Configure the Host, Port, and Virtual Host fields:
    • Host is the name of the server running a RabbitMQ instance. If you are configuring RabbitMQ for the first time, make sure that the host name matches the controller address.
    • The port that is bound to the RabbitMQ service.
    • Virtual Host is the virtual RabbitMQ partition that will be used by OutSystems applications.
      A virtual host must be unique for each OutSystems environment.
      Example: /outsystems, /outsystems_qa_env, /my_custom_virtual_host
  2. Fill in the Username and Password of the RabbitMQ user.
  3. If you want to use TLS connections between RabbitMQ and OutSystems applications, ensure that the Enable TLS option is checked. When this option is enabled, there are some extra configurations that need to be manually applied. Check our documentation for more information.
  4. If you are not using a pre-existing RabbitMQ that is not managed by Configuration Tool, click the Create/Upgrade Service button. This will:
    • Install RabbitMQ (if it's not installed) and Erlang (a requirement of RabbitMQ);
    • Configure the RabbitMQ service to use the specified port;
    • Create the specified virtual host (if it doesn't exist);
    • Create the user you specified (if it doesn't exist);
    • Grant the necessary permissions for the virtual host to the specified user;
    • Delete the default guest user;
  5. After RabbitMQ is installed and configured, click Test Connection to check if everything is working correctly.
If necessary, check our documentation for troubleshooting guidelines.

Do not close the Configuration Tool at this point - further tasks are to be performed.

Deployment Controller

* Install an SSL certificate:

Deployment Controller

Server

Backup the Platform Database:
  • Do a full backup of the Platform Database.

NOTE: The database backup is necessary to help recover from installation errors that may occur after the upgrade of the database schema.

Database

* Upgrade the Platform Database settings with the Configuration Tool

Upgrade the Platform Database (Platform tab):
  • Fill in the Password field in the Admin section.
  • Press the Create/Upgrade Database button.

Do not close the Configuration Tool at this point - further tasks are to be performed.

Deployment Controller

* Upgrade the Logging Database settings with the Configuration Tool

Upgrade the Logging Database (Log tab):
  • Fill in the Password field in the Admin section.
  • Press the Create/Upgrade Database button.

Do not close the Configuration Tool at this point - further tasks are to be performed.

Deployment Controller

* Upgrade the Session Database settings with the Configuration Tool

Upgrade the Platform Session Database (Session tab):
  • Press the Create Session Database button.
    -> To do this, the Configuration Tool may prompt you to provide a database login with permissions to create a new database.
    For example, you can use the credentials of the sa user.

    Note: during this process, all current sessions will be terminated.

    If you prefer to have your DBA run the setup script you can go to File > Generate Session Script to get it.

    We recommend that your DBA sets the recovery model to Simple for the Session database.

    Just make sure you DBA runs it before continuing with the next step.

Do not close the Configuration Tool at this point - further tasks are to be performed.

Deployment Controller

Upgrade the Session Database settings with the Configuration Tool

Upgrade the Platform Session Database (Session tab):
  • Press the Create Session Database button.
    -> To do this, the Configuration Tool may prompt you to provide a database login with permissions to create a new database.
    For example, you can use the credentials of the sa user.

    Note: during this process, all current sessions will be terminated.

    If you prefer to have your DBA run the setup script you can go to File > Generate Session Script to get it. Just make sure you DBA runs it before continuing with the next step.

Do not close the Configuration Tool at this point - further tasks are to be performed.

Deployment Controller

* Install Service Center:

  • Leave the Configuration Tool by pressing the Apply and Exit button.
  • Answer Yes if a popup shows up asking to start the OutSystems Scheduler Service and the OutSystems SMS Connector Service.
  • Answer Yes when a popup asks you to run the Service Center installation.
  • Check Service Center availability by launching [Windows Menu] > OutSystems > Service Center

Deployment Controller

* Configure Internet Information Services Application Pools:
  • Open Server Manager and, in the top menu, under Tools, select Internet Information Services (IIS) Manager.
  • Expand <servername> and click Application Pools
  • Ensure that all Application Pools containing OutSystems applications have their:
    • .NET CLR Version set to .NET version v4.0
    • Managed pipeline mode set to Integrated

Server

* Configure Internal Network:

If your previous installation had any Internal Network configurations, they have been updated to the new format.

  • Log in to Service Center using your administrator credentials for Platform Server (http://<yourserver>/ServiceCenter)
  • Go to the Network Security screen (Administration -> Security -> Network Security)
  • Validate and change the Internal Network addresses in accordance to your specific network policies. If you do not enter any addresses (i.e. leave the box empty), then Internal Network configurations will not be enforced and access to your internal applications (including ServiceCenter and LifeTime) will not be restricted to any addresses.

NOTE: If you are changing your Internal Network configuration, please ensure that it includes the IP address used by LifeTime to access the environment.

Deployment Controller

* Upload a new license file:

You need to obtain a new license file from Licensing Portal.

  • Log in to Service Center using your administrator credentials for Platform Server (http://<yourserver>/ServiceCenter)
  • Go to the licensing screen (Administration -> Licensing)
  • Click Request New License and download the license file for your environment
  • Click Upload New License and select the .lic file you downloaded.

Server

* Update Deployment Zones:

Set the Address field of every Deployment Zone.

  • Log in to Service Center using your administrator credentials for Platform Server and go to Administration -> Deployment Zones
  • For each of the displayed Deployment Zones
    • Open it by clicking on its name
    • Set the Address field
    • Press the Save button

Deployment Controller

* Install System Components:

The upgrade of System Components should be done in the development environment with developer's supervision. If you already have the System Components deployed and customized, you will need to merge your customized version with the System_Components.osp file in the Platform Server installation directory (e.g.: C:\Program Files\OutSystems\Platform Server\).

Update System Components:

  • Log in to Service Center using your administrator credentials for Platform Server (http://<yourserver>/ServiceCenter)
  • Go to solutions screen (Factory -> Solutions)
  • Click Upload and Publish a Solution and select the System_Components.osp file in the Platform Server installation directory (e.g.: C:\Program Files\OutSystems\Platform Server\)
  • Click 1-Click Publish, or Prepare Publish if you have 2-Stage deployment active.

Server

Install OutSystems UI Web:
  • Go to OutSystems UI Web in Forge.
  • Go to the version tab.
  • In the LATEST STABLE section click Download.
  • Log in to Service Center (http://(yourserver)/ServiceCenter) using your administrator credentials.
  • Go to Factory > Applications.
  • Click the Publish an Application link at the top left corner. The section Publish an Application expands.
  • Click Choose File. A system file dialogue opens.
  • In the system file dialogue select the file you downloaded and click Open.
  • Click 1-Click Publish. Wait a few moments and if you have a success message then the component is installed.

Server

Legend: * Mandatory; Optional.

LifeTime update checklist

In this section you have a list of all the steps you must follow to update LifeTime.

* LifeTime:

Update the LifeTime environment before all others.

Read the LifeTime Installation and Configuration Tech Note to learn more.

Execute this step to install LifeTime in this environment:
  • Log in to ServiceCenter using your administrator credentials (http://<yourserver>/ServiceCenter)
  • Go to solutions screen (Factory -> Solutions)
  • Click Upload and Publish a Solution and select the LifeTime.osp file in the Platform Server installation directory (e.g.: C:\Program Files\OutSystems\Platform Server\).
  • Click 1-Click Publish, or Prepare Publish if you have 2-Stage deployment active.
  • If the deployment is paused and you receive the message:
    Please check the Impact Analysis messages before continuing the solution publish.
    Click Continue to proceed.
  • Log in to LifeTime to set up your infrastructure (http://<yourserver>/lifetime)

Server

* Republish all modules:

You need to republish all modules in your environment to update them, so they use the corrections and improvements from the new version. In a production environment, this should be done with developer supervision.

  • Typically, a solution with all the extensions and eSpaces should be used in Service Center to update all modules at once.
  • Unless this is the development environment, it's recommended to stage the solution from a previously upgraded environment.

NOTE: Ensure that you do not overwrite the System Components modules if your factory already includes some of these components.

Deployment Controller

Legend: * Mandatory; Optional.

Tuning and Security checklist

In this section you have a list of issues that you should check in a production environment. These issues are useful to improve the performance and security of your system.

Tuning your systems

Check the following issues to improve the performance of your system.

* Configure Process Scheduling and Virtual Memory:
  1. In the Start menu, right-click My Computer and choose Properties.
  2. Right-click Start menu and choose System.
  3. In the left pane, click Advanced system settings and confirm that the Advanced tab is selected.
  4. On the Performance group, click on Settings button.
  5. Click on the Advanced tab and:
    1. On Processor scheduling group, check Background services option. With this setting, all the programs receive the same amount processor resources.
    2. On Virtual Memory group, click on Change button:
      • Uncheck Automatically manage paging file size for all drives.
      • Select the Custom size option.
      • Confirm the value recommended by Windows (Recommended:, in the Total paging file size for all drives group).
      • Set both the Initial size (MB) and Maximum Size (MB) parameters with the same value as the one collected in the above bullet.
      • In the Drives list, choose one that has enough free disk space. If in doubt, use C:. After that, click Set, and exit this dialog.
      • This setting will avoid page size fragmentation and I/O bottleneck.
    3. Click on Data Execution Prevention tab:
      • If a warning is presented stating that Your computer's processor does not support hardware-based DEP, you may consider selecting Turn on DEP for essential Windows programs and services only.
    4. Click the OK button.

You might need to restart the server after these changes.

* Tuning Internet Information Services
- Configure unlimited connections


Execute the provided Windows PowerShell script configure-outsystems-app-pool.ps1 to set this configuration.
  • You can find it in the Deployment Controller under the OutSystems Platform Server installation directory, scripts\winserver2016\tuning\iis\.
    • Set it as your working directory.
  • The syntax is as following: .\configure-outsystems-app-pool -Options unlimited-connections [-SiteName <sitename>] [-AppPoolName <applicationPoolName>]
    • The -SiteName and -AppPoolName parameters are optional, the default names are used (respectively, "Default Web Site" and "OutSystemsApplications").

In alternative, open Server Manager and, in the top menu, under Tools, select Internet Information Services (IIS) Manager.

  1. Expand <servername> > Sites > Default Web Site, and then click Default Web Site.
  2. In the right pane, under Manage Web Site > Configure, click Limits...
  3. Make sure that the Limit number of connections checkbox is unchecked.
  4. Click the OK button.

Do not close the IIS Manager at this point - further tasks are to be performed.
* Tuning Internet Information Services
- Configure upload size limits


These steps might require elevated privileges. We recommend saving a backup of them on a different location before any edits.
  • Edit with Notepad your %WINDIR%\Microsoft.NET\Framework64\v4.0.30319\CONFIG\machine.config file:
    1. Locate the <system.web> section
    2. In the <httpRuntime> element, set the maxRequestLength attribute to:
          - 32768 (for small factory environments),
          - 65536 (medium sized factory environments)
          - 131072 (large factory environments).
      These values are in KBytes. You should leave all other parameters untouched and end up with something similar to:
          <httpRuntime executionTimeout="110" maxRequestLength="131072" />
  • Edit with Notepad your %WINDIR%\system32\inetsrv\config\applicationHost.config file:
    1. Locate the <system.webServer> tag. Make sure it is not one that is preceeded by a <location> tag in the previous line. Its full path should be <configuration>\<system.webServer>
    2. Within the <system.webServer> section, locate the <security> sub-section
    3. Find the <requestFiltering> sub-section
    4. Find the <requestLimits> element inside <requestFiltering>.
    5. In the <requestLimits> element, set the maxAllowedContentLength attribute to 134217728. This value is in Bytes. You should end up with something similar to <requestLimits maxAllowedContentLength="134217728" />
* Tuning Internet Information Services
- Configure worker process


Execute the provided Windows PowerShell script configure-outsystems-app-pool.ps1 to apply a baseline configuration to the worker process.
  • You can find it in the Deployment Controller under the OutSystems Platform Server installation directory, scripts\winserver2016\tuning\iis\.
    • Set it as your working directory.
  • The syntax is as following: .\configure-outsystems-app-pool -Options worker-process-optimizations [-SiteName <sitename>] [-AppPoolName <applicationPoolName>]
    • The -SiteName and -AppPoolName parameters are optional, the default names are used (respectively, "Default Web Site" and "OutSystemsApplications").

In alternative, manually configure the worker process:
  1. Expand <servername> and click Application Pools
  2. In the middle pane, click OutSystemsApplications.
  3. In the right pane, under Edit Application Pool, click Recycling...
  4. Uncheck all checkboxes under Fixed Intervals group.
  5. Under Memory Based Maximums, uncheck Virtual memory usage (KB) and as a baseline set the Private memory usage to be 60% of the total physical memory of the machine. Later, you should fine-tune this value according to performance data collected from the application pool. Then click Next.
  6. Activate all the Runtime recycling events. These will provide additional information whenever worker process recycle - this information will be logged in Event Log.
  7. In the main window, in the right pane, under Edit Application Pool, click Advanced Settings.
  8. Under Process Model, set Idle Time-out (minutes) to 0 (zero). Exit by clicking OK.

Do not close the IIS Manager at this point - further tasks are to be performed.
* Tuning Internet Information Services
- Create Service Center Application Pool


Execute the provided Windows PowerShell script create-service-center-app-pool.ps1 to create the Service Center application pool and apply the optimizations described in the previous group (Configure worker process optimizations).
  • You can find it in the Deployment Controller under the OutSystems Platform Server installation directory, scripts\winserver2016\tuning\iis\.
    • Set it as your working directory.
  • The syntax is as following: .\create-service-center-app-pool [-SiteName <sitename>] [-NewAppPoolName <newApplicationPoolName>]
    • The -SiteName and -NewAppPoolName parameters are optional, the default names are used (respectively, "Default Web Site" and "ServiceCenterAppPool").

In alternative, manually create and configure the Service Center Application Pool:
  1. Expand <servername> and click Application Pools
  2. In the right page, under Actions, click Add Application Pool...
  3. Give it a name of your choice (e.g. ServiceCenterAppPool), choose .NET version v4.0 and Managed pipeline mode: Integrated. Leave Start application pool immediately checked. Click the OK button.
  4. In the main window, expand <servername> > Sites > Default Web Site.
  5. Right-click ServiceCenter and then choose Manage Application > Advanced Settings.
  6. Under General, click Application Pool and then the button with ... on the right. Choose the application pool you just created, click OK, and then click OK again to close the dialog.
  7. Repeat steps 2-8 of the previous group (Configure worker process optimizations) for the Service Center Application Pool you have just created.
* Tuning Internet Information Services
- Create LifeTime Application Pool


Execute the provided Windows PowerShell script create-lifetime-app-pool.ps1 to create the LifeTime application pool and apply the optimizations described in the previous group (Configure worker process optimizations).
  • You can find it in the Deployment Controller under the OutSystems Platform Server installation directory, scripts\winserver2016\tuning\iis\.
    • Set it as your working directory.
  • The syntax is as following: .\create-lifetime-app-pool [-SiteName <sitename>] [-NewAppPoolName <newApplicationPoolName>]
    • The -SiteName and -NewAppPoolName parameters are optional, the default names are used (respectively, "Default Web Site" and "LifeTimeAppPool").

In alternative, manually create and configure the LifeTime Application Pool:
  1. Expand <servername> and click Application Pools
  2. In the right page, under Actions, click Add Application Pool...
  3. Give it a name of your choice (e.g. LifeTimeAppPool), choose .NET version v4.0.30319 and Managed pipeline mode: Integrated. Leave Start application pool immediately checked. Click the OK button.
  4. In the main window, expand <servername> > Sites > Default Web Site.
  5. For each of these applications: LifeTime, LifeTimeEngine, LifeTimeCore, LifeTimeMonitoring, LifeTimeSDK, LifeTimeAudit, LifeTimeServices, PerformanceMonitor, LifeTimeAnalytics, LTDeployments, LTEnvironments, LTVersioning and lifetimeapi do the following:
    1. Right-click the application and then choose Manage Application > Advanced Settings.
    2. Under General, click Application Pool and then the button with ... on the right. Choose the application pool you just created, click OK, and then click OK again to close the dialog.
  6. Repeat steps 2-8 of the previous group (Configure worker process optimizations) for the LifeTime Application Pool you have just created.
SQL Server Tuning

Review your database settings according to the SQL Server Best Practices for Platform Server document.
Configure Windows Defender

Windows Defender has impact on the performance of applications. To avoid performance loss consider disabling Windows Defender antivirus and malware scan, or include exclusion paths for OutSystems Applications files and Temporary ASP.NET system files.

For more information about exclusion paths check here.

Making your system more secure

Check the following issues to improve the security of your system.

* Enforcing security for your environment or applications
  1. If you have already configured your infrastructure in LifeTime, log in to LifeTime using your Administrator credentials:
    • Go to the Infrastructure screen.
    • Click on Environment Security.
    • Enable HTTP Strict Transport Security, which will instruct browsers to only do HTTPS requests, for all Web Applications. In Mobile Applications this is always false and can't be changed.
    • Force HTTPS for screens, which will cause all HTTP requests to be redirected to HTTPS, for all Web Applications. In Mobile Applications this is always true and can't be changed.
    • Force HTTPS for integrations, which will cause all exposed integrations to require HTTPS, for all Web Applications. In Mobile Applications this is always true and can't be changed.
    • Enable and define a Content Security Policy that will apply to all your Web Applications. In Mobile Applications this is always false and can't be changed.

    NOTE: If you do not want to enable security for the whole environment, you can enable it per Web Application, in the application details screen.

  2. If you haven't configured your infrastructure in LifeTime yet, log in to ServiceCenter using your Administrator credentials:
    • Go to the Environment Security screen (Administration > Environment Security).
    • Enable HTTP Strict Transport Security, which will instruct browsers to only do HTTPS requests, for all Web Applications. In Mobile Applications this is always false and can't be changed.
    • Force HTTPS for screens, which will cause all HTTP requests to be redirected to HTTPS, for all Web Applications. In Mobile Applications this is always true and can't be changed.
    • Force HTTPS for integrations, which will cause all exposed integrations to require HTTPS, for all Web Applications. In Mobile Applications this is always true and can't be changed.
    • Enable and define a Content Security Policy that will apply to all your Web Applications. In Mobile Applications this is always false and can't be changed.

    NOTE: If you do not want to enable security for the whole environment, you can enable it per Web Application, in the application details screen.
Setting up security directives to prevent Clickjacking.

The configuration below prevents pages in this web server from being embedded within pages from different web servers:

  1. Open Server Manager. In the left tree, select Roles, choose Web Server (IIS) and then Internet Information Services (IIS) Manager. If you don't see an entry here, access this utility under Start > Run, and type inetmgr.
  2. Expand <servername> > Sites > Default Web Site, and then click Default Web Site.
  3. In the center pane, under IIS, double-click HTTP Response Headers.
  4. In the right pane, under Actions, click Add...
    • Add a header named X-Frame-Options with value SAMEORIGIN.
    • Add a header named Content-Security-Policy with value frame-ancestors 'self'.

    NOTE: If you decide to enable Content Security Policy for the environment later, and enter anything other than the default value 'self' for the frame-ancestors directive, please remove these headers to ensure the desired behaviour.

Legend: * Mandatory; Optional.