0% found this document useful (0 votes)
12 views3 pages

Apache Tomcat 9 - Tomcat Setup

The document provides instructions for setting up Apache Tomcat 9 (version 9.0.22) on Windows and Unix systems. It details the installation process, including running Tomcat as a Windows service and using the jsvc tool for Unix daemon setup. Additionally, it highlights configuration options and prerequisites for both platforms, along with troubleshooting resources.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views3 pages

Apache Tomcat 9 - Tomcat Setup

The document provides instructions for setting up Apache Tomcat 9 (version 9.0.22) on Windows and Unix systems. It details the installation process, including running Tomcat as a Windows service and using the jsvc tool for Unix daemon setup. Additionally, it highlights configuration options and prerequisites for both platforms, along with troubleshooting resources.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

7/27/2019 Apache Tomcat 9 (9.0.

22) - Tomcat Setup

Apache Tomcat 9
Version 9.0.22, Jul 4 2019

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 8 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 8 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.
Defaults: The defaults used by the installer may be overridden by use of the /C=<config file>
command line argument. The configuration file uses the format name=value with each pair on a
separate line. The names of the available configuration options are:
JavaHome
TomcatPortShutdown
TomcatPortHttp
TomcatPortAjp
TomcatMenuEntriesEnable
TomcatShortcutAllUsers
TomcatServiceDefaultName
TomcatServiceName
TomcatServiceFileName
TomcatServiceManagerFileName
TomcatAdminEnable
TomcatAdminUsername
TomcatAdminPassword
https://tomcat.apache.org/tomcat-9.0-doc/setup.html 1/3
7/27/2019 Apache Tomcat 9 (9.0.22) - Tomcat Setup

TomcatAdminRoles
By using /C=... along with /S and /D= it is possible to perform fully configured unattended
installs of Apache Tomcat.
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.1.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

When running on Java 9 you will need to additionally specify the following when starting jsvc to avoid
warnings on shutdown.

...
--add-opens=java.base/java.lang=ALL-UNNAMED \
--add-opens=java.base/java.io=ALL-UNNAMED \
--add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED \
...

https://tomcat.apache.org/tomcat-9.0-doc/setup.html 2/3
7/27/2019 Apache Tomcat 9 (9.0.22) - Tomcat Setup

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-2019, The Apache Software Foundation

https://tomcat.apache.org/tomcat-9.0-doc/setup.html 3/3

You might also like