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.
-
Ensure all infrastructure that will participate in the PowerShell DSC deployment is provisioned (For example: virtual machines, load balancers, storage accounts, S3 buckets, etc.)
-
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. 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.
-
Ensure
JRE_HOME
andAGSWEBADAPTORHOME
system environment variables are defined.Important: After installing the desired JRE version and setting the
JRE_HOME
andAGSWEBADAPTORHOME
system environment variables, a reboot of the machine(s) is recommended. -
Obtain all SSL certificates, if necessary.
-
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.
-
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) -
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.
-
Run
Invoke-ArcGISConfiguration
command-let toInstall
,InstallLicnese
,InstallLicenseConfigure
,Upgrade
, orUninstall
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.
- OpenLogic provides open source downloads of the JRE packages (via OpenJDK) for Windows operating systems. Visit the OpenLogic OpenJDK Downloads page for more details.
-
Ensure
JRE_HOME
andAGSWEBADAPTORHOME
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
- When upgrading ArcGIS Web Adaptor to a new release, the
Important: After installing the desired JRE version and setting the
JRE_HOME
andAGSWEBADAPTORHOME
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
.
- 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
-
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 totrue
the PowerShell DSC Module for ArcGIS will also download and install Apache Tomcat. In addition, ifAllNodes.SslCertificates.Target
is set toWebAdaptor
, 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