# The Apache Jakarta Tomcat 5 Servlet/JSP Container

## Tomcat Setup

Introduction

Windows

> Installing Tomcat on Windows can be done easily using the Windows installer. Its interface and functionality is similar to other wizard based installers, with only a few items of interest.

> - Installation as a service: Tomcat will be installed as a Windows NT/2k/XP service no matter what setting is selected. Using the checkbox on the component page sets the service as "auto" startup, so that Tomcat is automatically startup when Windows starts. For optimal security, the service should be affected a separate user, with reduced permissions (see the Windows Services administration tool and its documentation).
> - Java location: The installer will use the registry or the JAVA_HOME environment variable to determine the base path of the JDK or a JRE. If only a JRE (or an incorrect path) is specified, Tomcat will run but will be unable to compile JSP pages at runtime. Either all webapps will need to be precompiled (this can be easily done using the Tomcat deployer), or the `lib\tools.jar` file from a JDK installation must be copied to the `common\lib` path of the Tomcat installation.
> - Tray icon: When Tomcat is run as a service, there will not be any tray icon present when Tomcat is running. Note that when choosing to run Tomcat at the end of installation, the tray icon will be used even if Tomcat was installed as a service.

> The installer will create shortcuts allowing starting and configuring Tomcat. It is important to note that Tomcat administration web application can only be used when Tomcat is started.

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/java`.

> Using the following commands should result in a compiled jsvc binary, located in the `$CATALINA_HOME/bin` folder. This 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.Bootstrap

> jsvc 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`.

Copyright © 1999-2003, Apache Software Foundation