Tuesday, October 8, 2013

Tomcat configurations

How to Install Tomcat on Linux ?


# Download and Install JAVA
Download j2sdk-<version> from Sun Download center http://developers.sun.com/downloads/
# chmod +x j2sdk-1_4_2_09-linux-i586.bin
# ./j2sdk-1_4_2_09-linux-i586.bin
Now set java home path
# vi .bash_profile
JAVA_HOME=/usr/local/j2sdk
Now Check if Java is installed on the server using command java -version
[root@map ~]# java -version
java version “1.6.0_07?
Java(TM) SE Runtime Environment (build 1.6.0_07-b06)
Java HotSpot(TM) Client VM (build 10.0-b23, mixed mode, sharing)
# Download Tomcat
Now Download Tomcat from Apache Website and extract it
http://tomcat.apache.org/download-55.cgi
# cd /usr/local/
#wget http://www.poolsaboveground.com/apache/tomcat/tomcat-6/v6.0.18/bin/apache-tomcat-6.0.18.tar.gz
# tar -zxvf apache-tomcat-6.0.18.tar.gz
Create Symlink for the Tomcat Folder
# ln -s /usr/local/apache-tomcat-6.0.18 /usr/local/apache/tomcat
# Install Tomcat
# cd apache-tomcat-6.0.18
# cd bin
# tar xvfz jsvc.tar.gz
# cd jsvc-src
# chmod +x configure
# ./configure
# make
# cp jsvc ..
# cd ..
Now set Cataline home path
# vi .bash_profile
CATALINA_HOME=/usr/loca/tomcat
JAVA=/usr/loca/j2sdk/bin
Save and exit
# Type following commands
# export JAVA_HOME=/usr/local/j2sdk
# export JAVA=/usr/local/j2sdk/bin
# export CATALINA=/usr/local/tomcat
# Start Tomcat
Use Following script to start Tomcat Service on the Server
# /usr/local/apache/tomcat/bin/startup.sh
# Running Tomcat as non root user
Due to security reasons always run tomcat as non-root user i.e. tomcat. To run it as tomcat first you will have to change the ownership of the tomcat folder
# chown -R tomcat.tomcat /usr/local/apache-tomcat-6.0.18
Now Tomcat can be stopped and started under user tomcat using following commands:
# su -l tomcat -c /usr/local/apache/tomcat/bin/startup.sh
# su -l tomcat -c /usr/local/apache/tomcat/bin/shutdown.sh
# Test Tomcat installation
open a browser and browse website http://xx.xx.xx.xx:8080 where xx.xx.xx.xx will be your Server IP and If you get Tomcat page than Tomcat has been installed properly on the Server.
# Creating Script to start, stop and restart Tomcat
The above installation step will not create tomcat service so that user can restart tomcat using command service tomcat restart. Create a new file in /etc/init.d as tomcat and copy following contenents into it.
# vi /etc/init.d/tomcat
#!/bin/bash
#
# Startup script for Tomcat
#
# chkconfig: 345 84 16
# description: Tomcat jakarta JSP server
# Necessary environment variables
export CATALINA_HOME=”/usr/local/tomcat”
if [ ! -f $CATALINA_HOME/bin/catalina.sh ]
then
echo “Tomcat not available…”
exit
fi
start() {
echo -n -e ‘\E[0;0m'"\033[1;32mStarting Tomcat: \033[0m \n"
su -l tomcat -c $CATALINA_HOME/bin/startup.sh
echo
touch /var/lock/subsys/tomcatd
sleep 3
}
stop() {
echo -n -e '\E[0;0m'"\033[1;31mShutting down Tomcat: \033[m \n"
su -l tomcat -c $CATALINA_HOME/bin/shutdown.sh
rm -f /var/lock/subsys/tomcatd
echo
}
status() {
ps ax --width=1000 | grep "[o]rg.apache.catalina.startup.Bootstrap start” | awk ‘{printf $1 ” “}’ | wc | awk ‘{print $2}’ > /tmp/tomcat_process_count.txt
read line < /tmp/tomcat_process_count.txt
if [ $line -gt 0 ]; then
echo -n “tomcatd ( pid ”
ps ax –width=1000 | grep “[o]rg.apache.catalina.startup.Bootstrap start” | awk ‘{printf $1 ” “}’
echo -n “) is running…”
echo
else
echo “Tomcat is stopped”
fi
}
case “$1? in
start)
start
;;
stop)
stop
;;
restart)
stop
sleep 3
start
;;
status)
status
;;
*)
echo “Usage: tomcatd {start|stop|restart|status}”
exit 1
esac
Now save and exit from the file. Now assign executable permission to this file
# chown 755 /etc/init.d/tomcat
Enable it for all the Run-levels
# chkconfig –add tomcat
# chkconfig tomcat on
Now you can restart tomcat service using following commands.
# service tomcat restart <<< To restart tomcat
# service tomcat stop <<< To stop Tomcat
# service tomcat start <<< To start Tomcat
# service tomcat Status <<< to check the status of Tomcat
Now you have successfully installed Tomcat.


Tomcat with Apache Integration on Linux server


# Installing and configuring mod_jk

To make connection between Tomcat and Apache, you will need to download and install mod_jk connector.
I chose to download the current source from the Apache archives:- http://archive.apache.org/dist/jakarta/tomcat-connectors/jk/source/jk-1.2.15/
[root@map007 /]# cd /usr/local
[root@map007 local]# wget http://archive.apache.org/dist/jakarta/tomcat-connectors/jk/source/jk-1.2.15/jakarta-tomcat-connectors-1.2.15-src.tar.gz
[root@map007 local]# tar -zxvf jakarta-tomcat-connectors-1.2.15-src.tar.gz
Change to the /usr/local/jakarta-tomcat-connectors-1.2.15-src/jk/native directory.
[root@map007 local]# cd jakarta-tomcat-connectors-1.2.15-src/jk/native
Now you are ready to create the custom configure file for your system. Execute the following:
[root@map007 local]# ./buildconf.sh
[root@map007 local]# ./configure –with-apxs=/usr/bin/apxs2
Now build the mod_jk with the following:
[root@map007 local]# make
Finally, if you were successful with the previous commands, copy the newly created mod_jk.soto your Apache2 modules directory. My modules were located at /usr/lib/apache2/modules.
[root@map007 /]# cp /usr/src/jakarta-tomcat-connectors-1.2.15-src/jk/native/apache-2.0/mod_jk.so /usr/lib/apache2/modules

# Configuring Tomcat and Apache

[root@map007 /]# vi /etc/apache2/workers.properties
workers.tomcat_home=/usr/lib/apache-tomcat
workers.java_home=/usr/lib/jdk
ps=/
worker.list=worker1
worker.default.port=8009
worker.default.host=localhost
worker.default.type=ajp13
worker.default.lbfactor=1
# Save and close the file.
# Now you have to configure httpd.conf file and following lines.
[root@map007 /]# vi /etc/apache2/httpd.conf
LoadModule jk_module /usr/lib/apache2/modules/mod_jk.so
# Where to find workers.properties
JkWorkersFile /etc/apache2/workers.properties
# Where to put jk logs
JkLogFile /var/log/apache2/mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel info
# Select the log format
JkLogStampFormat “[%a %b %d %H:%M:%S %Y] “
Save and close the file.
Now a final security point.
[root@map007 /]# chown -R tomcat:tomcat /usr/lib/apache-tomcat-5.5.16
# Now restart the Tomcat.
[root@map007 /]# cd /usr/local/tomcat/bin
[root@map007 bin]# ./shutdown.sh
[root@map007 bin]# ./startup.sh
And restart Apache:
[root@map007 /]# /etc/init.d/apache2 restart
You have Done all the Configurations.
Note :- Start Tomcat first: Always start Tomcat first and then start Apache.

References and paths:

Tomcat conf:
/usr/lib/apache-tomcat/conf/server.xml
Apache modules:
/usr/lib/apache2/modules
Apache conf:
/etc/apache2/workers.properties
/etc/apache2/httpd.conf
Tomcat stop and start:
cd /usr/local/apache-tomcat/bin
./shutdown.sh
./startup.sh
Apache2:
/etc/init.d/apache2 restart
/etc/init.d/apache2 stop
/etc/init.d/apache2 start

No comments:

Post a Comment