Apache Tomcat commonly called as Tomcat is an open-source web server and servlet container developed by Apache Software Foundation. It is written primarily in Java and released under Apache License 2.0. This is a cross platform application.

Recently, on April 18th, 2017, Apache Tomcat reached to version 8 (i.e. 8.5.14), which includes a numerous fixes and number of other enhancements and changes. Some of noticeable changes included in this release are: support for Java Servlet 3.1, JSP (JavaServer Pages) 2.3, EL (Java Expression Language) 3.0, Java Websocket 1.1, etc.

Components of Tomcat

Catalina : It is the Servlet Container of Tomcat. Coyote : Coyote acts as a connector and supports HTTP 1.1 Jasper : It is the Tomcat’s JSP Engine. Cluster : A component for load balancing to manage large applications. High availability : A Tomcat component to schedule system upgrades and changes without affecting live environment. Web Application : Manage Sessions, Support deployment across different environments.

This article will walk you throughout the process of installing Apache Tomcat 8 (i.e. 8.5.14) on Linux systems, which includes RHEL, CentOS, Fedora, Debian, Ubuntu, etc.

Step 1: Installing Java 8

1. Before installing Tomcat make sure you have the latest version of Java Development Kit (JDK) installed and configured on the system. It is preferred to use oracle Java.

To install latest Oracle Java JDK (jdk-8u131) on Linux, you may like to refer our recent posts on Oracle jdk/jre/jar installations here:

Step 2: Download and Install Apache Tomcat 8

2. Once latest Java installed and configured correctly on the system, we will move forward to download and install latest stable version of Tomcat 8 (i.e. 8.5.14). If you want to cross check, if any newer version available, go to following Apache download page and cross check.

3. Next create a /opt/tomcat/ directory and download the latest version of Apache Tomcat 8 under this directory, also for cross checking the download file, we will be downloading hash file. The download will take some time depending upon your connection speed.

# mkdir /opt/tomcat/ && cd /opt/tomcat # wget http://mirror.fibergrid.in/apache/tomcat/tomcat-8/v8.5.14/bin/apache-tomcat-8.5.14.zip # wget https://www.apache.org/dist/tomcat/tomcat-8/v8.5.14/bin/apache-tomcat-8.5.14.zip.md5

Note: Make sure to replace the version number in the above download link with the latest version available if it was different.

4. Now verify the MD5 Checksum against the key.

# cat apache-tomcat-8.5.14.zip.md5 # md5sum apache-tomcat-8.5.14.zip

Make sure that the output (Hash Value) matches, as shown below.

5. Extract the Tomcat zip and cd to ‘apache-tomcat-8.5.14/bin/‘ directory.

# unzip apache-tomcat-8.5.14.zip # cd apache-tomcat-8.5.14/bin/

6. Now make Linux scripts executable that is under ‘apache-tomcat-8.5.14/bin/‘ and then create symbolic link of startup and shutdown script for tomcat as:

Change all scripts *.sh executable only for root as,

# chmod 700 /opt/tomcat/apache-tomcat-8.5.14/bin/*.sh

Create Symbolic link for startup script as,

# ln -s /opt/tomcat/apache-tomcat-8.5.14/bin/startup.sh /usr/bin/tomcatup

Create Symbolic link for shutdown script as,

# ln -s /opt/tomcat/apache-tomcat-8.5.14/bin/shutdown.sh /usr/bin/tomcatdown

7. Now to start tomcat, you just need to fire the below command as root from anywhere in the shell.

# tomcatup

Sample Output

Using CATALINA_BASE: /opt/tomcat/apache-tomcat-8.5.14 Using CATALINA_HOME: /opt/tomcat/apache-tomcat-8.5.14 Using CATALINA_TMPDIR: /opt/tomcat/apache-tomcat-8.5.14/temp Using JRE_HOME: /opt/java/jdk1.8.0_131/jre/ Using CLASSPATH: /opt/tomcat/apache-tomcat-8.5.14/bin/bootstrap.jar:/opt/apache-tomcat-8.5.14/bin/tomcat-juli.jar Tomcat started.

Once ‘Tomcat Started‘, you can point your browser to http://127.0.0.1:8080 and you should see something as: