Configuring the Natural Availability Server

#### Search Results

Search

# Configuring the Natural Availability Server

This section covers all you need for a complete configuration of Natural Availability Server.

## Basic Configuration

After installation, the application.properties file will be located under the following directory:

<installation location>/NaturalAvailabilityServer/conf

This file supplies all the details required for running the Natural Availability Server, including the host's connectivity data, the type of sessions to be created (HA or not), and all other configurations.

- Configuring Connectivity to Natural Host

- Configuring Connectivity to Natural Using SSL

- Setting the Logging Properties

- Setting the License Location

- Setting the Availability Mode

- Setting the REDIS Session Store Properties

### Configuring Connectivity to Natural Host

The Natural Availability Server can connect in a secure way via SSL protocol, or in a less secure way without SSL.

| Warning: The non-SSL connection is not recommended for production use and should only be used for development.

To connect to the Natural host, configure the connection parameters:

Property name | Description | Required | Default and Optional Values
--- | --- | --- | ---
`com.softwareag.natural.chimera.connection. hostname` | Hostname/IP address where the Natural instance is running | No | localhost
`com.softwareag.natural.chimera.connection.port` | Port the Natural Web I/O Interface daemon is listening on | No | 2900
`com.softwareag.natural.chimera.connection.ssl` | Define if the Natural Web I/O Interface daemon is using an SSL connection | No | False
`com.softwareag.natural.chimera.connection. parameters[0]` | Define the parameters to start the Natural application Could be more than one parameters The next parameter should start using ‘`parameters[1]`’ then ‘`parameters[2]`’ and so on | No | Empty value
`com.softwareag.natural.chimera.connection. certificatePath[0]` | Path for the server certificate used by Natural Web I/O Interface daemon Location: $NWODIR/$NWONODE/server.cert.crt of the Natural Host machine | Only for SSL connection | -
`com.softwareag.natural.chimera.connection. application` | The Application script to call to start the session. | No | nwo.sh

### Configuring Connectivity to Natural Using SSL

For quick starting out-of-the-box, the Natural Availability Server is configured by default to use non-SSL communication to the Natural Web I/O server.

However, if you want to connect using SSL communication you need to explicitly enable SSL in the following property and change the prarameter to `true`.

`com.softwareag.natural.chimera.connection.ssl=true`

The public certificate of the Natural Web I/O server needs to be available to enable SSL communication. This value is configured in the following property:

`com.softwareag.natural.chimera.connection.certificatePath[0]`

Note that a fully valid certification path is required to create a secure connection to the host. If the certificate used in the Natural Web I/O server has an unknown intermediate certificate, it should also be defined in the certificate path by assigning a different index, as in the following example:

`com.softwareag.natural.chimera.connection.certificatePath[1]`

### Setting the Logging Properties

These are the properties that are used to define the log level for each section of the application:

Property name | Description | Required | Default and Optional Values
--- | --- | --- | ---
`logging.level.root` | Default log level for the Application |  | INFO
`logging.level.org.springframework.web` | Log level for Web requests |  | INFO
`logging.level.org.springframework.security` | Log level for Spring security |  | DEBUG

In addition to the properties that can be defined in the application.properties file, you can customize the logging output by updating the file logback-spring.xml located in the directory <installation dir>/NaturalAvaialabilityServer/conf. For more information about this configuration please visit https://logback.qos.ch/manual/index.html site and follow the configuration link.

### Setting the License Location

The following property defines the location of the license file:

`com.softwareag.natural.web.frontend.server.config.licensePath`

This property expects the fully qualified or relative path to the file.

In case this property is not set, there are optional possibilities to place the product license file:

1. If the `SAG` environment variable is defined, the application will try to find the license file under:

   `$SAG/common/conf`
   `$SAG/NaturalAvailabilityServer/conf`

2. If these two directories do not contain the license file, the application will attempt to find the license file in the classpath.

3. The server will stop with an error message if the license file is not found.

Commonly, the name of the expected license file is nha<version number>.xml.

However, this name is not used if the license property is set in the application.properties file.

### Setting the Availability Mode

The following property sets the mode in which the Natural Availability Server will run.

`com.softwareag.natural.web.frontend.server.config.sessionStoreType`

There are two modes available:

1. memory
   This is NON-HA mode.

   `memory` indicates that the session data is saved in the memory and not in a session store.

2. redis

   This is HA mode.

   `redis` indicates that the session data is saved to the Redis@ session store.

The following section will explain how to define the properties if option REDIS is selected.

### Setting the REDIS Session Store Properties

The following properties allow the configuration of the REDIS service location, access credentials, and the use of SSL.

Property name | Description | Required | Default and Optional Values
--- | --- | --- | ---
`spring.data.redis.host` | Host name for the REDIS server | Required if sessionStoreType is defined as REDIS |
`spring.data.redis.port` | Port on which the REDIS server is listening | Required if sessionStoreType is defined as REDIS |
`spring.data.redis.ssl.enabled` | Set to `true` if the REDIS instance is using an SSL connection | Required if `sessionStoreType` is defined as REDIS |
`spring.data.redis.username` | The username that should be used to connect to REDIS | Required if sessionStoreType is defined as REDIS |
`spring.data.redis.password` | Password to connect to REDIS if defined See also section Encrypting Passwords below | Required if sessionStoreType is defined as REDIS |