Tomcat Setup
Unix daemon
Tomcat can be run as a daemon using the jsvc tool from the commons-daemon project. Source tarballs for jsvc are included with the Tomcat binaries, and need to be compiled. Building jsvc requires a C ANSI compiler (such as GCC), GNU Autoconf, and a JDK.
Before running the script, the JAVA_HOME environment variable should be set to the base path of the JDK. Alternately, when calling the ./configure script, the path of the JDK may be specified using the --with-java parameter, such as...
./configure --with-java=/usr/javaUsing the following commands should result in a compiled jsvc binary, located in the...
$CATALINA_HOME/bin folderThis assumes that GNU TAR is used, and that CATALINA_HOME is an environment variable pointing to the base path of the Tomcat installation.
Please note that you should use the GNU make (gmake) instead of the native BSD make on FreeBSD systems.
cd $CATALINA_HOME/bin tar xvfz jsvc.tar.gz cd jsvc-src autoconf ./configure make cp jsvc .. cd ..Tomcat can then be run as a daemon using the following commands.
cd $CATALINA_HOME ./bin/jsvc -Djava.endorsed.dirs=./common/endorsed \ -cp ./bin/bootstrap.jar \ -outfile ./logs/catalina.out \ -errfile ./logs/catalina.err \ org.apache.catalina.startup.Bootstrapjsvc has other useful parameters, such as -user which causes to switch to another user after the daemon initialization is complete. This allows, for example, running Tomcat as a non priviledged user while still being able to use privileged ports. jsvc --help will return the full jsvc usage information. In particular, the -debug option is useful to debug issues running jsvc.
The file...
$CATALINA_HOME/bin/jsvc/native/tomcat.sh...can be used as a template for starting Tomcat automatically at boot time from /etc/init.d. The file is currently setup for running Tomcat 4.1.x, so it is necessary to edit it and change the classname from BootstrapService to Bootstrap.