Installation steps for Appliance (Windows)

  1. Create a Windows 2016 instance with the minimum configuration requirements or with a higher capacity if needed.
  2. Download the package BirstAppliancePackageWin2024_04.zip from the Infor Download Center and unzip it in c:\temp. The files in the package are:
    • README.txt: Information about the installation steps
    • Birst-app-2024.04.04.997936-win.zip: Birst Package Windows
    • BirstApplianceInstallScript2024_04.ps1: Package Installation PowerShell script
    • BirstApplianceInstallManualSteps2024_04.txt: Information about the manual steps
  3. Open a PowerShell window with elevated privileges, then change the directory to c:\temp and run the script BirstApplianceInstallScript2024_04.ps1
    PS C:\Users\Administrator> cd c:\temp       
    PS C:\temp> .\BirstApplianceInstallScript2024_04.ps1
    Note: It is important to have all modules run successfully in this step before moving further.
  4. Run these commands as mentioned in file BirstApplianceInstallManualSteps2024_04.txt one at a time in a PowerShell window with elevated privileges:
    Set-ItemProperty -Path "HKLM:\Software\Microsoft\InetStp" -Name 'MajorVersion' -Value 9 
    msiexec.exe /i C:\temp\arr_helper_x64.msi /PASSIVE /QN /NORESTART 
    Set-ItemProperty -Path "HKLM:\Software\Microsoft\InetStp" -Name 'MajorVersion' -Value 10
    Write-Output "### Removing old rewrite module"
    Remove-WebGlobalModule -Name 'RewriteModule'  
  5. Replace the DNS name or IP address for the external SQL Database server in the following parameters in D:\BIRST_CONFIGS\Properties\application.properties. The SQL server should have the same credentials for all the respective databases the same as mentioned in these examples:
    SQL Server
    ProxyDBConnectionString=jdbc:sqlserver://10.7.161.170:1433;databaseName=BirstAdmin;
    ProxyDBUserName=mPC0To3QqcSjtqiyS2faoA==
    ProxyDBPassword=V36ypxhfBxiDALgth0FOI9MI3JvN2fMPniDZoGQY8L8=
    AcornAdminConnectString=jdbc:sqlserver://10.7.161.170:1433;databaseName=BirstAdmin;
    AcornAdminUser=mPC0To3QqcSjtqiyS2faoA==
    AcornAdminPwd=V36ypxhfBxiDALgth0FOI9MI3JvN2fMPniDZoGQY8L8=
    birst.resource.type.jdbc.adminDb.jdbcUrl=jdbc:sqlserver://10.7.161.170:1433;databaseName=BirstAdmin;
    birst.resource.type.jdbc.adminDb.username=mPC0To3QqcSjtqiyS2faoA==
    birst.resource.type.jdbc.adminDb.password=V36ypxhfBxiDALgth0FOI9MI3JvN2fMPniDZoGQY8L8=
    birst.resource.type.jdbc.flightboardDb.jdbcUrl=jdbc:sqlserver://10.7.161.170:1433;databaseName=BirstFlightboard;
    birst.resource.type.jdbc.flightboardDb.username=mPC0To3QqcSjtqiyS2faoA==
    birst.resource.type.jdbc.flightboardDb.password=V36ypxhfBxiDALgth0FOI9MI3JvN2fMPniDZoGQY8L8=
    DBConnectString=jdbc:sqlserver://10.7.161.170:1433;databaseName=BirstAdmin;
    DBAdminUser=mPC0To3QqcSjtqiyS2faoA==
    DBAdminPwd=V36ypxhfBxiDALgth0FOI9MI3JvN2fMPniDZoGQY8L8=
    birst.resource.type.jdbc.metricsDb.jdbcUrl=jdbc:sqlserver://10.7.161.170:1433;databaseName=BirstMetrics;
    birst.resource.type.jdbc.metricsDb.username=mPC0To3QqcSjtqiyS2faoA==
    birst.resource.type.jdbc.metricsDb.password=V36ypxhfBxiDALgth0FOI9MI3JvN2fMPniDZoGQY8L8=
    birst.resource.type.jdbc.auditlogDb.jdbcUrl=jdbc:sqlserver://10.7.161.170:1433;databaseName=AuditLogDb;
    birst.resource.type.jdbc.auditlogDb.username=mPC0To3QqcSjtqiyS2faoA==
    birst.resource.type.jdbc.auditlogDb.password=V36ypxhfBxiDALgth0FOI9MI3JvN2fMPniDZoGQY8L8=
    Elasticsearch Server
    com.heartwood.dal.elasticSearch.client.nodeAddresses=10.7.161.198:9300
    birst.resource.type.elasticsearch.main.nodeList=10.7.161.198:9300
    birst.resource.type.elasticsearch.main.httpList=http://10.7.161.198:9200
    PS: Please make sure to use "http" instead of "https" for "birst.resource.type.elasticsearch.main.httpList"
    MongoDB Server
    MongoCacheConnectionString=mongodb://10.7.161.114:27017
    com.birst.metadataService.connectionString=mongodb://10.7.161.114:37017
    birst.resource.type.mongo.default.connectionString=mongodb://10.7.161.114:37017
    birst.resource.type.mongo.audit.connectionString=mongodb://10.7.161.114:37017
    Repository Server
    FileCacheSharedRootDir=\\\\10.7.161.170\\Repositories\\data\\cache
    com.birst.audit.exportPath=\\\\10.7.161.170\\Repositories\\data\\Accounts
    birst.export.package.root.contentPath=\\\\10.7.161.170\\Repositories\\contentDir\\exportContent
    com.birst.connectors.sharedConnectionPath=\\\\10.7.161.170\\Repositories\\SharedConnections
    com.birst.pieMaker.dashboard.snapshotDirectory=\\\\10.7.161.170\\Repositories\\PieMakerData
    Opensearch/ActiveMQ Server
    activemq.amqp.failover.url=failover:(amqp://10.7.161.114:5672)?jms.sendTimeout=5000&jms.requestTimeout=150000
    activemq.amqp.failover.url.agent=failover:(amqp://10.7.161.114:5672)?jms.sendTimeout=5000&jms.requestTimeout=30000&failover.maxReconnectAttempts=1
    activemq.amqp.failover.url.multitenantagent=failover:(amqp://10.7.161.114:5672)?jms.sendTimeout=5000&jms.requestTimeout=30000&failover.maxReconnectAttempts=1
  6. Replace value in D:\BIRST_CONFIGS\Properties\application.propertiesfor birst.nginx.baseURL with the same string as the URL used in browser to access nginx server. This URL should be used either behind a load balancer OR an instance which can support certificates so that SSL connection can be made:
    birst.nginx.baseURL=https://testappliance.ensayo.birst.cc
  7. In the file D:\BIRST_CONFIGS\Connectors\conf\connectors.properties:
    1. Replace DNS name or IP address for the SQL database server in the following parameters:
      ConnectorDBConnectString=jdbc:sqlserver://10.7.161.170:1433;databaseName=BirstAdmin
      ConnectorDBAdminUser=mPC0To3QqcSjtqiyS2faoA==
      ConnectorDBAdminPwd=V36ypxhfBxiDALgth0FOI9MI3JvN2fMPniDZoGQY8L8=
    2. Add Nginx server IP address or its CIDR in the following parameter:
      "ConnectorLogin.AllowedIPs": "0:0:0:0:0:0:0:1,::0,127.0.0.1/32,10.0.0.0/8,10.2.0.0/16,20.20.0.0/16"
  8. Replace the DNS name or IP address for the SQL database server in the following parameters in D:\BIRST_CONFIGS\Scheduler\config\schedulerQuartz.properties:
    org.quartz.dataSource.BirstDS.URL = jdbc:sqlserver://10.7.161.170:1433;databaseName=BirstScheduler
    org.quartz.dataSource.BirstDS.user = mPC0To3QqcSjtqiyS2faoA==
    org.quartz.dataSource.BirstDS.password = V36ypxhfBxiDALgth0FOI9MI3JvN2fMPniDZoGQY8L8=
  9. Replace DNS name or IP address for the SQL database server in the following parameters in D:\BIRST_CONFIGS\Acorn\config\connections.config:
    <add name="DatabaseConnection" connectionString="Driver={SQL Native Client};Server=10.7.161.170,1433;Database=BirstAdmin;Uid=mPC0To3QqcSjtqiyS2faoA==;Pwd=V36ypxhfBxiDALgth0FOI9MI3JvN2fMPniDZoGQY8L8=;" />
    <add name="MetricsDatabaseConnection" connectionString="Driver={SQL Native Client};Server=10.7.161.170,1433;Database=BirstMetrics;Uid=mPC0To3QqcSjtqiyS2faoA==;Pwd=V36ypxhfBxiDALgth0FOI9MI3JvN2fMPniDZoGQY8L8=;" />
  10. In the file D:\BIRST_CONFIGS\Acorn\config\overrides.config:
    1. Replace the DNS name or IP address for the Repository server in these parameters:
      <add key="ContentDirectory" value="\\10.7.161.170\Repositories\data"/>
    2. Add Nginx server IP address or its CIDR in the these parameters:
      "TrustedInterServerIPs": "0:0:0:0:0:0:0:1,::0,127.0.0.1/32,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16"
      "TrustedSuperUserIPs": "0:0:0:0:0:0:0:1,::0,127.0.0.1/32,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16"
  11. Replace the DNS name or IP address for the SQL database server in the following parameters in D:\BIRST_CONFIGS\Acorn\config\spaces.config:
     0	localhost	localhost:6101	jdbc:sqlserver://10.7.161.170:1433;databaseName=BirstData	MS SQL Server 2005	com.microsoft.sqlserver.jdbc.SQLServerDriver	\\10.7.161.170\Repositories\data	birstuser	5CsMJZx62SQp00RMf/ZNLQ==	D:\BIRST_HOME\BIRST\PerfEngines\Default\bin\load_warehouse.bat	D:\BIRST_HOME\BIRST\PerfEngines\Default\bin\delete_data.bat
     64	localhost	localhost:6101	jdbc:sqlserver://10.7.161.170:1433;databaseName=BirstData	MS SQL Server 2005	com.microsoft.sqlserver.jdbc.SQLServerDriver	\\10.7.161.170\Repositories\data	birstuser	5CsMJZx62SQp00RMf/ZNLQ==	D:\BIRST_HOME\BIRST\PerfEngines\Default\bin\load_warehouse.bat	D:\BIRST_HOME\BIRST\PerfEngines\Default\bin\delete_data.bat
    65	localhost	localhost:6101	jdbc:sqlserver://10.7.161.170:1433;databaseName=BirstData	MS SQL Server 2005	com.microsoft.sqlserver.jdbc.SQLServerDriver	\\10.7.161.170\Repositories\data	birstuser	5CsMJZx62SQp00RMf/ZNLQ==	D:\BIRST_HOME\BIRST\PerfEngines\Default\bin\load_warehouse.bat	D:\BIRST_HOME\BIRST\PerfEngines\Default\bin\delete_data.bat
  12. On the SQL Server side, update:
    update SPACES_CONFIG set DatabaseLoadDir='\\10.7.161.170\Repositories\data',ContentDirectory='\\10.7.161.170\Repositories\data' where Type=64
    update SPACES_CONFIG set DatabaseType='MS SQL Server 2019',DatabaseConnectString='jdbc:sqlserver://10.7.161.170:1433;databaseName=BirstData;encrypt=true;trustServerCertificate=true' where Type=64
  13. Change the services password for user birstuserto birst@123birst@123.
    passwords for appliance
  14. Open Internet Information Services (IIS) Manager by Server Manager > Tools > Internet Information Services (IIS) Manager.
    tools menu
    1. Open Acorn_pools under Application Pools and click on Advanced settings on the right vertical box.

      Acorn Pools
    2. Click on three dots on the right side after clicking Identityand set credentials as: birstuser/birst@123birst@123.

      identity

      Passwords
    3. Select Sites > Acorn > Basic Settings. Then, click Connect as... > Specific User to set the credentials as: birstuser/birst@123birst@123.

      Sites

      Appliance_2024.04_SitesPasswords
    4. Start the application pool by clicking Application Pools > Acorn_pools > Start.
    5. Start the site by clicking Sites > Acorn > Start.
  15. Verify "RewriteModule" does not exist in the IIS level or on the site level. You can access modules from IIS Home > Modules and Sites > Modules.
    Modules1
    appliance