ThingWorx Analytics 8.0/8.1 - Installing using the Linux Docker-based installer on CentOS 7
This guide applies to a clean installation of the CentOS 7 Minimal distribution. This is labeled as "Minimal ISO" on the CentOS.org website and the filename of the iso image used to install the operating system will resemble "CentOS-7-x86_64-Minimal-1611.iso." The machine used in this guide was a virtual machine created using Oracle VirtualBox but the same steps should apply to any machine with a clean CentOS 7 Minimal install. It is however possible that some installations may encounter slight variations due to hardware configurations.
Unzip the downloaded "MED-..._ThingWorx-Analytics-Server-Linux-Standalone-8-0-0.zip". Inside the unzipped directory you will find a file called "ThingWorxAnalyticsServer-8.0.0-linux-x64-installer.run". Before running step number 10, upload that file to your CentOS machine using a SFTP SCP tool of your choice.
Step 2: Create a group called docker (If this command reports the group already exists, that is ok. You can move to the next step):
Step 3: Add your non-root user to the docker group, in this example my non-root user is called "thingworx", please replace with the correct username:
usermod -aG docker thingworx
Step 4: Start the Docker service and enable it to auto start after reboot:
systemctl start docker
systemctl enable docker
Step 5: Verify that docker is working:
Step 6: After running the above command you should see a single line output that resembles the following:
"CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES"
Step 7: Disable selinux with the two following commands. Note by doing this you will want to make sure if this is a public facing server that you take appropriate security measures to lock down the system.
sed -i -e 's/SELINUX=enforcing/SELINUX=disabled/' /etc/sysconfig/selinux
Step 8: Set the hostname of your machine to something otherthan the default which is "localhost.localdomain". In this case I am using the name "centos", this can be replaced with a name of your choosing:
echo "centos" > /etc/hostname
Step 9: Allow traffic through the default CentOS firewall. Note that in a production environment, the firewall should be configured more granular to allow incoming traffic to only the required ports (5432, 2181 and 8080). Please refer to CentOS documentation and consult security best practices within your organization for more information. The following commands will completely disable the CentOS firewall.
systemctl disable firewalld
systemctl stop firewalld
Step 10: Ensure the ThingWorx Analytics Server installer is executable then run the installer. You may have to change to the directory where the installer was uploaded to the machine, in this case I have it in the home directory of the user named thingworx. Please replace that path with the correct path for your machine. Note below are 3 separate commands.
Step 11: Verify that the ThingWorx Analytics Server installation is successful. Note that it may take a few minutes for the system to become available. Retry the command after a few minutes if an error is initially encountered.