---
title: "Configuring the <code class=\"filepath\">hosts</code> file and downloading software"
description: The hosts file contains the various parameters to be configured for installation of PingIntelligence components.
component: pingintelligence
version: 5.2
page_id: pingintelligence:installing_pingintelligence_for_apis:pingintelligence_automated_configuring_hosts_file_downloading_software
canonical_url: https://docs.pingidentity.com/pingintelligence/5.2/installing_pingintelligence_for_apis/pingintelligence_automated_configuring_hosts_file_downloading_software.html
revdate: May 6, 2024
section_ids:
  about-this-task: About this task
  steps: Steps
  example: Example:
---

# Configuring the `hosts` file and downloading software

The `hosts` file contains the various parameters to be configured for installation of PingIntelligence components.

## About this task

The configuration file has parameters configured to download third-party components. If the management machine does not have internet access, download the [Third-party components manually](pingintelligence_manual_download_components.html).

|   |                                                                                                                                                                                                                                   |
| - | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|   | Make sure that the entire deployment is homogenous with respect to the provisioned machines. Install all PingIntelligence components either on an RHEL machine or on Ubuntu machines. Do not install on a mix of RHEL and Ubuntu. |

To configure the hosts file:

## Steps

1. Configure the following fields in the `config/hosts` file.

   | Variable                                                                                                                                                                              | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
   | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
   | IP addresses- *\[ase]*

   - *\[abs]*

   - *\[mongodb]*

   - *\[dashboard]*

   - *\[elasticsearch]*

   - *\[api\_publishing\_service]*

   - *\[kafka]*

   - *\[abs\_reporting\_node]*

   - *\[webgui]* | Configure the following Internet Protocol (IP) *(tooltip: \<div class="paragraph">&#xA;\<p>The method by which data is sent across the internet from the source host to the destination host.\</p>&#xA;\</div>)* addresses:- *\[ase]*

     ASE IP address

   - *\[abs]*

     ABS IP address

   - *\[mongodb]*

     MongoDB IP address and port. Providing the port number is mandatory.

   - *\[dashboard]*

     Dashboard IP address

   - *\[elasticsearch]*

     Elasticsearch IP address

   - *\[api\_publishing\_service]*

     API publishing service IP address

   - *\[kafka]*

     Kafka IP address

   - *\[abs\_reporting\_node]*

     ABS reporting node IP address&#xA;&#xA;The IP address for \[abs] and\[abs\_reporting\_node] should be different. If you are installing all the components on a single host, leave the \[abs\_reporting\_node] field blank.- *\[webgui]*

     Web GUI IP address. Web GUI and dashboard engine are part of the same package; however, you can install them on separate machines. If you want to install Web GUI and dashboard engine in the same machine, configure the same IP address in *\[dashboard]* and *\[webgui]*.

     &#xA;&#xA;If you are setting up an evaluation environment, all of the components (ASE, ABS, MongoDB, Dashboard, WebGUI, and ElasticSearch) can share a single IP address.&#xA;&#xA;Leave the abs\_reporting\_node field blank when all the components have the same IP address.For production deployments:- ASE, ABS AI Engine, and MongoDB should be deployed on separate servers for redundancy.

   - Dashboard, WebGUI, and ABS Reporting node (optional) can be deployed on a single server.

   - Elasticsearch should be deployed on a standalone server. |
   | `installation_path`                                                                                                                                                                   | Configure the path where you want to install the PingIntelligence components to be. The default value is `/home/ec2-user`.&#xA;&#xA;The path that you provide in the installation\_path variable must exist on the machine. The automation script does not create this path. If you are installing all the PingIntelligence components on different machines, manually create the same path on each machine before running the automation script.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   | `install_with_sudo`                                                                                                                                                                   | When set to `false`, the script installs PingIntelligence for a normal user. When set to `true`, the script installs PingIntelligence as a root user if the port number of ports configured are less than 1024.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   | `install_as_service`                                                                                                                                                                  | Set it to `true` if you want to install PingIntelligence components as a service. To install PingIntelligence components, you must be a `root` user. Set `install_with_sudo` as `true`.If you install PingIntelligence components as a service, the components are automatically restarted when the system is rebooted. Check the `ansible.log` file to verify starting PingIntelligence components as a service.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   | `install_mongo`                                                                                                                                                                       | Set to `true` if you want the automated deployment to install MongoDB. Set it to `false` if you want to use an existing MongoDB installation. The default value is `true`.&#xA;&#xA;Configure the MongoDB IP address and port number even if install\_mongo is set to false. MongoDB details are required to configure the abs.properties file.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   | `install_elasticsearch`                                                                                                                                                               | Set to `true` if you want the automated deployment to install Elasticsearch. Set to `false` if you want to use an existing Elasticsearch installation. The default value is `true`.&#xA;&#xA;If you set the option as true, provide an IP address in the hosts file for Elasticsearch. Leave the IP address blank in the hosts file if you configured the option as false.&#xA;&#xA;If you have configured the variable as false, configure the Uniform Resource Locator (URL) of your existing Elasticsearch in the dashboard-defaults.yml file. For more information, see Changing Dashboard default settings.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   | `install_kafka`                                                                                                                                                                       | * Automated deployment (default):

     * Set `install_kafka = true` if you want the automated deployment to install Kafka.

     * Provide an IP address in the `hosts` file for Kafka.

   * Existing Kafka installation:

     * Set `install_kafka = false` if you want to use an existing Kafka installation.

     * Leave the IP address blank in the `hosts` file.

     * `kafka_server_url`: Configure the pre-existing Kafka IP port in the `config/abs-defaults.yml` file.

       ```
       # When kafka is set to false in config/hosts, this url will be used
       # Give the host:port combination of mutiple kafka server in comma seperated.
       # Make sure kafka_server_url is accessible from ansible management host, dataengine, and abs nodes.
       #This will be used via dashboard dataengine module too.
       kafka_server_url: kafka_1:9093
       ```

     * `kafka_custom_truststore_password`:Set the `kafka_custom_truststore_password` parameter value in the `config/abs-defaults.yml` file with the password of your existing Kafka service. This must be set when `install_kafka` is set to `false`.```
   # When kafka is set to false in config/hosts, this password for jks will be used
   #This will be used via dashboard dataengine module too.
   kafka_custom_truststore_password: custom
   ```* Place the existing Kafka `truststore.jks` file in the `cert_dir` directory.

     ```
     cert_dir: "{{ root_dir }}/certs"
     ```&#xA;&#xA;The default settings when you deploy Kafka and Zookeeper through the deployment framework are:&#xA;&#xA;ssl.hostnameVerification is disabled&#xA;&#xA;allow\.everyone.if.no.acl.found is true                                                                  |
   | `kafka_download_url`                                                                                                                                                                  | Kafka download URL. A default URL is populated in the `hosts` file.&#xA;&#xA;If your machine does not have internet access, then download Kafka 2.12-2.5.0 and save the file as kafka\_2.12-2.5.0.tar.gz in the external directory.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
   | `jdk11_download_url`                                                                                                                                                                  | The automated script requires OpenJDK 11.0.2.&#xA;&#xA;If your machine does not have internet access, download the OpenJDK 11.0.2 and save the file as openjdk11.tar.gz in the external directory.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
   | `mongodb_download_url`                                                                                                                                                                | MongoDB download URL. A default URL is populated in the `hosts` file.&#xA;&#xA;The default URL is RHEL version of MongoDB. If you are installing on Ubuntu, configure the MongoDB Ubuntu download URL.&#xA;&#xA;If your machine does not have internet access, download the MongoDB 5.0.18 and save the file as mongodb.tgz in the external directory.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
   | `elasticsearch_download_url`                                                                                                                                                          | Elasticsearch download URL. A default URL is populated in the `hosts` file.&#xA;&#xA;If your machine does not have internet access, download the Elasticsearch 7.13.4 and save the file as elasticsearch-7.13.4.tar.gz in the external directory.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   | `timezone`                                                                                                                                                                            | Time zone setting for PingIntelligence components. It will set the time zone settings of ASE, ABS, and PingIntelligence for APIs Dashboard. Allowed values are `local` or `utc`. The default value is `utc`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
   | `ansible_ssh_user`                                                                                                                                                                    | Ansible `ssh` user. The default value is `ec2-user`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   | `ansible_ssh_pass`                                                                                                                                                                    | Configure the Ansible SSH user's password if you want to use password to authenticate with the host machines.&#xA;&#xA;If you do not configure password, SSH use establishes a passwordless authenticated connection.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |

2. Add the Ansible username in the `ansible_ssh_user` field.

   ### Example:

   ```
   [ase]
   10.96.6.41
   10.96.6.111

   [abs]
   10.96.6.75
   10.96.6.128

   [api_publishing_service]
   10.96.6.73

   [abs_reporting_node]
   10.96.6.73

   [kafka]
   10.96.6.63 zookeeper_id=1
   10.96.6.160 zookeeper_id=2
   10.96.6.254 zookeeper_id=3

   [mongodb]
   10.96.6.243 mongo_port=27017
   10.96.6.236 mongo_port=27017
   10.96.6.80 mongo_port=27017

   [dataengine]
   10.96.6.73

   [elasticsearch]
   10.96.6.10

   [webgui]
   10.96.6.73

   [all:vars]

   # Installation Path
   installation_path="/home/ec2-user"

   # install_as_service set to true will start ASE, ABS, Dashboard, Elasticsearch
   # and kafka as systemd services.
   install_as_service=true

   # configure install_with_sudo to true if any of the ports used for ASE,
   # ABS, Dashboard are < 1024. That component will be started using sudo.
   # when install_as_service is true, install_with_sudo should be set to true.
   install_with_sudo=true

   # this option can be used if there is an existing mongo installation that can be used
   # set it to false if Mongodb need not be installed
   install_mongo=true

   # this option can be used if there is an existing kafka installation that can be used
   # set it to false if kafka need not be installed
   install_kafka=true

   # this option can be used if there is an existing elasticsearch installation that can be used.
   # set it to false if elasticsearch need not be installed.
   # when install_elasticsearch is set to false, remove any nodes under elasticsearch section and
   # configure elasticsearch_url in config/dashboard-defaults.yml.
   install_elasticsearch=true

   # timezone setting. It will set timezone settings of ASE, ABS and Dashboard
   # allowed values: local, utc
   timezone=utc

   # Download URLs for external packages
   jdk11_download_url='https://download.java.net/java/GA/jdk11/9/GPL/openjdk-11.0.2_linux-x64_bin.tar.gz'
   mongodb_download_url='https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-5.0.18.tgz'
   elasticsearch_download_url='https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.13.4-linux-x86_64.tar.gz'
   kafka_download_url='https://archive.apache.org/dist/kafka/2.5.0/kafka_2.12-2.5.0.tgz'

   # Ansible SSH user to access host machines
   ansible_ssh_user=ec2-user
   # Uncomment the ansible_ssh_pass line and configure password of ansible_ssh_user if you wish to use SSH connection with password.
   # If you do not use this option, then the SSH user uses password-less authentication.
   #ansible_ssh_pass=
   ```

   The default value is `ec2-user`.
