Deploy ArcGIS Enterprise with Java Web Adaptors using the PowerShell DSC Module for ArcGIS - Esri/arcgis-powershell-dsc GitHub Wiki

Overview

This workflow guides you through the first-time installation of a base ArcGIS Enterprise deployment on a single machine using Java based ArcGIS Web Adaptors.

Beginning at version 4.2.0, the PowerShell DSC Module for ArcGIS supports bringing your own web server (BYOWS). If you prefer to have the PowerShell DSC Module for ArcGIS download, install, and configure Apache Tomcat, that is also supported!


Below are the steps to help your organization get started with automating the deployment and configuration of ArcGIS software using PowerShell DSC Module for ArcGIS:

NOTE: The steps below are written as if you plan to install and configure Apache Tomcat using the PowerShell DSC Module for ArcGIS. If you will be using you're own pre-configured web server, you will simply define the path to the Java Web Server's Web App Directory in the ConfigData.WebAdaptor.JavaWebServerWebAppDirectory section of the JSON Configuration Parameters file.

  1. Ensure all infrastructure that will participate in the PowerShell DSC deployment is provisioned (For example: virtual machines, load balancers, storage accounts, S3 buckets, etc.)

  2. Ensure all operating system platform and system requirements are met for the desired ArcGIS product and specified version.

  3. Ensure Java Runtime Environment (JRE) 8 or 11 is installed on the machine(s) hosting the ArcGIS Web Adatptor(s) for Java. See System Prerequisites section below for additional details.

    Important: Consult your systems administrator(s) prior to installing JRE 8 or 11, to ensure the use of an approved version of the Java Runtime Environment.

  4. Ensure JRE_HOME and AGSWEBADAPTORHOME system environment variables are defined.

    Important: After installing the desired JRE version and setting the JRE_HOME and AGSWEBADAPTORHOME system environment variables, a reboot of the machine(s) is recommended.

  5. Obtain all SSL certificates, if necessary.

  6. Download installation media, patches, and license files from My Esri. If the machine(s) that will be participating in the deployment have internet access, the JSON configuration parameteres file can be configured to automatically download the ArcGIS Software setups and download ArcGIS Software patches using an ArcGIS Online credential.

  7. Install the PowerShell DSC for ArcGIS Module on all nodes participating in the deployment (including the machine that will be used to run the Invoke-ArcGISConfiguration command-let)

  8. Create JSON configuration parameters file. To get started, visit the SampleConfigs page. There are resource here to help construct JSON Configuration Parameters files for ArcGIS Enterprise Base Deployment, ArcGIS Desktop/Pro, Additional ArcGIS Server Roles, etc.

  9. Run Invoke-ArcGISConfiguration command-let to Install, InstallLicnese, InstallLicenseConfigure, Upgrade, or Uninstall ArcGIS Software on the nodes defined in the JSON configuration file created above. Visit the PowerShell DSC for ArcGIS Module command line parameters page for a list of supported parameters.

System Prerequistes

  • Ensure all operating system platform and system requirements are met for the desired ArcGIS product and specified version.

  • Ensure Java Runtime Environment (JRE) 8 or 11 is installed on the machine(s) hosting the ArcGIS Web Adatptor(s) for Java.

    Important: Consult your systems administrator(s) prior to installing JRE 8 or 11, to ensure the use of an approved version of the Java Runtime Environment.

  • Ensure JRE_HOME and AGSWEBADAPTORHOME system environment variables are defined.

    • JRE_HOME should be set to the installation directory of the Java Runtime Environment (JRE) installed on the machine(s).

    • AGSWEBADAPTORHOME should be set to the desired installation directory for the ArcGIS Web Adaptors. For example, C:\Program Files\ArcGIS\WebAdaptor11.1

      • When upgrading ArcGIS Web Adaptor to a new release, the AGSWEBADAPTORHOME system environment variable will need to be updated to reflect the install directory prior to running PowerShell DSC Module with -Mode Upgrade

    Important: After installing the desired JRE version and setting the JRE_HOME and AGSWEBADAPTORHOME system environment variables, a reboot of the machine(s) is recommended.

  • Install or Upgrade the PowerShell DSC Module to the desired version.

    Note: Support for Java based ArcGIS Web Adaptor support with the PowerShell DSC Module for ArcGIS began at version 4.2.0. Prior versions of the PowerShell DSC Module for ArcGIS do not support the installation and configuration of Apache Tomcat or ArcGIS Web Adaptors for Java.

Download ArcGIS Software and Additional Setup Files

  • Obtain any required SSL certificate files, if necessary
  • Download ArcGIS Software setup files and patches using one of the methods on the Getting Started Page.

Edit the configuration file

The JSON Configuration parameters file can be modified to support the installation and/or configuration of an existing or non-existing Apache Tomcat web server. Below are the main steps used to create JSON Configuration Parameters file for deployment:

  • Download sample configuration files from the GitHub repository.
  • Make a copy of the sample JSON configuration file that meets the deployment requirements
  • Modify the desired JSON configuration file for the parameters of the intended deployment. Visit the variables reference page for available attribues and their definitions to help populate the JSON configuration files
    • Example ConfigData.WebAdaptor JSON object block if utilizing an already existing Apache Tomcat Java web server:

      "WebAdaptor": {
          "IsJavaWebAdaptor": true,
          "JavaWebServerWebAppDirectory": "C:\\Program Files\\Apache Software Foundation\\Tomcat 9.0\\webapps",
          "AdminAccessEnabled": true,
          "Installer": {
              "Path": "C:\\Software\\111_Final\\ArcGIS_Web_Adaptor_Java_Windows_111_185197.exe",
              "InstallDir": "C:\\Program Files\\ArcGIS\\WebAdaptor11.1\\java",
              "IsSelfExtracting": true,
              "PatchesDir": "C:\\Software\\Patches\\111\\WebAdaptor"
          }
      }
      
      • In this example, the PowerShell DSC Module for ArcGIS will utilized an existing installation of Apache Tomcat and install/deploy the web adaptors in the JavaWebServerWebAppDirectory.
    • See the examples below of the ConfigData.WebAdaptor JSON object block that show different attributes to meet the requirements of the deployment. The PowerShell DSC Module for ArcGIS can support installing and/or configuring Apache Tomcat Java web server(s).

      Note: If ConfigData.DownloadSetups is set to true the PowerShell DSC Module for ArcGIS will also download and install Apache Tomcat. In addition, if AllNodes.SslCertificates.Target is set to WebAdaptor, the DSC will configure HTTPS using a provided SSL certificate. If an SSL certificate is not defined, a self-signed certificate will be used to configure HTTPS.

          "WebAdaptor": {
              "IsJavaWebAdaptor": true,
              "JavaWebServerWebAppDirectory": "C:\\Program Files\\Apache Software Foundation\\Tomcat 9.0\\webapps",
              "AdminAccessEnabled": true,
              "Installer": {
                  "Path": "C:\\Software\\111_Final\\ArcGIS_Web_Adaptor_Java_Windows_111_185197.exe",
                  "InstallDir": "C:\\Program Files\\ArcGIS\\WebAdaptor11.1\\java",
                  "IsSelfExtracting": true,
                  "PatchesDir": "C:\\Software\\Patches\\111\\WebAdaptor"
              },
              "ApacheTomcat": {
                  "Version": "9.0.19",
                  "Path": "C:\\Software\\ApacheTomact9\\apache-tomcat-9.0.19-windows-x64.zip",
                  "DownloadUrl": "https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.19/bin/apache-tomcat-9.0.19-windows-x64.zip",
                  "InstallDir": "C:\\Program Files\\Apache Software Foundation\\Tomcat 9.0",
                  "ServiceName": "Tomcat9",
                  "SSLProtocol": "TLSv1.3,TLSv1.2"  
              }
          }
      
  • Save this JSON configuration file on the node that will be used to run Invoke-ArcGISConfiguration command-let (orchestration node)

Install your deployment

Log in to the machine on which you'll be installing ArcGIS Enterprise. You should have administrative authority on the machine.

In PowerShell DSC, run the Invoke-ArcGISConfiguration command-let and provide the path to the configuration file as an input parameter. Mode, Credential, DebugSwitch and MappedDriveOverrideFlag are optional arguments.

Invoke-ArcGISConfiguration -ConfigurationParametersFile [Path to Configuration JSON File](/Esri/arcgis-powershell-dsc/wiki/Path-to-Configuration-JSON-File) -Mode [Install | InstallLicense | InstallLicenseConfigure | Uninstall | Upgrade] -Credential [Config RunAs - Optional] -MappedDriveOverrideFlag [$True | $False] -DebugSwitch

or

Invoke-ArcGISConfiguration [Path to Configuration json File](/Esri/arcgis-powershell-dsc/wiki/Path-to-Configuration-json-File) [Install | InstallLicense | InstallLicenseConfigure | Uninstall | Upgrade] -Credential [Config RunAs - Optional] -MappedDriveOverrideFlag [$True | $False] -DebugSwitch