| # Apache Tomcat 7 Version 7.0.50, Dec 19 2013 |

Links Docs Home FAQ User Comments User Guide 1) Introduction 2) Setup 3) First webapp 4) Deployer 5) Manager 6) Realms and AAA 7) Security Manager 8) JNDI Resources 9) JDBC DataSources 10) Classloading 11) JSPs 12) SSL 13) SSI 14) CGI 15) Proxy Support 16) MBean Descriptor 17) Default Servlet 18) Clustering 19) Load Balancer 20) Connectors 21) Monitoring and Management 22) Logging 23) APR/Native 24) Virtual Hosting 25) Advanced IO 26) Additional Components 27) Mavenized 28) Security Considerations 29) Windows Service 30) Windows Authentication 31) Tomcat's JDBC Pool 32) WebSocket Reference Release Notes Configuration Tomcat Javadocs Servlet Javadocs JSP 2.2 Javadocs EL 2.2 Javadocs WebSocket 1.0 Javadocs JK 1.2 Documentation Apache Tomcat Development Building Changelog Status Developers Architecture Functional Specs. Tribes | # Tomcat Setup
Table of Contents
Introduction Windows Unix daemon
Introduction
There are several ways to set up Tomcat for running on different platforms. The main documentation for this is a file called RUNNING.txt. We encourage you to refer to that file if the information below does not answer some of your questions.
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 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 started when Windows starts. For optimal security, the service should be run as a separate user, with reduced permissions (see the Windows Services administration tool and its documentation). Java location: The installer will provide a default JRE to use to run the service. The installer uses the registry to determine the base path of a Java 6 or later JRE, including the JRE installed as part of the full JDK. When running on a 64-bit operating system, the installer will first look for a 64-bit JRE and only look for a 32-bit JRE if a 64-bit JRE is not found. It is not mandatory to use the default JRE detected by the installer. Any installed Java 6 or later JRE (32-bit or 64-bit) may be used. 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. Refer to the Windows Service HOW-TO for information on how to manage Tomcat as a Windows service. The installer will create shortcuts allowing starting and configuring Tomcat. It is important to note that the Tomcat administration web application can only be used when Tomcat is running.
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 commons-daemon-native.tar.gz
>         cd commons-daemon-1.0.x-native-src/unix
>         ./configure
>         make
>         cp jsvc ../..
>         cd ../..
> Tomcat can then be run as a daemon using the following commands.
>         CATALINA_BASE=$CATALINA_HOME
>         cd $CATALINA_HOME
>         ./bin/jsvc \
>             -classpath $CATALINA_HOME/bin/bootstrap.jar:$CATALINA_HOME/bin/tomcat-juli.jar \
>             -outfile $CATALINA_BASE/logs/catalina.out \
>             -errfile $CATALINA_BASE/logs/catalina.err \
>             -Dcatalina.home=$CATALINA_HOME \
>             -Dcatalina.base=$CATALINA_BASE \
>             -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager \
>             -Djava.util.logging.config.file=$CATALINA_BASE/conf/logging.properties \
>             org.apache.catalina.startup.Bootstrap
You may also need to specify `-jvm server` if the JVM defaults to using a server VM rather than a client VM. This has been observed on OSX. jsvc has other useful parameters, such as `-user` which causes it to switch to another user after the daemon initialization is complete. This allows, for example, running Tomcat as a non privileged user while still being able to use privileged ports. Note that if you use this option and start Tomcat as root, you'll need to disable the `org.apache.catalina.security.SecurityListener` check that prevents Tomcat starting when running as root. `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/daemon.sh` can be used as a template for starting Tomcat automatically at boot time from `/etc/init.d` with jsvc. Note that the Commons-Daemon JAR file must be on your runtime classpath to run Tomcat in this manner. The Commons-Daemon JAR file is in the Class-Path entry of the bootstrap.jar manifest, but if you get a ClassNotFoundException or a NoClassDefFoundError for a Commons-Daemon class, add the Commons-Daemon JAR to the -cp argument when launching jsvc.
Comments
Notice: This comments section collects your suggestions on improving documentation for Apache Tomcat. If you have trouble and need help, read Find Help page and ask your question on the tomcat-users mailing list. Do not ask such questions here. This is not a Q&A section. The Apache Comments System is explained here. Comments may be removed by our moderators if they are either implemented or considered invalid/off-topic.
Copyright © 1999-2013, Apache Software Foundation