Monday, December 14, 2009

Tomcat: Troubleshoot the Tomcat?

Installing JDK (Java Development Kit)

In order to run Tomcat, you will need to install JDK and set the JAVA_HOME environment variable to identify the location of the JDK environment on your system. I have chosen to use JDK 5.0.

1. You can download JDK 5.0 at

2. Click on Download JDK 5.0 Update 6 to go to the download page.

3. Click Accept to accept the license agreement.

4. Next choose the Linux self-extracting file. This is the download for the self-extracting binary file rather than the rpm.

5. Download to your preferred download directory. Change to that directory and make it executable by executing the following command:

chmod +x jdk-1_5_0_06-linux-i586.bin

6. Now execute the file:


7. You should now have a new directory called j2sdk1.5-sun. Now move this directory to the location where it should be run. I chose /usr/lib/.

mv j2sdk1.5-sun /usr/lib

8. Now create a symbolic link called jdk to JAVA_HOME by the following command. This allows you to easily switch back and forth between different jvms should you ever need to

cd /usr/lib

ln -s j2sdk1.5-sun jdk

8. Now we need to set the JAVA_HOME environment variable. Add the following at the end of /etc/profile just after export PATH.


export JAVA_HOME

/etc/profile is executed at startup and when a user logs into the system. In order to update the environment you will need to log out and log back in to the system.

10. Check to make sure JAVA_HOME is defined correctly by executing the command below. This should report the location of the Java SDK which should be /usr/lib/jdk.


11. Now test Java with the following command. You should be returned with /usr/bin/java. If so, you have successfully completed this section.

which java
export JAVA_HOME=/usr/java/jdk1.6.0_15
export PATH=$PATH:$HOME/bin:/bin:/usr/local/bin:/usr/bin:/usr/java/jdk1.6.0_15/bin/

Setting Tomcat

Download the binary version to your preferred download directory from here: Choose the tar.gz from the core section for 5.5.15.
Now change to that directory and extract the files using the following command:

cd /mydownloads (be sure to change to your download directory)

tar xvzf apache-tomcat-5.5.15.tar.gz

You should now have a new directory called apache-tomcat-5.5.15. Now move this directory to the location where it should be installed. Again, I chose /usr/lib/. Note that this location will be referred to as CATALINA_HOME in the Tomcat documentation.

mv apache-tomcat-5.5.15 /usr/lib

Next change to the /usr/lib/ directory.

cd /usr/lib

Now create a symbolic link called apache-tomcat to CATALINA_HOME by the following command.

ln -s apache-tomcat-5.5.15 apache-tomcat

[root@linuxguy bin]# echo $CATALINA_HOME
[root@linuxguy bin]# pwd

[root@linuxguy bin]# ./
The BASEDIR environment variable is not defined correctly
This environment variable is needed to run this program

How to troubleshoot?

[root@linuxguy bin]# chmod +x *.sh
[root@linuxguy bin]# ./
Using CATALINA_BASE: /usr/lib/apache-tomcat
Using CATALINA_HOME: /usr/lib/apache-tomcat
Using CATALINA_TMPDIR: /usr/lib/apache-tomcat/temp
Using JRE_HOME: /usr/java/jdk1.6.0_15
Using CLASSPATH: /usr/lib/apache-tomcat/bin/bootstrap.jar
[root@linuxguy bin]#
[root@linuxguy bin]#

1 comment:

  1. I want to add this too..

    How to check if Tomcat has started or not:

    [root@linuxguy bin]# ps -auxf | grep tomcat
    Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.3/FAQ
    root 23439 0.0 0.2 5568 632 pts/2 S+ 04:05 0:00 \_ grep tomcat
    root 23162 1.7 13.2 227380 33972 pts/2 Sl 04:00 0:05 /usr/java/jdk1.6.0_15/bin/java -Djava.util.logging.config.file=/usr/lib/apache-tomcat/conf/ -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/usr/lib/apache-tomcat/common/endorsed -classpath /usr/lib/apache-tomcat/bin/bootstrap.jar -Dcatalina.base=/usr/lib/apache-tomcat -Dcatalina.home=/usr/lib/apache-tomcat org.apache.catalina.startup.Bootstrap start
    [root@linuxguy bin]#