Not big deal but I am bit tired to google for this script each time I setup new box. Now I know where to get it without spending two valuable extra minutes to google. First create /etc/rc.d/init.d/tomcatd :
#!/bin/bash
#
# Startup script for Tomcat
#
# chkconfig: 345 84 16
# description: Tomcat jakarta JSP server
TOMCAT_HOME=/usr/share/apache-tomcat-5.5.20
TOMCAT_START=$TOMCAT_HOME/bin/startup.sh
TOMCAT_STOP=$TOMCAT_HOME/bin/shutdown.sh
#Necessary environment variables
export JAVA_HOME=”/usr/share/jdk1.5.0_10?
export CATALINA_HOME=”/usr/share/apache-tomcat-5.5.20?
#export LD_KERNEL_ASSUME=”2.2.5?
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = “no” ] && exit 0
#Check for tomcat script
if [ ! -f $TOMCAT_HOME/bin/catalina.sh ]
then
echo “Tomcat not available…”
exit
fi
start() {
echo -n “Starting Tomcat: “
su - tomcat -c $TOMCAT_START
echo
touch /var/lock/subsys/tomcatd
# We may need to sleep here so it will be up for apache
sleep 3
#Instead should check to see if apache is up by looking for httpd.pid
}
stop() {
echo -n $”Shutting down Tomcat: “
su - tomcat -c $TOMCAT_STOP
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
Add user tomcat. Please note that it is normal user with his own home. Many times it was very useful.
adduser tomcat
Set JAVA_HOME for all users in /etc/profile.d/java.sh . When we run ’su – tomcat’ this script will set up our environment:
export JAVA_HOME=/usr/share/jdk1.5.0_10
Give enough permissions to tomacat:
chown tomcat /usr/share/apache-tomcat-5.5.20/ -R
Now you are able to run tomcat with
service tomcatd start
The last thing is to run it when system boots:
chkconfig –add tomcatd chkconfig tomcatd on
Done
June 6, 2007 at 12:28 pm
you forgot to add this
case “$1″ in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
reload)
reload
;;
status)
status
RETVAL=$?
;;
*)
echo $”Usage: $0 {start|stop|restart|reload|status}”
RETVAL=1
esac
August 20, 2008 at 12:17 am
And for beginning shell programmers watch the use of “ and ” that gave me an error until I cnverted all the “ to “(tx to vim)
I also changed these lines
export JAVA_HOME=”/usr/share/jdk1.5.0_10?
export CATALINA_HOME=”/usr/share/apache-tomcat-5.5.20?
to these
export JAVA_HOME=/usr/share/jdk1.5.0_10
export CATALINA_HOME=/usr/share/apache-tomcat-5.5.20
tx anyway ciao