| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477 | 
							- ================================================================================
 
-   Licensed to the Apache Software Foundation (ASF) under one or more
 
-   contributor license agreements.  See the NOTICE file distributed with
 
-   this work for additional information regarding copyright ownership.
 
-   The ASF licenses this file to You under the Apache License, Version 2.0
 
-   (the "License"); you may not use this file except in compliance with
 
-   the License.  You may obtain a copy of the License at
 
-       http://www.apache.org/licenses/LICENSE-2.0
 
-   Unless required by applicable law or agreed to in writing, software
 
-   distributed under the License is distributed on an "AS IS" BASIS,
 
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 
-   See the License for the specific language governing permissions and
 
-   limitations under the License.
 
- ================================================================================
 
-             ===================================================
 
-             Running The Apache Tomcat 8.5 Servlet/JSP Container
 
-             ===================================================
 
- Apache Tomcat 8.5 requires a Java Standard Edition Runtime
 
- Environment (JRE) version 7 or later.
 
- =============================
 
- Running With JRE 7 Or Later
 
- =============================
 
- (1) Download and Install a Java SE Runtime Environment (JRE)
 
- (1.1) Download a Java SE Runtime Environment (JRE),
 
-       release version 7 or later, from
 
-       http://www.oracle.com/technetwork/java/javase/downloads/index.html
 
- (1.2) Install the JRE according to the instructions included with the
 
-       release.
 
-       You may also use a full Java Development Kit (JDK) rather than just
 
-       a JRE.
 
- (2) Download and Install Apache Tomcat
 
- (2.1) Download a binary distribution of Tomcat from:
 
-       https://tomcat.apache.org/
 
- (2.2) Unpack the binary distribution so that it resides in its own
 
-       directory (conventionally named "apache-tomcat-[version]").
 
-       For the purposes of the remainder of this document, the name
 
-       "CATALINA_HOME" is used to refer to the full pathname of that
 
-       directory.
 
- NOTE:  As an alternative to downloading a binary distribution, you can
 
- create your own from the Tomcat source code, as described in
 
- "BUILDING.txt".  You can either
 
-   a)  Do the full "release" build and find the created distribution in the
 
-       "output/release" directory and then proceed with unpacking as above, or
 
-   b)  Do a simple build and use the "output/build" directory as
 
-       "CATALINA_HOME".  Be warned that there are some differences between the
 
-       contents of the "output/build" directory and a full "release"
 
-       distribution.
 
- (3) Configure Environment Variables
 
- Tomcat is a Java application and does not use environment variables directly.
 
- Environment variables are used by the Tomcat startup scripts. The scripts use
 
- the environment variables to prepare the command that starts Tomcat.
 
- (3.1) Set CATALINA_HOME (required) and CATALINA_BASE (optional)
 
- The CATALINA_HOME environment variable should be set to the location of the
 
- root directory of the "binary" distribution of Tomcat.
 
- The Tomcat startup scripts have some logic to set this variable
 
- automatically if it is absent, based on the location of the startup script
 
- in *nix and on the current directory in Windows. That logic might not work
 
- in all circumstances, so setting the variable explicitly is recommended.
 
- The CATALINA_BASE environment variable specifies location of the root
 
- directory of the "active configuration" of Tomcat. It is optional. It
 
- defaults to be equal to CATALINA_HOME.
 
- Using distinct values for the CATALINA_HOME and CATALINA_BASE variables is
 
- recommended to simplify further upgrades and maintenance. It is documented
 
- in the "Multiple Tomcat Instances" section below.
 
- (3.2) Set JRE_HOME or JAVA_HOME (required)
 
- These variables are used to specify location of a Java Runtime
 
- Environment or of a Java Development Kit that is used to start Tomcat.
 
- The JRE_HOME variable is used to specify location of a JRE. The JAVA_HOME
 
- variable is used to specify location of a JDK.
 
- Using JAVA_HOME provides access to certain additional startup options that
 
- are not allowed when JRE_HOME is used.
 
- If both JRE_HOME and JAVA_HOME are specified, JRE_HOME is used.
 
- The recommended place to specify these variables is a "setenv" script. See
 
- below.
 
- (3.3) Other variables (optional)
 
- Other environment variables exist, besides the four described above.
 
- See the comments at the top of catalina.bat or catalina.sh scripts for
 
- the list and a description of each of them.
 
- One frequently used variable is CATALINA_OPTS. It allows specification of
 
- additional options for the java command that starts Tomcat.
 
- See the Java documentation for the options that affect the Java Runtime
 
- Environment.
 
- See the "System Properties" page in the Tomcat Configuration Reference for
 
- the system properties that are specific to Tomcat.
 
- A similar variable is JAVA_OPTS. It is used less frequently. It allows
 
- specification of options that are used both to start and to stop Tomcat as well
 
- as for other commands.
 
- Note: Do not use JAVA_OPTS to specify memory limits. You do not need much
 
- memory for a small process that is used to stop Tomcat. Those settings
 
- belong to CATALINA_OPTS.
 
- Another frequently used variable is CATALINA_PID (on *nix only). It
 
- specifies the location of the file where process id of the forked Tomcat
 
- java process will be written. This setting is optional. It will enable the
 
- following features:
 
-  *  better protection against duplicate start attempts and
 
-  *  allows forceful termination of Tomcat process when it does not react to
 
-     the standard shutdown command.
 
- (3.4) Using the "setenv" script (optional, recommended)
 
- Apart from CATALINA_HOME and CATALINA_BASE, all environment variables can
 
- be specified in the "setenv" script. The script is placed either into
 
- CATALINA_BASE/bin or into CATALINA_HOME/bin directory and is named
 
- setenv.bat (on Windows) or setenv.sh (on *nix). The file has to be
 
- readable.
 
- By default the setenv script file is absent. If the script file is present
 
- both in CATALINA_BASE and in CATALINA_HOME, the one in CATALINA_BASE is
 
- preferred.
 
- For example, to configure the JRE_HOME and CATALINA_PID variables you can
 
- create the following script file:
 
- On Windows, %CATALINA_BASE%\bin\setenv.bat:
 
-   set "JRE_HOME=%ProgramFiles%\Java\jre7"
 
-   exit /b 0
 
- On *nix, $CATALINA_BASE/bin/setenv.sh:
 
-   JRE_HOME=/usr/java/latest
 
-   CATALINA_PID="$CATALINA_BASE/tomcat.pid"
 
- The CATALINA_HOME and CATALINA_BASE variables cannot be configured in the
 
- setenv script, because they are used to locate that file.
 
- All the environment variables described here and the "setenv" script are
 
- used only if you use the standard scripts to launch Tomcat. For example, if
 
- you have installed Tomcat as a service on Windows, the service wrapper
 
- launches Java directly and does not use the script files.
 
- (4) Start Up Tomcat
 
- (4.1) Tomcat can be started by executing one of the following commands:
 
-   On Windows:
 
-       %CATALINA_HOME%\bin\startup.bat
 
-     or
 
-       %CATALINA_HOME%\bin\catalina.bat start
 
-   On *nix:
 
-       $CATALINA_HOME/bin/startup.sh
 
-     or
 
-       $CATALINA_HOME/bin/catalina.sh start
 
- (4.2) After startup, the default web applications included with Tomcat will be
 
-       available by visiting:
 
-       http://localhost:8080/
 
- (4.3) Further information about configuring and running Tomcat can be found in
 
-       the documentation included here, as well as on the Tomcat web site:
 
-       https://tomcat.apache.org/
 
- (5) Shut Down Tomcat
 
- (5.1) Tomcat can be shut down by executing one of the following commands:
 
-   On Windows:
 
-       %CATALINA_HOME%\bin\shutdown.bat
 
-     or
 
-       %CATALINA_HOME%\bin\catalina.bat stop
 
-   On *nix:
 
-       $CATALINA_HOME/bin/shutdown.sh
 
-     or
 
-       $CATALINA_HOME/bin/catalina.sh stop
 
- ==================================================
 
- Advanced Configuration - Multiple Tomcat Instances
 
- ==================================================
 
- In many circumstances, it is desirable to have a single copy of a Tomcat
 
- binary distribution shared among multiple users on the same server.  To make
 
- this possible, you can set the CATALINA_BASE environment variable to the
 
- directory that contains the files for your 'personal' Tomcat instance.
 
- When running with a separate CATALINA_HOME and CATALINA_BASE, the files
 
- and directories are split as following:
 
- In CATALINA_BASE:
 
-  * bin  - Only the following files:
 
-            * setenv.sh (*nix) or setenv.bat (Windows),
 
-            * tomcat-juli.jar
 
-           The setenv scripts were described above. The tomcat-juli library
 
-           is documented in the Logging chapter in the User Guide.
 
-  * conf - Server configuration files (including server.xml)
 
-  * lib  - Libraries and classes, as explained below
 
-  * logs - Log and output files
 
-  * webapps - Automatically loaded web applications
 
-  * work - Temporary working directories for web applications
 
-  * temp - Directory used by the JVM for temporary files (java.io.tmpdir)
 
- In CATALINA_HOME:
 
-  * bin  - Startup and shutdown scripts
 
-           The following files will be used only if they are absent in
 
-           CATALINA_BASE/bin:
 
-           setenv.sh (*nix), setenv.bat (Windows), tomcat-juli.jar
 
-  * lib  - Libraries and classes, as explained below
 
-  * endorsed - Libraries that override standard "Endorsed Standards"
 
-               libraries provided by JRE. See Classloading documentation
 
-               in the User Guide for details.
 
-               This is only supported for Java <= 8.
 
-               By default this "endorsed" directory is absent.
 
- In the default configuration the JAR libraries and classes both in
 
- CATALINA_BASE/lib and in CATALINA_HOME/lib will be added to the common
 
- classpath, but the ones in CATALINA_BASE will be added first and thus will
 
- be searched first.
 
- The idea is that you may leave the standard Tomcat libraries in
 
- CATALINA_HOME/lib and add other ones such as database drivers into
 
- CATALINA_BASE/lib.
 
- In general it is advised to never share libraries between web applications,
 
- but put them into WEB-INF/lib directories inside the applications. See
 
- Classloading documentation in the User Guide for details.
 
- It might be useful to note that the values of CATALINA_HOME and
 
- CATALINA_BASE can be referenced in the XML configuration files processed
 
- by Tomcat as ${catalina.home} and ${catalina.base} respectively.
 
- For example, the standard manager web application can be kept in
 
- CATALINA_HOME/webapps/manager and loaded into CATALINA_BASE by copying
 
- its deployment descriptor into the desired virtual host:
 
-  * Copy the CATALINA_HOME/webapps/manager/META-INF/context.xml
 
-    file as CATALINA_BASE/conf/Catalina/localhost/manager.xml
 
-  * Add docBase attribute as shown below.
 
- The file will look like the following:
 
-   <?xml version="1.0" encoding="UTF-8"?>
 
-   <Context docBase="${catalina.home}/webapps/manager"
 
-     antiResourceLocking="false" privileged="true" >
 
-     <Valve className="org.apache.catalina.valves.RemoteAddrValve"
 
-          allow="127\.0\.0\.1" />
 
-     <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
 
-   </Context>
 
- See Deployer chapter in User Guide and Context and Host chapters in the
 
- Configuration Reference for more information on contexts and web
 
- application deployment.
 
- ================
 
- Troubleshooting
 
- ================
 
- There are only really 2 things likely to go wrong during the stand-alone
 
- Tomcat install:
 
- (1) The most common hiccup is when another web server (or any process for that
 
-     matter) has laid claim to port 8080.  This is the default HTTP port that
 
-     Tomcat attempts to bind to at startup.  To change this, open the file:
 
-        $CATALINA_HOME/conf/server.xml
 
-     and search for '8080'.  Change it to a port that isn't in use, and is
 
-     greater than 1024, as ports less than or equal to 1024 require superuser
 
-     access to bind under UNIX.
 
-     Restart Tomcat and you're in business.  Be sure that you replace the "8080"
 
-     in the URL you're using to access Tomcat.  For example, if you change the
 
-     port to 1977, you would request the URL http://localhost:1977/ in your
 
-     browser.
 
- (2) The 'localhost' machine isn't found.  This could happen if you're behind a
 
-     proxy.  If that's the case, make sure the proxy configuration for your
 
-     browser knows that you shouldn't be going through the proxy to access the
 
-     "localhost".
 
-     In Firefox, this is under Tools/Preferences -> Advanced/Network ->
 
-     Connection -> Settings..., and in Internet Explorer it is Tools ->
 
-     Internet Options -> Connections -> LAN Settings.
 
- ====================
 
- Optional Components
 
- ====================
 
- The following optional components may be included with the Apache Tomcat binary
 
- distribution. If they are not included, you can install them separately.
 
-  1. Apache Tomcat Native library
 
-  2. Apache Commons Daemon service launcher
 
- Both of them are implemented in C language and as such have to be compiled
 
- into binary code. The binary code will be specific for a platform and CPU
 
- architecture and it must match the Java Runtime Environment executables
 
- that will be used to launch Tomcat.
 
- The Windows-specific binary distributions of Apache Tomcat include binary
 
- files for these components. On other platforms you would have to look for
 
- binary versions elsewhere or compile them yourself.
 
- If you are new to Tomcat, do not bother with these components to start with.
 
- If you do use them, do not forget to read their documentation.
 
- Apache Tomcat Native library
 
- -----------------------------
 
- It is a library that allows to use the "Apr" variant of HTTP and AJP
 
- protocol connectors in Apache Tomcat. It is built around OpenSSL and Apache
 
- Portable Runtime (APR) libraries. Those are the same libraries as used by
 
- Apache HTTPD Server project.
 
- This feature was especially important in the old days when Java performance
 
- was poor. It is less important nowadays, but it is still used and respected
 
- by many. See Tomcat documentation for more details.
 
- For further reading:
 
-  - Apache Tomcat documentation
 
-     * Documentation for APR/Native library in the Tomcat User's Guide
 
-       https://tomcat.apache.org/tomcat-8.5-doc/apr.html
 
-     * Documentation for the HTTP and AJP protocol connectors in the Tomcat
 
-       Configuration Reference
 
-       https://tomcat.apache.org/tomcat-8.5-doc/config/http.html
 
-       https://tomcat.apache.org/tomcat-8.5-doc/config/ajp.html
 
-  - Apache Tomcat Native project home
 
-       https://tomcat.apache.org/native-doc/
 
-  - Other projects
 
-     * OpenSSL
 
-       https://www.openssl.org/
 
-     * Apache Portable Runtime
 
-       https://apr.apache.org/
 
-     * Apache HTTP Server
 
-       https://httpd.apache.org/
 
- To disable Apache Tomcat Native library:
 
-  - To disable Apache Tomcat Native library when it is installed, or
 
-  - To remove the warning that is logged during Tomcat startup when the
 
-    library is not installed:
 
-    Edit the "conf/server.xml" file and remove "AprLifecycleListener" from
 
-    it.
 
- The binary file of Apache Tomcat Native library is usually named
 
-   - "tcnative-1.dll" on Windows
 
-   - "libtcnative-1.so" on *nix systems
 
- Apache Commons Daemon
 
- ----------------------
 
- Apache Commons Daemon project provides wrappers that can be used to
 
- install Apache Tomcat as a service on Windows or as a daemon on *nix
 
- systems.
 
- The Windows-specific implementation of Apache Commons Daemon is called
 
- "procrun". The *nix-specific one is called "jsvc".
 
- For further reading:
 
-  - Apache Commons Daemon project
 
-       https://commons.apache.org/daemon/
 
-  - Apache Tomcat documentation
 
-     * Installing Apache Tomcat
 
-       https://tomcat.apache.org/tomcat-8.5-doc/setup.html
 
-     * Windows Service How-To
 
-       https://tomcat.apache.org/tomcat-8.5-doc/windows-service-howto.html
 
- The binary files of Apache Commons Daemon in Apache Tomcat distributions
 
- for Windows are named:
 
-   - "tomcat8.exe"
 
-   - "tomcat8w.exe"
 
- These files are renamed copies of "prunsrv.exe" and "prunmgr.exe" from
 
- Apache Commons Daemon distribution. The file names have a meaning: they are
 
- used as the service name to register the service in Windows, as well as the
 
- key name to store distinct configuration for this installation of
 
- "procrun". If you would like to install several instances of Tomcat 8.5
 
- in parallel, you have to further rename those files, using the same naming
 
- scheme.
 
 
  |