Skip to main content
Version: 24.3

Installing Agility Connect

Overview

Follow these instructions step-by-step to install the Agility Connect application on a single server. Agility Connect is an on-premise installed application and is customer administered. Agility Connect can be installed in a cloud-based environment as long as the networking requirements below are satisfied and Agility Connect can reach the tools that are located within the network.

Prerequisites

System Requirements

Before proceeding, please read the Agility Connect System Requirements.

Server Connectivity During the Install Process

It may be easiest to enable network access for the Agility Connect server to pull down the installation files as needed, however, this is not required. If outbound network access to the internet is against organization policy the files can be dropped on the server by downloading to another server or desktop and transferring the files to the target Agility Connect server as needed.

Create an "agilitysync" user account

On the Linux machine, create a services account for the Agility Connect application account named "agilitysync". This user account is used to install and own the Agility Connect application.

sudo useradd -m agilitysync

Then set a password for the account:

sudo passwd agilitysync

Verify that shell (/bin/bash or /bin/sh) is set, if not add it:

grep agilitysync /etc/passwd

Add "agilitysync" user to sudoers file

echo "agilitysync ALL=(ALL) NOPASSWD: ALL" | sudo tee -a /etc/sudoers

Verify sudo Capability

The "agilitysync" user account used to run the install must have sudo capabilities. Add this user to the "sudoers" group by following steps specific to your OS. This can be tested by running the following command as the user account. Switch user account to "agilitysync" with the command su - agilitysyncand then test sudocapability with this command:

  1. Switch user account to "agilitysync"

su - agilitysync

  1. Test sudo capability

sudo echo "helloworld"

An error such as "user not in sudoers file" must be corrected before proceeding.

Curl

"curl" must be installed on the server to download the install script to run and to complete these directions. "wget" is a popular alternative and can be substituted in these instructions where applicable.

Python 3.6/3.8

Agility Connect requires Python 3.6 for RHEL 7.x/CentOS7.x and 3.8 for Ubuntu 20 to run, which is installed by default. You can run the following commands to install Python 3.x:

  1. Update package list

apt-get update

  1. Install Python 3.x

For Ubuntu, use minstall python3.8

For RHEL 7.x/CentOS7.x, use yum install python36*

Check Time and Timezone Settings

This would be a good time to make sure that your Linux server has NTP (network time protocol) configured properly, the date and time are correct and the timezone is configured properly for the locale of the server. The date and time matter on reports so choose the timezone that most accurately reflects yours organizations primary business operations.

For more information on setting server time zone, see Setting the Time Zone topic in the Digital.ai Agility documentation.

Installing Digital.ai Agility Connect

To install the Agility Connect platform, perform the following steps on the Linux server. This begins with installing the database servers, then creating running the Agility Connect installer and configuring the databases.

Refresh System Variables

Ubuntu:source .profile

RHEL/Centos:source .bash_profile

Install MongoDB

Use the following link to perform the installation of MongoDB.

Note: You must have MongoDB versions 4.0 - 4.4.

https://docs.mongodb.com/v4.0/administration/install-on-linux/

Pro Tip: Make sure that MongoDB is installed and run as service account and not run as the "root" user. We have found that when the MongoDB service is run as root several problems occur.

Download the Latest Agility Connect Installer

Copy the latest installer agilitysync-installer.sh that was provided by the Digital.ai Agility Connect team to a temporary directory (Example: /tmp) and run the following command. This file contains both the latest application and the script to perform the install.

In the following command, substitute theurlin the command below with the url that was provided by the Agility Connect support team.

curl -o agilitysync-installer.sh "url"
mv agilitysync-installer.sh /tmp/agilitysync-installer.sh

If the target server is not connected to the internet, download the installation file to an intermediate server then sftp to /tmp.

Make it Executable

Make the script executable and change the script owner to agilitysync user

chmod +x /tmp/agilitysync-installer.sh
chown -R agilitysync.agilitysync /tmp/agilitysync-installer.sh

Run the Install Script

The following options will NOT start the Agility Connect services(-p) after the installer completes.

NOTE: Run as the "agilitysync" user. The user that runs this script will be the owner of the Agility Connect application, files, and directories. This user should not be the root user. A common practice is to create a service account on the Linux machine called "agilitysync".

**NOTE:**Do not run the installer using "sudo" or using the root user, the script itself will sudo when it needs to.

/tmp/agilitysync-installer.sh

Change the Default Installation Directories(Optional)

The Agility Connect installer script, by default, installs Agility Connect in these directories—/etc, /opt, and /var. Agility Connect default installation directories are:

  • base_dir—/opt/agilitysync
  • var_dir—/var/agilitysync
  • etc_dir—/etc/agilitysync

However, you can change the default installation directories and install Agility Connect on any directory of your choice.

For example, the following command installs Agility Connect on custom install directories with the -b, -v, and -e command-line options.

/tmp/agilitysync-installer.sh -b /myapps/soft/agilitysync -v /myapps/prod/agilitysync -e /myapps/app/agilitysync

When you skip one of the custom paths, the installer falls back to the default. For example, if you ignore the -e option, the installer picks the default etc_dir, which is/etc/agilitysync.

Configure the following in agilitysync.yaml file

/vim /etc/agilitysync/agilitysync.yaml

add this line: mongodb_server: <IP of the MongoDB server> and Save.

Run the the following command for Mongo DB initialization

cd /opt/agilitysync/current/common/install

./init_mongodb.py

Logout and return

Log out and log back to the Linux server to load environment variables that were added to the profile script of the user. Check that AGILITYSYNC_HOME is set.

echo $AGILITYSYNC_HOME

Disable Optional Services

If you are not using tasks, disable the as-poller service

as-disable-service as-poller

Start Agility Connect

Start the Agility Connect services using the following command.

as-start-services

Login

Using a browser, go to the login page for Agility Connect using the address http://serveraddress:8080. On the initial login you will need to scroll down to the bottom of the page to accept the license agreement.

The initial credentials are the user "administrator" and the password "password". You will be required to change the password immediately. This password will need to be at least 8 characters in length.