■ Purpose : Configure apache-tomcat
■ OS Environment : Linux (RHEL, Centos)
■ Required Applications: JDk 1.7.0_03, Apache tomcat 6.0.35
■ Implementation Steps :
1. JDK setup :
$ pwd
/jdk1.7.0_03
$ export JAVA_HOME=/jdk1.7.0_03
$ export PATH=$JAVA_HOME/bin:$PATH
$ which java
/jdk1.7.0_03/bin/java
$ java -version
java version "1.7.0_03"
Java(TM) SE Runtime Environment (build 1.7.0_03-b04)
Java HotSpot(TM) 64-Bit Server VM (build 22.1-b02, mixed mode)
2. Apache Tomcat setup :
$ groupadd tomcat
$ useradd -g tomcat -s /usr/sbin/nologin -m -d /home/tomcat tomcat
$ cd /var/lib
$ tar zxvf /usr/local/src/apache-tomcat-6.0.35.tar.gz
$ chown -R tomcat.tomcat /var/lib/apache-tomcat-6.0.35
3. Verify tomcat version :
$ /var/lib/apache-tomcat-6.0.35/bin/version.sh
Output will look like below :
Using CATALINA_BASE: /var/lib/apache-tomcat-6.0.35
Using CATALINA_HOME: /var/lib/apache-tomcat-6.0.35
Using CATALINA_TMPDIR: /var/lib/apache-tomcat-6.0.35/temp
Using JRE_HOME: /jdk1.7.0_03
Using CLASSPATH: /var/lib/apache-tomcat-6.0.35/bin/bootstrap.jar
Server version: Apache Tomcat/6.0.35
Server built: Nov 28 2011 11:20:06
Server number: 6.0.35.0
OS Name: Linux
OS Version: 2.6.18-308.el5
Architecture: amd64
JVM Version: 1.7.0_03-b04
JVM Vendor: Oracle Corporation
4. Starting/Stopping Tomcat:
$ export CATALINA_HOME=/var/lib/apache-tomcat-6.0.35
$ export CATALINA_BASE=/var/lib/apache-tomcat-6.0.35
$ su -p -s /bin/sh tomcat $CATALINA_HOME/bin/startup.sh
You can make posix compliant script to run above script during booting. Export can be mentioned in root user's profile.
Output will look like :
Using CATALINA_BASE: /var/lib/apache-tomcat-6.0.35
Using CATALINA_HOME: /var/lib/apache-tomcat-6.0.35
Using CATALINA_TMPDIR: /var/lib/apache-tomcat-6.0.35/temp
Using JRE_HOME: /jdk1.7.0_03
Using CLASSPATH: /var/lib/apache-tomcat-6.0.35/bin/bootstrap.jar
5. Check if tomcat process is running or not :
$ ps aux |grep java
tomcat 10711 9.4 10.1 463404 51696 pts/1 Sl 18:58 0:02 /jdk1.7.0_03/bin/java -Djava.util.logging.config.file=/var/lib/apache-tomcat-6.0.35/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/var/lib/apache-tomcat-6.0.35/endorsed -classpath /var/lib/apache-tomcat-6.0.35/bin/bootstrap.jar -Dcatalina.base=/var/lib/apache-tomcat-6.0.35 -Dcatalina.home=/var/lib/apache-tomcat-6.0.35 -Djava.io.tmpdir=/var/lib/apache-tomcat-6.0.35/temp org.apache.catalina.startup.Bootstrap start
root 10730 0.0 0.1 61232 724 pts/1 R+ 18:58 0:00 grep java
6. Shutdown tomcat application :
$ su -p -s /bin/sh tomcat $CATALINA_HOME/bin/shutdown.sh
Output will look like :
Using CATALINA_BASE: /var/lib/apache-tomcat-6.0.35
Using CATALINA_HOME: /var/lib/apache-tomcat-6.0.35
Using CATALINA_TMPDIR: /var/lib/apache-tomcat-6.0.35/temp
Using JRE_HOME: /jdk1.7.0_03
Using CLASSPATH: /var/lib/apache-tomcat-6.0.35/bin/bootstrap.jar
$ ps aux |grep java
root 10763 0.0 0.1 61232 724 pts/1 R+ 18:59 0:00 grep java
7. Switching to Tomcat User Account :
$ su - -s /bin/sh tomcat
$ id
uid=502(tomcat) gid=503(tomcat) groups=503(tomcat) context=root:system_r:unconfined_t:SystemLow-SystemHigh
Control+D to exit from tomcat shell
8. Setting Up First Tomcat JVM Instance :
$ mkdir -p /opt/tomcat-instance/sales.example.com
$ cd /opt/tomcat-instance/sales.example.com
$ cp -a /var/lib/apache-tomcat-6.0.35/conf .
$ mkdir common logs temp server shared webapps work
$ chown -R tomcat.tomcat /opt/tomcat-instance
9. Environment setup for instance :
$ su - -s /bin/sh tomcat
$ id
uid=1001(tomcat) gid=1001(tomcat) groups=1001(tomcat)
$ pwd
/home/tomcat
$ whoami
tomcat
$ cat /opt/tomcat-instance/sales.env
export JAVA_HOME=/jdk1.7.0_03
export PATH=\$JAVA_HOME/bin:\$PATH
export CATALINA_HOME=/var/lib/apache-tomcat-6.0.35
export CATALINA_BASE=/opt/tomcat-instance/sales.example.com
10. Configuring Tomcat Network Ports : Since this is the first Tomcat instance that's being created here, the default port numbers can be left unchanged in $CATALINA_BASE/conf/server.xml (/opt/tomcat-instance/sales.example.com/conf/server.xml):
11. Starting First Tomcat Instance :
$ source /opt/tomcat-instance/sales.env
$ $CATALINA_HOME/bin/startup.sh
Output will look like :
Using CATALINA_BASE: /opt/tomcat-instance/sales.example.com
Using CATALINA_HOME: /var/lib/apache-tomcat-6.0.35
Using CATALINA_TMPDIR: /opt/tomcat-instance/sales.example.com/temp
Using JRE_HOME: /jdk1.7.0_03
Using CLASSPATH: /var/lib/apache-tomcat-6.0.35/bin/bootstrap.jar
12. Setting Up a Web Application for First Tomcat JVM Instance :
$ vi $CATALINA_BASE/conf/server.xml :
docBase attribute is set to mysales which stands for the application name within the URL, i.e. "http://serverip/mysales" or "http://serverip:8080/mysales".
13. Setup home page for web Application :
$ cat $CATALINA_BASE/webapps/sales/index.html
"http://www.w3.org/TR/html4/loose.dtd"
14. Restart First Tomcat Instance :
$ source /opt/tomcat-instance/sales.env
$ $CATALINA_HOME/bin/shutdown.sh
$ $CATALINA_HOME/bin/startup.sh
14. Test :
Access http://serverip/mysales/ , you'll see "Apache Tomcat Sales Home Page".
15. Deploying Java Servlet for Web Application in First Tomcat JVM Instance :
a. Setting up Java Servlet Layout :
$ mkdir -p $CATALINA_BASE/webapps/sales/WEB-INF/classes
$ mkdir $CATALINA_BASE/webapps/sales/WEB-INF/lib
b. Create a Java Servlet :
vi $CATALINA_BASE/webapps/sales/WEB-INF/classes/Sales.java and put following entries in this file :
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class Sales extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("");
out.println("");
out.println("Sales Page ");
out.println("");
out.println("");
out.println("
out.println("");
out.println("");
}
}
c. Compile above java program :
$ cd $CATALINA_BASE/webapps/sales/WEB-INF/classes
$ javac -classpath "$CATALINA_HOME/lib/*" Sales.java
$ ls
Sales.class Sales.java
d. Configuring the Java Servlet :
$ cat $CATALINA_BASE/webapps/sales/WEB-INF/web.xml
servlet_sales
Sales servlet_sales
/execute
e. Modify index.html & put some entries :
$ vi $CATALINA_BASE/webapps/sales/index.html
16. Testing and Executing the Java Servlet :
$ source /opt/tomcat-instance/sales.env
$ $CATALINA_HOME/bin/shutdown.sh
$ $CATALINA_HOME/bin/startup.sh
17. Out of http://serverip/mysales/ will be
Apache Tomcat Sales Home Page
Execute Sales
Now click on "Execute Sales", you'll see following :
Executing Sales ...
■ OS Environment : Linux (RHEL, Centos)
■ Required Applications: JDk 1.7.0_03, Apache tomcat 6.0.35
■ Implementation Steps :
1. JDK setup :
$ pwd
/jdk1.7.0_03
$ export JAVA_HOME=/jdk1.7.0_03
$ export PATH=$JAVA_HOME/bin:$PATH
$ which java
/jdk1.7.0_03/bin/java
$ java -version
java version "1.7.0_03"
Java(TM) SE Runtime Environment (build 1.7.0_03-b04)
Java HotSpot(TM) 64-Bit Server VM (build 22.1-b02, mixed mode)
2. Apache Tomcat setup :
$ groupadd tomcat
$ useradd -g tomcat -s /usr/sbin/nologin -m -d /home/tomcat tomcat
$ cd /var/lib
$ tar zxvf /usr/local/src/apache-tomcat-6.0.35.tar.gz
$ chown -R tomcat.tomcat /var/lib/apache-tomcat-6.0.35
3. Verify tomcat version :
$ /var/lib/apache-tomcat-6.0.35/bin/version.sh
Output will look like below :
Using CATALINA_BASE: /var/lib/apache-tomcat-6.0.35
Using CATALINA_HOME: /var/lib/apache-tomcat-6.0.35
Using CATALINA_TMPDIR: /var/lib/apache-tomcat-6.0.35/temp
Using JRE_HOME: /jdk1.7.0_03
Using CLASSPATH: /var/lib/apache-tomcat-6.0.35/bin/bootstrap.jar
Server version: Apache Tomcat/6.0.35
Server built: Nov 28 2011 11:20:06
Server number: 6.0.35.0
OS Name: Linux
OS Version: 2.6.18-308.el5
Architecture: amd64
JVM Version: 1.7.0_03-b04
JVM Vendor: Oracle Corporation
4. Starting/Stopping Tomcat:
$ export CATALINA_HOME=/var/lib/apache-tomcat-6.0.35
$ export CATALINA_BASE=/var/lib/apache-tomcat-6.0.35
$ su -p -s /bin/sh tomcat $CATALINA_HOME/bin/startup.sh
You can make posix compliant script to run above script during booting. Export can be mentioned in root user's profile.
Output will look like :
Using CATALINA_BASE: /var/lib/apache-tomcat-6.0.35
Using CATALINA_HOME: /var/lib/apache-tomcat-6.0.35
Using CATALINA_TMPDIR: /var/lib/apache-tomcat-6.0.35/temp
Using JRE_HOME: /jdk1.7.0_03
Using CLASSPATH: /var/lib/apache-tomcat-6.0.35/bin/bootstrap.jar
5. Check if tomcat process is running or not :
$ ps aux |grep java
tomcat 10711 9.4 10.1 463404 51696 pts/1 Sl 18:58 0:02 /jdk1.7.0_03/bin/java -Djava.util.logging.config.file=/var/lib/apache-tomcat-6.0.35/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/var/lib/apache-tomcat-6.0.35/endorsed -classpath /var/lib/apache-tomcat-6.0.35/bin/bootstrap.jar -Dcatalina.base=/var/lib/apache-tomcat-6.0.35 -Dcatalina.home=/var/lib/apache-tomcat-6.0.35 -Djava.io.tmpdir=/var/lib/apache-tomcat-6.0.35/temp org.apache.catalina.startup.Bootstrap start
root 10730 0.0 0.1 61232 724 pts/1 R+ 18:58 0:00 grep java
6. Shutdown tomcat application :
$ su -p -s /bin/sh tomcat $CATALINA_HOME/bin/shutdown.sh
Output will look like :
Using CATALINA_BASE: /var/lib/apache-tomcat-6.0.35
Using CATALINA_HOME: /var/lib/apache-tomcat-6.0.35
Using CATALINA_TMPDIR: /var/lib/apache-tomcat-6.0.35/temp
Using JRE_HOME: /jdk1.7.0_03
Using CLASSPATH: /var/lib/apache-tomcat-6.0.35/bin/bootstrap.jar
$ ps aux |grep java
root 10763 0.0 0.1 61232 724 pts/1 R+ 18:59 0:00 grep java
7. Switching to Tomcat User Account :
$ su - -s /bin/sh tomcat
$ id
uid=502(tomcat) gid=503(tomcat) groups=503(tomcat) context=root:system_r:unconfined_t:SystemLow-SystemHigh
Control+D to exit from tomcat shell
8. Setting Up First Tomcat JVM Instance :
$ mkdir -p /opt/tomcat-instance/sales.example.com
$ cd /opt/tomcat-instance/sales.example.com
$ cp -a /var/lib/apache-tomcat-6.0.35/conf .
$ mkdir common logs temp server shared webapps work
$ chown -R tomcat.tomcat /opt/tomcat-instance
9. Environment setup for instance :
$ su - -s /bin/sh tomcat
$ id
uid=1001(tomcat) gid=1001(tomcat) groups=1001(tomcat)
$ pwd
/home/tomcat
$ whoami
tomcat
$ cat /opt/tomcat-instance/sales.env
export JAVA_HOME=/jdk1.7.0_03
export PATH=\$JAVA_HOME/bin:\$PATH
export CATALINA_HOME=/var/lib/apache-tomcat-6.0.35
export CATALINA_BASE=/opt/tomcat-instance/sales.example.com
10. Configuring Tomcat Network Ports : Since this is the first Tomcat instance that's being created here, the default port numbers can be left unchanged in $CATALINA_BASE/conf/server.xml (/opt/tomcat-instance/sales.example.com/conf/server.xml):
11. Starting First Tomcat Instance :
$ source /opt/tomcat-instance/sales.env
$ $CATALINA_HOME/bin/startup.sh
Using CATALINA_BASE: /opt/tomcat-instance/sales.example.com
Using CATALINA_HOME: /var/lib/apache-tomcat-6.0.35
Using CATALINA_TMPDIR: /opt/tomcat-instance/sales.example.com/temp
Using JRE_HOME: /jdk1.7.0_03
Using CLASSPATH: /var/lib/apache-tomcat-6.0.35/bin/bootstrap.jar
12. Setting Up a Web Application for First Tomcat JVM Instance :
$ vi $CATALINA_BASE/conf/server.xml :
13. Setup home page for web Application :
$ cat $CATALINA_BASE/webapps/sales/index.html
14. Restart First Tomcat Instance :
$ source /opt/tomcat-instance/sales.env
$ $CATALINA_HOME/bin/shutdown.sh
14. Test :
Access http://serverip/mysales/ , you'll see "Apache Tomcat Sales Home Page".
15. Deploying Java Servlet for Web Application in First Tomcat JVM Instance :
a. Setting up Java Servlet Layout :
$ mkdir -p $CATALINA_BASE/webapps/sales/WEB-INF/classes
b. Create a Java Servlet :
vi $CATALINA_BASE/webapps/sales/WEB-INF/classes/Sales.java and put following entries in this file :
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class Sales extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("");
out.println("");
out.println("
out.println("");
out.println("");
out.println("
Executing Sales ...
");out.println("");
out.println("");
}
}
c. Compile above java program :
$ cd $CATALINA_BASE/webapps/sales/WEB-INF/classes
$ javac -classpath "$CATALINA_HOME/lib/*" Sales.java
$ ls
Sales.class Sales.java
d. Configuring the Java Servlet :
$ cat $CATALINA_BASE/webapps/sales/WEB-INF/web.xml
e. Modify index.html & put some entries :
$ vi $CATALINA_BASE/webapps/sales/index.html
16. Testing and Executing the Java Servlet :
$ source /opt/tomcat-instance/sales.env
$ $CATALINA_HOME/bin/shutdown.sh
$ $CATALINA_HOME/bin/startup.sh
17. Out of http://serverip/mysales/ will be
Apache Tomcat Sales Home Page
Execute Sales
Now click on "Execute Sales", you'll see following :
Executing Sales ...