How to Install Latest Apache Tomcat 8.5.14 in Linux

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

  1. Catalina : It is the Servlet Container of Tomcat.
  2. Coyote : Coyote acts as a connector and supports HTTP 1.1
  3. Jasper : It is the Tomcat’s JSP Engine.
  4. Cluster : A component for load balancing to manage large applications.
  5. High availability : A Tomcat component to schedule system upgrades and changes without affecting live environment.
  6. 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:

  1. Install Java 8 JDK on Linux
  2. Install Java 8 JDK/JRE on RHEL/CentOS

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.

  1. http://tomcat.apache.org/download-80.cgi

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.

Verify Apache Tomcat MD5
Verify Apache Tomcat MD5

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:

Default Apache Tomcat Page
Default Apache Tomcat Page

Hey TecMint readers,

Exciting news! Every month, our top blog commenters will have the chance to win fantastic rewards, like free Linux eBooks such as RHCE, RHCSA, LFCS, Learn Linux, and Awk, each worth $20!

Learn more about the contest and stand a chance to win by sharing your thoughts below!

Avishek
A Passionate GNU/Linux Enthusiast and Software Developer with over a decade in the field of Linux and Open Source technologies.

Each tutorial at TecMint is created by a team of experienced Linux system administrators so that it meets our high-quality standards.

Join the TecMint Weekly Newsletter (More Than 156,129 Linux Enthusiasts Have Subscribed)
Was this article helpful? Please add a comment or buy me a coffee to show your appreciation.

14 Comments

Leave a Reply
  1. After installing Java and apache tomcat, i am able to start the apache service, but while i am trying to hit the apache URL i am getting 500 error, can please help.

    Reply
    • @Shanmuga,

      Are you sure your apache tomcat started up correctly? also have you opened port 8080 on firewall? If yes, do check the apache logs for any errors.

      Reply
    • @Krishna,

      The article is updated and included installation instructions for latest Apache Tomcat version..

      Reply
  2. Hi,

    Thanks for your helpful tutorials. Just wanted to ask if it is necessary to configure a java_home environment after installing the java packages. I am confused because I came across this tutorial that configured a java environment and edited the file before installing Tomcat. Why is this necessary? I’ll paste the website’s URL below. Thanks.

    Reply
  3. Nice article Avishek Kumar. I am looking forward for Java Tutorials on TecMint. I am regularly reading article on tecmint but first time I am posting comment here. Thank you for your efforts to give such nice tutorials.

    Reply

Got Something to Say? Join the Discussion...

Thank you for taking the time to share your thoughts with us. We appreciate your decision to leave a comment and value your contribution to the discussion. It's important to note that we moderate all comments in accordance with our comment policy to ensure a respectful and constructive conversation.

Rest assured that your email address will remain private and will not be published or shared with anyone. We prioritize the privacy and security of our users.