Introduction
Apache Tomcat is the servlet container that is used in the official Reference Implementation for the Java Servlet and JavaServer Pages technologies. The Java Servlet and JavaServer Pages specifications are developed by Sun under the Java Community Process.
Packages required
Java 2 SDK, Standard Edition v1.4.1-01 http://www.blackdown.org/java-linux/java-linux-d2.html
Ant 1.6.5 http://ant.apache.org/
JavaBeans Activation Framework http://java.sun.com/products/javabeans/glasgow/jaf.html
Javamail http://java.sun.com/products/javamail/
jakarta-tomcat-5.X http://jakarta.apache.org/site/downloads/downloads_tomcat-5.cgi
Installing Java 2 SDK
Untar/unzip j2sdk package
$cp j2sdk1.4.1 /usr/local/
$ln –s j2sdk1.4.1 j2sdk
set JAVA_HOME
$export JAVA_HOME=/usr/local/j2sdk
add PATH for java binary
$export PATH=$PATH:$JAVA_HOME/bin
verify javac command gives some output
root@tux:~# javac
Usage: javac
where possible options include:
-g Generate all debugging info
-g:none Generate no debugging info
-g:{lines,vars,source} Generate only some debugging info
Installing ANT
Untar ant-
$tar xvzf ant-
move untared directory this to /usr/local/ant
$mv ant-
set ANT_HOME
export ANT_HOME=/usr/local/ant
add PATH for ant binary
export PATH=$PATH:$ANT_HOME/bin
verify ant binary is on PATH
root@tux:~# ant
Buildfile: build.xml does not exist! (don’t worry about this message, this was just to check ant in on path or not)
Installing JavaBeans Activation Framework
$unzip jaf-
$cd jaf-
copy activation.jar to /usr/local/j2sdk/lib
$cp activation.jar /usr/local/j2sdk/lib
set CLASSPATH for this jar
$export $CLASSPATH=/usr/local/j2sdk/lib/activation.jar
Installing Javamail
$unzip javamail-
$cd javamail-
copy mail.jar to /usr/local/j2sdk/lib
$cp mail.jar /usr/local/j2sdk/lib
set CLASSPATH for this jar
export $CLASSPATH=$CLASSPATH:/usr/local/j2sdk/lib/mail.jar
All set for tomcat
Just again verify all environment variables
$echo $JAVA_HOME
$echo $ANT_HOME
$echo $PATH
$echo $CLASSPATH
now we have two options to install tomcat
1. using source
2. using binary
Tomcat Installation from source
Untar source
$tar xvzf jakarta-tomcat-5.x.x-src.tar.gz
$cd jakarta-tomcat-5.x.x
start building source
this build process is controlled by build.properties
add this content to it: # ----- Proxy setup -----
# Uncomment if using a proxy server.
#proxy.host=proxy.domain
#proxy.port=8080
#proxy.use=on
# ----- Default Base Path for Dependent Packages -----
# Replace this path with the directory path where
# dependencies binaries should be downloaded.
base.path
=/usr/share/java
$ant build
Buildfile: build.xml
check.source:
check.source.depends:
once this is done without any errors, copy build to appropriate location
$cp jakarta-tomcat-5.x.x/jakarta-tomcat-5/build /usr/local/tomcat
Installation done from source
Tomcat Installation from binary
Download and untar jakarta-tomcat-5.x.x.tar.gz
$tar xvzf jakarta-tomcat-5.x.x.tar.gz
move untared directory to /usr/local/tomcat
$mv jakarta-tomcat-5.x.x /usr/local/tomcat/
Installation done using binary.
Configuring Tomcat
Optionally set CATALINA_HOME to /usr/local/tomcat/
$export $CATALINA_HOME=/usr/local/tomcat/
make changes in configuration, go to conf dir
$cd /usr/local/tomcat/conf
to change port of tomcat edit server.xml Connector port="8080" tag
you can add various roles and assign these roles to different users by making changes in tomcat-users.xml
you can write a init script for tomcat startup/shutdown
#!/bin/sh
export JAVA_HOME=/usr/local/j2sdk
export PATH=$PATH:/usr/local/j2sdk/bin/
case "$1" in
start)
echo -n "Starting tomcat: "
/usr/local/tomcat/bin/startup.sh
;;
stop)
echo -n "Shutting down tomcat: "
/usr/local/tomcat/bin/shutdown.sh
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
exit 0
copy this content to /etc/init.d/tomcat.server
give execute permission
chmod +x /etc/init.d/tomcat.server
on debian do
$update-rc.d tomcat.server defaults
Testing setup
Start tomcat
root@tux:~# /etc/init.d/tomcat.server start
Starting tomcat: Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JAVA_HOME: /usr/local/jdk
Check in process list for successful startup
1834 pts/6 S 0:15 /usr/local/jdk/bin/java -Djava.endorsed.dirs=/usr/local/tomcat/common/endorsed -classpath /usr/loc
1835 pts/6 S 0:00 /usr/local/jdk/bin/java -Djava.endorsed.dirs=/usr/local/tomcat/common/endorsed -classpath /usr/loc
1836 pts/6 S 0:01 /usr/local/jdk/bin/java -Djava.endorsed.dirs=/usr/local/tomcat/common/endorsed -classpath /usr/loc
also verify it its listening on port specified in server.xml
root@tux:~# netstat -nap | grep java
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 11507/java
Shutdown tomcat
root@tux:~# /etc/init.d/tomcat.server stop
Shutting down tomcat: Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JAVA_HOME: /usr/local/jdk
Next open a browser and type http://
For eg http://machine:8080
You will see tomcat page
You can admin tomcat from http://
eg
http://machine:8080/admin
manager url http://
give username/password specified in tomcat-users.xml with admin/manager role
like