As of December 31st, 2023 ThreadFix 2.X has reached End of Life and is no longer supported. For any further information please contact the Success and Implementation team.

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 30 Next »

📙 You will learn

How to install and configure ThreadFix on Ubuntu. While currently ThreadFix supports Ubuntu 12.04 and newer, these instructions were developed and tested against Ubuntu 16.04.

Prerequisites

Audience: IT Professional and/or End User
Difficulty: Intermediate
Time needed: Approximately 60 minutes
Tools required: OpenJDK 8, latest version of OpenJDK 11 or Oracle Java 8, latest version of Tomcat 8.5, MySQL or Microsoft SQL Server

Install Java

To check the currently-installed version, run the java -version command.

OpenJDK 11

 OpenJDK 11 - Click to expand

ThreadFix version 2.7.9 and newer can run on OpenJDK 11 (version 11.0.5 or newer, OpenJDK 8, or Oracle Java 8, shown in the sections below). To install, open a Terminal and run the following commands:

sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt update
sudo apt-get install openjdk-11-jre

If you have multiple JREs installed, run the sudo update-alternatives --config java command and select the version installed above.

OpenJDK 8

 OpenJDK 8 - Click to expand

ThreadFix version 2.7 and newer can run on OpenJDK 8 (or Oracle Java 8, shown in the next section). To install, open a Terminal and run the following commands:

sudo apt-get update
sudo apt-get install openjdk-8-jre

If you have multiple JREs installed, run the sudo update-alternatives --config java command and select the version installed above.

Oracle Java 8

 Oracle Java 8 - Click to expand

To deploy versions of ThreadFix 2.6.2.6 and older, you'll need to use Oracle Java 8. To pull the Oracle version, you'll need to add a repository by opening Terminal and running the following commands:

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer

Select "OK" to proceed through the install, and accept the license terms.

Install and Configure Tomcat 8.5

ThreadFix recommends the latest version of Tomcat 8.5. Note versions prior to 8.5.78 are not recommended due to security exploit CVE-2022-22965.

1. Download the latest version of Tomcat 8.5.

For the current version of ThreadFix, apt-get is not recommended for installing Tomcat. Getting the latest version of Tomcat 8.5 directly with wget is the preferred method. The link to the tarball is provided by the official Apache Tomcat site and is a mirror site hosting the most recent version.

wget https://dlcdn.apache.org/tomcat/tomcat-8/v8.5.82/bin/apache-tomcat-8.5.82.tar.gz

If the above command doesn't work, the download may have been moved/updated. Browse to https://tomcat.apache.org/download-80.cgi  to determine the most recent version available.

2. Create a directory to install Tomcat 8.5, then extract the tar ball there.

sudo mkdir /opt/tomcat
sudo tar xvf apache-tomcat-8*tar.gz -C /opt/tomcat --strip-components=1

3. Create a group and user to manage the Tomcat execution.

sudo groupadd tomcat
sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat

Web.xml Update

For compatibility with Tomcat 8.5.43 and newer, make the following update:

Open the <tomcat-deploy>/conf/web.xml file in a text editor with elevated privilege and edit the default servlet as follows:

  • OLD

 Old - click to expand
<servlet>
    <servlet-name>default</servlet-name>
    <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
    <init-param>
        <param-name>debug</param-name>
        <param-value>0</param-value>
    </init-param>
    <init-param>
        <param-name>listings</param-name>
        <param-value>false</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
  • NEW

 New - Click to expand
<servlet>
    <servlet-name>default</servlet-name>
    <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
    <init-param>
        <param-name>debug</param-name>
        <param-value>0</param-value>
    </init-param>
    <init-param>
        <param-name>listings</param-name>
        <param-value>false</param-value>
    </init-param>
    <init-param>
        <param-name>fileEncoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
  • (Note that the above adds the fileEncoding parameter and sets its value to UTF-8.)

Enable Tomcat Service

If you want tomcat to run as a service that you can have start automatically at boot, the preferred method in Ubuntu 16.04 is using systemd.  Create a file at /etc/systemd/system/tomcat.service with the following content.

 Enable Tomcat Service - Click to expand
# Systemd unit file for tomcat
[Unit]
Description=Apache Tomcat Web Application Container
After=mysql.service network.target
 
[Service]
Type=forking
 
Environment=JAVA_HOME=/usr
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms2G -Xmx8G -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
 
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/bin/kill -15 $MAINPID
 
User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always
 
[Install]
WantedBy=multi-user.target

Reload Systemd to load the Tomcat unit file and enable the tomcat.service.

sudo systemctl daemon-reload
sudo systemctl enable tomcat.service

SSL/TLS Implementation

For information on configuring Tomcat to run over SSL/TLS, refer to the following article.

Install and Configure the Database

Install and Configure ThreadFix

Once you've followed the steps above, you're ready to install ThreadFix.  Please see the ThreadFix Installation guide to complete your deployment.

Table of Contents

  • No labels