Prepare servers
Create shared directory
On a separate server, create a shared directory:
- INSTALL_DIR/shared and mount it to the INT and APP servers.
- INSTALL_DIR/vds-data and mount it to the BEP Master and BEP Agents servers.
Prepare Integration server
Extract installation packages
To extract installation packages:
Log in to the Integration server as a Linux installation user, by using Linux Terminal, Windows PuTTY, or any other SSH client:
$ ssh -i <path-to-private-key.pem> <username>@<hostname.example.com>In
INSTALL_DIR, create aPACKAGE_DIRdirectory for the WorkFusion installation package, for example, /opt/workfusion/wf_installer. Grant the read access for this directory to all users:$ sudo mkdir -p /opt/workfusion/wf_installer $ sudo chmod 0755 /opt/workfusion/wf_installerMake sure that the Linux installation user is an owner of the installation directory:
$ sudo chown -R <username>:<username> /opt/workfusion/Download the provided installation package with any file retrieving tool, for example,
wgetorcurl:If the Internet access is available on the server:
$ curl 'https://link_to_installer' --output /opt/workfusion/workfusion-full-package-<version>.tar.gzIf the Internet access is not available on the Integration server, download the Intelligent Automation Cloud installer and copy it as /opt/workfusion/workfusion-full-package-.tar.gz on the Integration server.
Extract the downloaded package to the directory:
$ tar -xzvf /opt/workfusion/workfusion-full-package-<version>.tar.gz --strip 1 -C /opt/workfusion/wf_installer
Configure installation
To configure installation:
In your
PACKAGE_DIRdirectory, edit the hosts.yml configuration file. The vi text editor is used in the example below:$ vi hosts.ymlSpecify the domain name of each component. The DNS names must be mapped to the IP address of a load balancer. See DNS Names Configuration.
vault_lb_hostname: host-vault-lb1.example.com minio_lb_hostname: host-minio-lb1.example.com nexus_lb_hostname: host-nexus-lb1.example.com rabbitmq_lb_hostname: host-rabbitmq-lb1.example.com mesos_lb_hostname: host-mesos-lb1.example.com marathon_lb_hostname: host-marathon-lb1.example.com workspace_lb_hostname: host-workspace-lb1.example.com workfusion_lb_hostname: host-workfusion-lb1.example.com bot_manager_lb_hostname: host-bot-manager-lb1.example.com kibana_lb_hostname: host-kibana-lb1.example.com ocr_lb_hostname: host-ocr-lb1.example.com bi_lb_hostname: host-bi-lb1.example.com mssql_hostname: host-mssql1.example.com int_hostnames: host-int1.example.com,host-int2.example.com,host-int3.example.com app_hostnames: host-ct1.example.com,host-ct2.example.com ocr_hostnames: host-ocr1.example.com,host-ocr2.example.com bi_hostnames: host-bi1.example.com,host-bi2.example.com bep_master_hostnames: host-bepmaster1.example.com,host-bepmaster2.example.com,host-bepmaster3.example.com bep_agent_hostnames: host-bepagent1.example.com,host-bepagent2.example.com,host-bepagent3.example.com rpa_hostnames: host-rpa1.example.com,host-rpa2.example.comRefer to the hosts.yml options section for more details on each option.
In the same directory, change the permissions for the config.yml file:
$ sudo chmod 644 config.ymlOpen the PACKAGE_DIR/config.yml file, and in the parameter
ansible_vault_password, change the ansible vault password:$ vi config.ymlThe password is used for encrypting the config.yml at the following step and will be asked several times during the installation of the components. We strongly recommend to secure and memorize it. When creating passwords, make sure they are strong enough and meet the following requirements:

In config.yml, in section HA mode, set the following mandatory parameters to enable the high availability mode.
ha_mode: true– enable the HA mode.common_nfs_share: '{{ install_dir }}/shared'– specify the shared directory on all Linux servers.
Optionally, on the INT server, run the following command to automatically generate passwords for the WorkFusion internal services according to product policies. We strongly recommend to change them manually for security reasons. Note that the command doesn't generate end-user password.
$ ./install.sh passwords generateAs a result, in config.yml, the passwords for most services, except for the following end-user ones, are created:
"wf_password" "ldap_bind_password" "mail_pass" "tableau_dashboard_pass" "tableau_automation_pass" "windows_installation_pass" "elk_admin_pass" "ansible_vault_password” "bot_relay_user_pass" "bot_user_pass"If you prefer to set the passwords manually, remember to use only Latin letters and allowed symbols.
If needed, change other secrets and parameters, as well. After that, save and close the file.
Remember, in the
#MSSQLsection, specify the corresponding MS SQL login names and passwords, that you have created earlier.In your
PACKAGE_DIR, encrypt the config.yml file:$ ./install.sh encrypt configNote that WorkFusion Intelligent Automation Cloud 10 installer will not let you start the installation until config.yml is encrypted.
If needed, you can later edit the encrypted file with the following commands:
$ cd /opt/workfusion/wf_installer $ ./install.sh edit_config intPrepare the TLS certificates, as described in Prepare certificates.
Copy the provided license.properties file to the installation directory to install the WorkFusion license, for example, /opt/workfusion/wf_installer/license.properties.
If you perform installation on your own, request the license file from your WorkFusion Account Manager in the same way, as you receive the Tableau license.
Prepare Windows servers
The following operations must be performed on all Windows servers.
To configure access for Intelligent Automation Cloud installation:
Connect to the remote Windows server via Remote Desktop or any other client as a Windows installation user (see Create installation users).
Run PowerShell as Administrator.
In PowerShell, run the following commands:
$url = "https://s3.amazonaws.com/workfusion-installer/blobs/artifacts/winrm-config/ConfigureRemotingForAnsible.ps1" $file = "$env:c\ConfigureRemotingForAnsible.ps1" (New-Object -TypeName System.Net.WebClient).DownloadFile($url, $file) powershell.exe -ExecutionPolicy ByPass -File $file -VerboseThe script checks the current WinRM (PS Remoting), enables CredSSP authentication, creates SSL listener and configures firewall for WinRM HTTPS connections to allow Ansible to connect, authenticate, and execute PowerShell commands.
If the Internet access is not available on the target server:
Download the script from https://s3.amazonaws.com/workfusion-installer/blobs/artifacts/winrm-config/ConfigureRemotingForAnsible.ps1 and save it to the target windows server manually, for example, to C:\tmp\ConfigureRemotingForAnsible.ps1.
Run PowerShell as Administrator.
In PowerShell, run the following command:
powershell.exe -ExecutionPolicy ByPass C:\tmp\ConfigureRemotingForAnsible.ps1