In the previous section, we have discussed the new enhancements in Apache Tomcat 7. Now, it's time to move on to the Tomcat installation.
Perform the following steps to download the software:
http://tomcat.apache.org/download-70.cgi
. By default, on http://tomcat.apache.org/, we get the latest stable version of Tomcat package and we have to download the package based on the operating system, where we want to install it.Once the download is complete, then you have to do the integrity check for the downloaded software using the MD5 checksum.
MD5 Message-Digest Algorithm is a widely used cryptographic hash function that produces a 128-bit (16 byte) hash value.
Following is the process to perform the integrity check using the MD5 checksum:
[root@localhost opt]# cksum apache-tomcat-7.0.12.zip
Tomcat comes with different packages for installation such as binary, source, and RPM. Based on the requirement, the package should be taken from the official site. Let's have a brief discussion on which package should be implemented in real time and why.
It comes with a pre-set library and customized configuration which are implemented and tested as per industry standards. A few advantages of using the binary package are:
RPM is defined as a system installer, which is developed and compiled on each OS independently. It has a pre-defined library, which will work only on the respective OS. A few advantages of using RPM are:
The only disadvantage is, we cannot configure multiple instances in a single operating system and it has predefined paths.
You can customize the installation based on your requirements using the source package. Suppose you want to customize during installation of the software, it can be done in this package.
Before we begin with the Apache Tomcat 7 installation, we have to configure the prerequisites and they are very important for the Tomcat 7 installation to start. Following are the prerequisites mentioned for Apache Tomcat 7:
Java has been developed by many vendors. Based on the application requirement and type of architecture, different JVMs are used by various applications. Common JDK vendors are IBM, HP, Sun, OpenJDK, and so on. Sun holds a major stake in IT industries. JDK is widely used and accepted across various IT industries.
JDK packages are available for each OS and can be compiled on any system using a common set of libraries. These packages are easily available on the Internet or already integrated with different OS vendors.
JDK/JRE comes in 32 bit and 64 bit editions, so we can use it based on the application requirement. Some of the performance characteristics of the 64 bit versus 32 bit Virtual Machine (VM) are:
In a 64 bit Java edition, you have to allocate more memory for JVM as compared to a 32 bit edition. In practice, a 64 bit Java requires 30 percent more memory than the 32 bit Java version.
In this topic, we will discuss the steps performed during installation of Java on Linux:
For more information about the version changes and releases, visit http://www.oracle.com/technetwork/java/javase/downloads/index.html.
We are doing the installation on the /opt
partition of the hard drive and the Java version we are using is Java(TM) SE Runtime Environment (build 1.6.0_24-b07).
/opt
(jdk-6u24-linux-i586.bin
).chmod 0755 jdk-6u24-linux-i586.bin
[root@localhost opt]# ./jdk-6u24-linux-i586.bin
jdk1.6.0_24
in /opt
. If the folder is present in /opt
, that means the installation is successfully done. See the following screenshot:Let's quickly go through the JDK directory structure, shown in the previous screenshot:
bin:
It contains the entire executable for the JDK for java, javac, jmap, and so on.jre:
It contains all the files necessary for Java to perform the function.lib:
As the name suggests, it's a library directory for the JDK.man:
This directory contains all the manual pages for Java (document directory).demo:
-This folder contains working examples of different utilities. These utilities can be directly used.sample:
This directory contains the code files for utilities provided in the demo directory.include:
It contains the header files for different functions used in Java.hdb:
It contains the entire component of the Derby Database. Derby is a pure Java relational database engine.In this topic, we will discuss the steps performed during installation of Java in the Windows operating system:
jdk-6u24-windows-i586.exe
is created in the download location. jdk-6u24-windows-i586.exe
file, installation of Java will begin. It will open a new pop-up window for installation. See the following screenshot: C:Program FilesJavajdk1.6.0_24
.After the installation of Java on a different OS, it's now time to set the environment variables for Tomcat at the OS level. In order to run Tomcat, we have to define the JAVA_HOME
as an environment variable and set the path for Java so that it can be accessed from any partition of OS.
JAVA_HOME
is the JDK install directory, for example, C:jdk6
. It is meant to be set as an environment variable and referenced in Windows batch files or Unix scripts. In Tomcat, JAVA_HOME
is defined in catalina.sh
under TOMCAT_HOME/bin
. The following screenshot shows the definition of JAVA_HOME
in Tomcat 7. Once you execute startup.sh
, it internally calls catalina.sh
and invokes JAVA_HOME
. In a production environment, it is always recommended to use the permanent environment variable.
The environment variable and path can be set in Windows by performing the following steps:
JAVA_HOME
, as shown in the following screenshot:After setting JAVA_HOME
, now it is time to add the Java path in the global path variable. Following is a detailed procedure, which needs to be followed for creating the global path variable in Windows:
The environment variable and path are set differently in Linux as compared to Windows. Perform the following steps to set the environment variable in Linux:
.bash_profile
using the vi editor for the root user. .bash_profile
. The highlighted code shows the declaration of JAVA_HOME
and PATH. export
will add the JAVA_HOME
and PATH
to the system parameter for every user login.# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ];then . ~/.bashrc
fi
# User specific environment and start-up programs
JAVA_HOME=/opt/jdk1.6.0_24
PATH=$JAVA_HOME/bin:$PATH:$HOME/bin
export PATH JAVA_HOME
unset USERNAME
.bash_profile
using the :wq
command. .bash_profile
, then you have to logout and re-log in to the environment to activate the changes using the following command:su - username
su - root (as our user is root)
Also, you can run the env
command to verify the environment variables are configured properly, as shown in the following screenshot:
It is always best practice to first take the backup of the existing profile. In case there are issues while doing the changes, then we can revert back the changes using the command cp
[root@localhost ~]# cp .bash_profile .bash_profile_backup.
Now we have set the environment variable for Windows and Linux environments, but how can we verify whether the environment is set properly or not?
Before we start installation of Apache Tomcat 7, let's quickly verify the environment variable on both the OSes.
In the Windows environment, variables can be verified using the following command:
echo %VARIABLE_NAME%
For JAVA_HOME:
C:Usersuser>echo %JAVA_HOME%
C:Program FilesJavajdk1.6.0_24
For PATH:
C:Usersuser>echo %PATH%
C:Program FilesPC Connectivity Solution;C:Windowssystem32;C:Windows;C:WindowsSystem32Wbem;C: Program FilesBroadcomBroadcom 802.11Driver;
C:Program FilesJavajdk1.6.0_24in
In Linux, we can use the following command to verify the environment variables:
echo $VARIABLE_NAME
For JAVA_HOME:
[root@localhost ~]# echo $JAVA_HOME
/opt/jdk1.6.0_24
For PATH:
[root@localhost ~]# echo $PATH
/opt/jdk1.6.0_24/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/ sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
After verifying the environment variable on both the OSes, we are sure that JAVA_HOME
and PATH
are properly set in the environment. We have completed the prerequisites of installation of Apache Tomcat 7. Now, we can proceed with the installation of Apache Tomcat 7.
Let's start the installation of Tomcat 7 on different OSes. The steps involved to install the software on Windows are discussed first, and then we move on to the Linux environment.
In this topic, we will discuss the steps involved during the software installation of Tomcat 7. Following are the steps:
apache-tomcat-7.0.14.exe
. It will launch the setup wizard.If you don't find the exe
file along with the downloaded folder, download it using the link, http://apache.osuosl.org/tomcat/tomcat-7/v7.0.23/bin/. Save the file in the apache-tomcat
folder.
admin
. Click on Next. JAVA_HOME
variable, if the variables are properly defined, as shown in the following screenshot: C:Program FilesApache Software FoundationTomcat 7.0
. In case we want to change it, then we have to click on Browse and select the desired path. Click on Install, as shown in the following screenshot:Installation of Tomcat 7 is quite simple in a Linux environment as compared to Windows. It can be done in just three steps:
/opt
location. Unzip the Tomcat 7 source, that is, apache-tomcat-7.0.12.zip
using the following command:[root@localhost opt]# unzip apache-tomcat-7.0.12.zip
apache-tomcat-7.0.12.zip
, it will create the directory named apache-tomcat-7.0.12
in the opt
directory. Go to the bin
directories of apache-tomcat-7.0.12
using the following command:[root@localhost opt]# cd apache-tomcat-7.0.12/bin/
[root@localhost bin]# chmod 0755 *.sh
[root@localhost bin]# pwd
/opt/apache-tomcat-7.0.12/bin
After this step, the installation of Tomcat is complete in Linux.
We have now completed the installation of Apache Tomcat on both the OSes. Now, it's time to start the services and verify the setup we have created up to now. So why waste time, let's rock and roll.
In Windows, we can start/stop the services using two methods:
The Linux startup process is completely different. Here, we have to run the startup/shutdown scripts manually to bring the services online. Let us start the services on Linux to verify the installation.
Before that, let's quickly verify the configuration. Tomcat 7 comes with different scripts, through which we will verify the complete installation. There is a very good script placed in the Tomcat bin
directory named as version.sh
, through which we can verify the complete Tomcat version and system information. Let's run the script using the following command:
[root@localhost bin]# ./version.sh
Using CATALINA_BASE: /opt/apache-tomcat-7.0.12
Using CATALINA_HOME: /opt/apache-tomcat-7.0.12
Using CATALINA_TMPDIR: /opt/apache-tomcat-7.0.12/temp
Using JRE_HOME: /opt/jdk1.6.0_24
Using CLASSPATH: /opt/apache-tomcat-7.0.12/bin/bootstrap.jar:/opt/apache-tomcat-7.0.12/bin/tomcat-juli.jar
Server version: Apache Tomcat/7.0.12
Server built: Apr 1 2011 06:13:02
Server number: 7.0.12.0
OS Name: Linux
OS Version: 2.6.18-8.el5
Architecture: i386
JVM Version: 1.6.0_24-b07
JVM Vendor: Sun Microsystems Inc.
There is one more script in the Tomcat bin
directory that is very useful. configtest.sh
is used to check any configuration changes in scripts. This script performs a quick configuration check on the system and finds the errors. Let's run the script using the following command:
[root@localhost bin]# ./configtest.sh
Using CATALINA_BASE: /opt/apache-tomcat-7.0.12
Using CATALINA_HOME: /opt/apache-tomcat-7.0.12
Using CATALINA_TMPDIR: /opt/apache-tomcat-7.0.12/temp
Using JRE_HOME: /opt/jdk1.6.0_24
Using CLASSPATH: /opt/apache-tomcat-7.0.12/bin/bootstrap.jar:/opt/apache-tomcat-7.0.12/bin/tomcat-juli.jar
May 22, 2011 4:06:16 PM org.apache.coyote.AbstractProtocolHandler init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
May 22, 2011 4:06:16 PM org.apache.coyote.AbstractProtocolHandler init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
May 22, 2011 4:06:16 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1401 ms
After doing the configuration check, start the Tomcat services. The Tomcat services can be started using the startup.sh
in the bin
directory.
To start the Tomcat services, you have to perform the following mentioned steps:
[root@localhost bin]# cd /opt/apache-tomcat-7.0.12/bin/
bin
directory, we will find the entire executable for Tomcat. To start the services, we have to use the following command. Once you execute the startup command, it will display the parameters which are essential for booting Tomcat. Some of them are CATALINA_BASE, CATALINA_HOME, JRE_HOME
, and so on.[root@localhost bin]# ./startup.sh
Using CATALINA_BASE: /opt/apache-tomcat-7.0.12
Using CATALINA_HOME: /opt/apache-tomcat-7.0.12
Using CATALINA_TMPDIR: /opt/apache-tomcat-7.0.12/temp
Using JRE_HOME: /opt/jdk1.6.0_24
Using CLASSPATH: /opt/apache-tomcat- 7.0.12/bin/bootstrap.jar:/opt/apache-tomcat-7.0.12/bin/ tomcat-juli.jar
A Tomcat shutdown script is also available in the bin
directory named as ./shutdown.sh
. Let's execute the script to know the output. The details are as follows:
[root@localhost bin]# cd /opt/apache-tomcat-7.0.12/bin/
[root@localhost bin]# ./shutdown.sh
Using CATALINA_BASE: /opt/apache-tomcat-7.0.12
Using CATALINA_HOME: /opt/apache-tomcat-7.0.12
Using CATALINA_TMPDIR: /opt/apache-tomcat-7.0.12/temp
Using JRE_HOME: /opt/jdk1.6.0_24
Using CLASSPATH: /opt/apache-tomcat- 7.0.12/bin/bootstrap.jar:/opt/apache-tomcat-7.0.12/bin/tomcat-juli.jar
Once we have executed the startup scripts, the next step is the verification of the Tomcat services, to check whether services are coming up fine or not. By default, Tomcat runs on HTTP port 8080 and can be accessed on the web browser using the URL, http://localhost:8080
. We then find the Tomcat welcome page, which shows that Tomcat is installed correctly and running fine in the environment, as shown in the following screenshot:
Once the welcome page for Tomcat 7 is displayed, we can verify the server status by clicking on Server Status.
It will prompt for the user ID/password. Remember, we have created a user admin that the user ID will be used here for access, as shown in the following screenshot:
98.82.120.188