Prerequisites

  • Java 11 or later. Oracle and OpenJDK versions are supported.
  • JAVA_HOME must point to the JRE/JDK. You can run ‘echo $JAVA_HOME’ (Linux) or 'echo %JAVA_HOME%' (Windows) to verify this.

  • PATH must include the path to java executable. You can run ‘java’ to verify that the executable is found.

  • CTP downloaded (via download link). You can request a download link by sending an email to your Parasoft representative.

Linux (Red Hat)

  1. Download Apache Tomcat 8.5 or 9.0 from http://tomcat.apache.org/.
  2. Log in to the system as root.
  3. Extract Tomcat.
    tar –zxvf apache-tomcat-<version>
    This will create a new folder containing Tomcat.
  4. (Recommended) Move the extracted folder to a common installation location, such as /opt/tomcat.


You may also want to configure Tomcat to start automatically when the server starts. There are two ways to do this:

  • Edit init.d and using that to start/stop Tomcat, or 
  • Directly call <apache-tomcat-home>/bin/startup.sh

Editing init.d

cd /etc/init.d/
vi tomcat

Edit the file to look like this:

#!/bin/bash
# description: Tomcat Start Stop Restart
# processname: tomcat
# chkconfig: 234 20 80
JAVA_HOME=/usr/java/jdk1.7.0_21
export JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH
export PATH
CATALINA_OPTS="-Xmx768m -XX:MaxPermSize=256m"
export CATALINA_OPTS
CATALINA_HOME=/usr/share/apache-tomcat-7.0.47
TOMCAT_OWNER=parasoft


case $1 in
start)
    su - $TOMCAT_OWNER -c $CATALINA_HOME/bin/startup.sh
;;
stop)  
    su - $TOMCAT_OWNER -c $CATALINA_HOME/bin/shutdown.sh
;;
restart)
    su - $TOMCAT_OWNER -c $CATALINA_HOME/bin/shutdown.sh
    su - $TOMCAT_OWNER -c $CATALINA_HOME/bin/startup.sh
;;
esac   
exit 0


where TOMCAT_OWNER=parasoft references a user named ‘parasoft’ to run the Tomcat service.


To start the Tomcat service:

    /etc/init.d/tomcat start

To stop the Tomcat service:

    /etc/init.d/tomcat stop

To restart the Tomcat service:

    /etc/init.d/tomcat restart

To ensure that Tomcat gets started automatically at boot: 

    chkconfig tomcat on

Directly Calling <apache-tomcat-home>/bin/startup.sh

Alternatively, you can start Tomcat by directly calling the <apache-tomcat-home>/bin/startup.sh script on Linux.  If starting Tomcat this way, you will need to create a <apache-tomcat-home>/bin/setenv.sh file with the following contents:

    CATALINA_OPTS="-Xmx768m -XX:MaxMetaspaceSize=256m"

Windows

  1. Download the Apache Tomcat 8.5 or 9.0 32-bit/64-bit Windows Service Installer from
    http://tomcat.apache.org/ 
  2. Run the installer. Select the Service Startup option during installation.

     
     
  3. After installation, open the Tomcat configuration controls from the system tray.
     
  4. For Java Options, set the maximum size of the Metaspace using -XX:MaxMetaspaceSize=256m
    (Java Options are separated by new lines, not spaces) and set the maximum heap size to 768 MB.
     

Configuring SSL/HTTPS on Tomcat

CTP receives user passwords over a web interface.  To ensure that passwords are encrypted when they are sent over the network, Tomcat should be configured to use only the HTTPS connector.  For instructions on how to configure HTTPS in Tomcat, see the Apache Tomcat SSL/TLS Configuration HOW-TO topic.

Configuring Tomcat to Log User Information with CTP Requests and Responses

CTP is distributed with the tools you need to configure Tomcat to log user information along with each request and response. This is necessary for some users to be in compliance with certain regulations.

To configure Tomcat to log this information from CTP, you need to:

  1. Add ctp_access_log.jar (distributed with CTP) to the <apache-tomcat-home>/lib directory.
  2. Edit the server.xml file located in the <apache-tomcat-home>/conf/ directory by finding the default access log valve entry:

    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
             prefix="localhost_access_log" suffix=".txt"
             pattern="%h %l %u %t "%r" %s %b" />

    And appending the following example as a new entry:

    <Valve className="com.parasoft.ctp.access.log.CTPAccessLogValve" prefix="ctp" suffix=".txt" 
    pattern="%t %s %m %U %H %u %S %A:%{local}p %a:%{remote}p %F %{X-Forwarded-For}i %{User-Agent}i %{Referer}i %I" />

Standard Tomcat access log parameters are supported.  See https://tomcat.apache.org/tomcat-9.0-doc/config/valve.html#Access_Logging for more information.

Additional Configuration for UTF-8 Encoding

To ensure proper parsing of Japanese characters and other non-ASCII characters, add URIEncoding="UTF-8" to the <Connector> in Tomcat's server.xml. For example:

<Connector port="8080" protocol="HTTP/1.1"
    connectionTimeout="20000"
    redirectPort="8443"
    URIEncoding="UTF-8" />
  • No labels