Sep 072015
 

Tomcat Logo

Apache Tomcat is an open source web server and servlet container developed by the Apache Software Foundation (ASF). Tomcat implements the Java Servlet and the JavaServer Pages (JSP) specifications from Oracle and provides a “pure Java” HTTP web server environment for running the Java codes. Apache Tomcat includes tools for configuration and management, but can also be configured by editing XML configuration files.

Here is the step by step guide to install Apache Tomcat 8.0 on RHEL 7 / CentOS 7.

Open Terminal.

Switch to root user.

Install OpenJDK:

Tomcat requires to have java installed on your machine, you can either have Oracle JDK or OpenJDK installed on your machine. Here i used the openjdk, lets install openjdk by issuing the following command.

[root@server ~]# yum install java-1.7.0

You can also verify it, by issuing the following command.

[root@server ~]# java -version
java version “1.7.0_65″
OpenJDK Runtime Environment (rhel-2.5.1.2.el7_0-x86_64 u65-b17)
OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode)

Download & Setup Apache Tomcat:

Download the latest version of the Apache Tomcat from the website and save it on your home directory.

[root@server ~]# wget http://mirror.nexcess.net/apache/tomcat/tomcat-8/v8.0.9/bin/apache-tomcat-8.0.9.tar.gz

Download the MD5 file.

[root@server ~]# wget --no-check-certificate https://www.apache.org/dist/tomcat/tomcat-8/v8.0.9/bin/apache-tomcat-8.0.9.tar.gz.md5

Verify the md5 check sum of the downloaded Tomcat archive with check sum provided by Apache Tomcat.

[root@server ~]# cat apache-tomcat-8.0.9.tar.gz.md5
82140943a894d582e5b34eff79b8c776 *apache-tomcat-8.0.9.tar.gz
 
[root@server ~]# md5sum apache-tomcat-8.0.9.tar.gz
82140943a894d582e5b34eff79b8c776  apache-tomcat-8.0.9.tar.gz

If both matches, extract the the tomcat on to your desired (/var/local) directory.

[root@server ~]# tar -zxvf apache-tomcat-8.0.9.tar.gz -C /var/local/

Controlling Apache Tomcat:

Apache Tomcat can be started and stopped by the script which comes with package, start the Apache Tomcat.

[root@server ~]# /var/local/apache-tomcat-8.0.9/bin/startup.sh

you will get the following output.

Using CATALINA_BASE:   /var/local/apache-tomcat-8.0.9
Using CATALINA_HOME:   /var/local/apache-tomcat-8.0.9
Using CATALINA_TMPDIR: /var/local/apache-tomcat-8.0.9/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /var/local/apache-tomcat-8.0.9/bin/bootstrap.jar:/var/local/apache-tomcat-8.0.9/bin/tomcat-juli.jar
Tomcat started.

You can verify the service running, by default tomcat runs on port no 8080

[root@server ~]# netstat -antup | grep 8080
tcp        0      0 0.0.0.0:8080                0.0.0.0:*                   LISTEN      2476/java

Open the web browser and point to http://ipaddress:8080

CentOS 7 - Apache Tomcat 8 Default Page
CentOS 7 – Apache Tomcat 8 Default Page

Stop the Apache Tomcat.

[root@server ~]# /var/local/apache-tomcat-8.0.9/bin/shutdown.sh

Managing the Apache Tomcat:

Tomcat can be managed through the web-manager, the following can be done through that.
Deploy new application, deploy new application on specified context, list the active or in active applications, start and stop the web applications.

Web manager is password protected, requires user name and password to access. Only the user with the “manager-gui” role is allowed to access, these users and roles are defined in tomcat-users.xml. By default “manager-gui” role not defined that file, we need to add it manually.

[root@server ~]# vi /var/local/apache-tomcat-8.0.9/conf/tomcat-users.xml

Place the following two lines just above the last line.

<role rolename="manager-gui"/>
<user username="tomcat" password="tomcat" roles="manager-gui"/>

Start the tomcat, now tomcat user have access to the web manager.

CentOS 7 - Apache Tomcat 8 App Manager
CentOS 7 – Apache Tomcat 8 App Manager

Same like, you can define the other roles.