315 lines
29 KiB
Markdown
315 lines
29 KiB
Markdown
# Tomcat Packaging
|
|
|
|
## Contents
|
|
|
|
- [RHEL/CentOS Tomcat 7](#rhelcentos-tomcat-7)
|
|
- [Installation Layout](#installation-layout)
|
|
- [Common Packages](#common-packages)
|
|
- [RHEL/CentOS Tomcat 6](#rhelcentos-tomcat-6)
|
|
- [Installation Layout](#installation-layout-1)
|
|
- [Common Packages](#common-packages-1)
|
|
- [RHEL/CentOS Tomcat 5](#rhelcentos-tomcat-5)
|
|
- [Installation Layout](#installation-layout-2)
|
|
- [Common Packages](#common-packages-2)
|
|
- [Ubuntu Tomcat 7](#ubuntu-tomcat-7)
|
|
- [Installation Layout](#installation-layout-3)
|
|
- [Common Packages](#common-packages-3)
|
|
- [Ubuntu Tomcat 6](#ubuntu-tomcat-6)
|
|
- [Installation Layout](#installation-layout-4)
|
|
- [Common Packages](#common-packages-4)
|
|
|
|
Articles in this series
|
|
|
|
- [Tomcat Mechanics](tomcat_mechanics.md)
|
|
- [Tomcat Configuration](tomcat_configuration.md)
|
|
- **Tomcat Packaging**
|
|
- [Tomcat Logging](tomcat_logging.md)
|
|
|
|
|
|
## RHEL/CentOS Tomcat 7
|
|
|
|
### Installation Layout
|
|
|
|
RHEL/CentOS 7 are based on systemd; a 'yum install tomcat' (note no _7_ in the names) will install the systemd service unit. This unit, `/usr/lib/systemd/system/tomcat.service`, calls the shell script `/usr/sbin/tomcat-sysd` to mimic previous behaviour and read /etc/sysconfig/tomcat. An additional package, `tomcat-systemv`, can be installed to provide `/etc/init.d/tomcat` which works the same as RHEL/CentOS 5/6.
|
|
|
|
Unlike a traditional unpacked archive, the systemd unit and SysVinit script will read two files for variables; the first is a static-named file `/etc/tomcat/tomcat.conf` for defaults, then a dynamic file `/etc/sysconfig/tomcat`. The file in sysconfig that will be read is the same name as the script; this allows copying of the `/etc/init.d/` (or cloning the systemd unit) and `/etc/sysconfig/` files to a new name to run a 2nd, 3rd, etc. instance of Tomcat.
|
|
|
|
| **Item** | **Purpose** |
|
|
| -------------------------------- | ---------------------------------------------------------------------------------------------- |
|
|
| `/usr/lib/systemd/system/tomcat` | systemd unit used to start/stop Tomcat |
|
|
| `/etc/init.d/tomcat` | SysVinit script used to start/stop Tomcat |
|
|
| `/etc/tomcat/tomcat.conf` | System-wide configuration file for tomcat services |
|
|
| `/etc/sysconfig/tomcat` | Service-specific configuration file for tomcat; exact name loaded matches the unit/init script |
|
|
| `/usr/sbin/tomcat` | Script that somewhat emulates the traditional `catalina.sh` for starting/stopping Tomcat |
|
|
| `/var/run/tomcat.pid` | PID of the running tomcat java service |
|
|
| `/etc/logrotate.d/tomcat` | Logrotate configuration for `catalina.out` |
|
|
| `/var/log/tomcat/` | Logging directory |
|
|
| `/usr/share/tomcat/` | Main directory that mimics a traditional unpacked archive |
|
|
| `/usr/share/tomcat/bin` | Contains only the `bootstrap.jar` and `tomcat-juli.jar` files |
|
|
| `/usr/share/tomcat/conf` | Symlink to `/etc/tomcat` |
|
|
| `/usr/share/tomcat/lib` | Symlink to `/usr/share/java/tomcat` |
|
|
| `/usr/share/tomcat/logs` | Symlink to `/var/log/tomcat` |
|
|
| `/usr/share/tomcat/temp` | Symlink to `/var/cache/tomcat/temp` |
|
|
| `/usr/share/tomcat/webapps` | Symlink to `/var/lib/tomcat/webapps` |
|
|
| `/usr/share/tomcat/work` | Symlink to `/var/cache/tomcat/work` |
|
|
| `/usr/share/java/` | Main directory containing various .jar (java archive) files |
|
|
| `/usr/share/java/tomcat/` | Contains classes and resources for Tomcat only |
|
|
|
|
|
|
### Common Packages
|
|
|
|
The core packages installed when `yum install tomcat` takes place; others may be installed as dependencies depending on what's already installed on the system.
|
|
|
|
| **Package** | **Summary** |
|
|
| ---------------------------- | --------------------------------------------------------------------------- |
|
|
| `apache-commons-collections` | Provides new interfaces, implementations and utilities for Java Collections |
|
|
| `apache-commons-daemon` | Defines API to support an alternative invocation mechanism |
|
|
| `apache-commons-dbcp` | Apache Commons DataBase Pooling Package |
|
|
| `apache-commons-logging` | Apache Commons Logging |
|
|
| `apache-commons-pool` | Apache Commons Pool Package |
|
|
| `avalon-framework` | Java components interfaces |
|
|
| `avalon-logkit` | Java logging toolkit |
|
|
| `ecj` | Eclipse Compiler for Java |
|
|
| `geronimo-jms` | J2EE JMS v1.1 API |
|
|
| `geronimo-jta` | J2EE JTA v1.1 API |
|
|
| `javamail` | Java Mail API |
|
|
| `javapackages-tools` | Macros and scripts for Java packaging support |
|
|
| `jline` | Java library for reading and editing user input in console applications |
|
|
| `log4j` | Java logging package |
|
|
| `python-javapackages` | Module for handling various files for Java packaging |
|
|
| `tomcat` | Apache Servlet/JSP Engine, RI for Servlet 3.0/JSP 2.2 API |
|
|
| `tomcat-el-2.2-api` | Expression Language v1.0 API |
|
|
| `tomcat-jsp-2.2-api` | Apache Tomcat JSP API implementation classes |
|
|
| `tomcat-lib` | Libraries needed to run the Tomcat Web container |
|
|
| `tomcat-servlet-3.0-api` | Apache Tomcat Servlet API implementation classes |
|
|
| `xalan-j2` | Java XSLT processor |
|
|
| `xerces-j2` | Java XML parser |
|
|
| `xml-commons-apis` | APIs for DOM, SAX, and JAXP |
|
|
| `xml-commons-resolver` | Resolver subproject of xml-commons |
|
|
|
|
|
|
## RHEL/CentOS Tomcat 6
|
|
|
|
### Installation Layout
|
|
|
|
Unlike a traditional unpacked archive, the SysVinit script will read two files for variables; the first is a static-named file `/etc/tomcat6/tomcat6.conf` for defaults, then a dynamic file `/etc/sysconfig/tomcat6`. The file in sysconfig that will be read is the same name as the script; this allows copying of the `/etc/init.d/` and `/etc/sysconfig/` files to a new name to run a 2nd, 3rd, etc. instance of Tomcat.
|
|
|
|
| **Item** | **Purpose** |
|
|
| ---------------------------- | ------------------------------------------------------------------------------------------ |
|
|
| `/etc/init.d/tomcat6` | SysVinit script used to start/stop Tomcat |
|
|
| `/etc/tomcat6/tomcat6.conf` | System-wide configuration file for tomcat6 services |
|
|
| `/etc/sysconfig/tomcat6` | Service-specific configuration file for tomcat6; exact name loaded matches the init script |
|
|
| `/usr/sbin/tomcat6` | Script that somewhat emulates the traditional `catalina.sh` for starting/stopping Tomcat |
|
|
| `/var/run/tomcat6.pid` | PID of the running tomcat6 java service |
|
|
| `/etc/logrotate.d/tomcat6` | Logrotate configuration for `catalina.out` |
|
|
| `/var/log/tomcat6/` | Logging directory |
|
|
| `/usr/share/tomcat6/` | Main directory that mimics a traditional unpacked archive |
|
|
| `/usr/share/tomcat6/bin` | Contains only the `bootstrap.jar` and `tomcat-juli.jar` files |
|
|
| `/usr/share/tomcat6/conf` | Symlink to `/etc/tomcat6` |
|
|
| `/usr/share/tomcat6/lib` | Symlink to `/usr/share/java/tomcat6` |
|
|
| `/usr/share/tomcat6/logs` | Symlink to `/var/log/tomcat6` |
|
|
| `/usr/share/tomcat6/temp` | Symlink to `/var/cache/tomcat6/temp` |
|
|
| `/usr/share/tomcat6/webapps` | Symlink to `/var/lib/tomcat6/webapps` |
|
|
| `/usr/share/tomcat6/work` | Symlink to `/var/cache/tomcat6/work` |
|
|
| `/usr/share/java/` | Main directory containing various .jar (java archive) files |
|
|
| `/usr/share/java/tomcat6/` | Contains classes and resources for Tomcat only |
|
|
|
|
|
|
### Common Packages
|
|
|
|
The core packages installed when `yum install tomcat6` takes place; others may be installed as dependencies depending on what's already installed on the system.
|
|
|
|
| **Package** | **Summary** |
|
|
| ----------------------------- | --------------------------------------------------------------------------- |
|
|
| `axis` | A SOAP implementation in Java |
|
|
| `classpathx-jaf` | GNU JavaBeans(tm) Activation Framework |
|
|
| `classpathx-mail` | GNU JavaMail(tm) |
|
|
| `ecj` | Eclipse Compiler for Java |
|
|
| `jakarta-commons-collections` | Provides new interfaces, implementations and utilities for Java Collections |
|
|
| `jakarta-commons-daemon` | Defines API to support an alternative invocation mechanism |
|
|
| `jakarta-commons-dbcp` | Jakarta Commons DataBase Pooling Package |
|
|
| `jakarta-commons-discovery` | Jakarta Commons Discovery |
|
|
| `jakarta-commons-httpclient` | Jakarta Commons HTTPClient implements the client side of HTTP standards |
|
|
| `jakarta-commons-logging` | Jakarta Commons Logging Package |
|
|
| `jakarta-commons-pool` | Jakarta Commons Pool Package |
|
|
| `jpackage-utils` | JPackage utilities |
|
|
| `libgcj` | Java runtime library for gcc |
|
|
| `log4j` | Java logging package |
|
|
| `mx4j` | Open source implementation of JMX Java API |
|
|
| `regexp` | Simple regular expressions API |
|
|
| `sinjdoc` | Documentation generator for Java source code |
|
|
| `tomcat6` | Apache Servlet/JSP Engine, RI for Servlet 2.5/JSP 2.1 API |
|
|
| `tomcat6-el-2.1-api` | Expression Language v1.0 API |
|
|
| `tomcat6-jsp-2.1-api` | Apache Tomcat JSP API implementation classes |
|
|
| `tomcat6-lib` | Libraries needed to run the Tomcat Web container |
|
|
| `tomcat6-servlet-2.5-api` | Apache Tomcat Servlet API implementation classes |
|
|
| `wsdl4j` | Web Services Description Language Toolkit for Java |
|
|
| `xml-commons-apis` | APIs for DOM, SAX, and JAXP |
|
|
| `xml-commons-resolver` | Resolver subproject of xml-commons |
|
|
|
|
|
|
## RHEL/CentOS Tomcat 5
|
|
|
|
### Installation Layout
|
|
|
|
Unlike a traditional unpacked archive, the SysVinit script will read two files for variables; the first is a static-named file `/etc/tomcat5/tomcat5.conf` for defaults, then a dynamic file `/etc/sysconfig/tomcat5`. The file in sysconfig that will be read is the same name as the script; this allows copying of the `/etc/init.d/` and `/etc/sysconfig/` files to a new name to run a 2nd, 3rd, etc. instance of Tomcat.
|
|
|
|
| **Item** | **Purpose** |
|
|
| ---------------------------- | ------------------------------------------------------------------------------------------ |
|
|
| `/etc/init.d/tomcat5` | SysVinit script used to start/stop Tomcat |
|
|
| `/etc/tomcat5/tomcat5.conf` | System-wide configuration file for tomcat5 services |
|
|
| `/etc/sysconfig/tomcat5` | Service-specific configuration file for tomcat5; exact name loaded matches the init script |
|
|
| `/usr/sbin/dtomcat5` | The traditional `catalina.sh` for starting/stopping Tomcat renamed |
|
|
| `/var/run/tomcat5.pid` | PID of the running tomcat5 java service |
|
|
| `/etc/logrotate.d/tomcat5` | Logrotate configuration for `catalina.out` |
|
|
| `/var/log/tomcat5/` | Logging directory |
|
|
| `/usr/share/tomcat5/` | Main directory that mimics a traditional unpacked archive |
|
|
| `/usr/share/tomcat5/bin` | Contains the `bootstrap.jar`, `tomcat-juli.jar` and some other basic files |
|
|
| `/usr/share/tomcat5/common` | Symlink to `/var/lib/tomcat5/common` |
|
|
| `/usr/share/tomcat5/conf` | Symlink to `/etc/tomcat5` |
|
|
| `/usr/share/tomcat5/logs` | Symlink to `/var/log/tomcat5` |
|
|
| `/usr/share/tomcat5/server` | Symlink to `/var/lib/tomcat5/server` |
|
|
| `/usr/share/tomcat5/shared` | Symlink to `/var/lib/tomcat5/shared` |
|
|
| `/usr/share/tomcat5/temp` | Symlink to `/var/cache/tomcat5/temp` |
|
|
| `/usr/share/tomcat5/webapps` | Symlink to `/var/lib/tomcat5/webapps` |
|
|
| `/usr/share/tomcat5/work` | Symlink to `/var/cache/tomcat5/work` |
|
|
| `/usr/share/java/` | Main directory containing various .jar (java archive) files |
|
|
| `/usr/share/java/tomcat5/` | Contains classes and resources for Tomcat only |
|
|
|
|
|
|
### Common Packages
|
|
|
|
The core packages installed when `yum install tomcat5` takes place; others may be installed as dependencies depending on what's already installed on the system.
|
|
|
|
| **Package** | **Summary** |
|
|
| ----------------------------- | ------------------------------------------------------------------------------------ |
|
|
| `ant` | Ant build tool for java |
|
|
| `axis` | A SOAP implementation in Java |
|
|
| `bcel` | Byte Code Engineering Library |
|
|
| `classpathx-jaf` | GNU JavaBeans(tm) Activation Framework |
|
|
| `classpathx-mail` | GNU JavaMail(tm) |
|
|
| `eclipse-ecj` | Eclipse Compiler for Java |
|
|
| `gcc-java` | Java support for GCC |
|
|
| `geronimo-specs` | Geronimo J2EE server J2EE specifications |
|
|
| `gjdoc` | GNU Javadoc |
|
|
| `jakarta-commons-beanutils` | Jakarta Commons BeanUtils Package |
|
|
| `jakarta-commons-collections` | Jakarta Commons Collections Package |
|
|
| `jakarta-commons-daemon` | Jakarta Commons Daemon Package |
|
|
| `jakarta-commons-dbcp` | Jakarta Commons DataBase Pooling Package |
|
|
| `jakarta-commons-digester` | Jakarta Commons Digester Package |
|
|
| `jakarta-commons-discovery` | Jakarta Commons Discovery |
|
|
| `jakarta-commons-el` | The Jakarta Commons Extension Language |
|
|
| `jakarta-commons-fileupload` | Jakarta Commons Fileupload Package |
|
|
| `jakarta-commons-httpclient` | Jakarta Commons HTTPClient Package |
|
|
| `jakarta-commons-launcher` | The Launcher Component is designed to be a cross platform Java application launcher. |
|
|
| `jakarta-commons-logging` | Jakarta Commons Logging Package |
|
|
| `jakarta-commons-modeler` | Jakarta Commons Modeler Package |
|
|
| `jakarta-commons-pool` | Jakarta Commons Pool Package |
|
|
| `jpackage-utils` | JPackage utilities |
|
|
| `ldapjdk` | The Mozilla LDAP Java SDK |
|
|
| `libgcj` | Java runtime library for gcc |
|
|
| `log4j` | Java logging package |
|
|
| `mx4j` | Open source implementation of JMX Java API |
|
|
| `regexp` | Simple regular expressions API |
|
|
| `tomcat5` | Apache Servlet/JSP Engine, RI for Servlet 2.4/JSP 2.0 API |
|
|
| `tomcat5-common-lib` | Libraries needed to run the Tomcat Web container (part) |
|
|
| `tomcat5-jasper` | Compiler JARs and associated scripts for tomcat5 |
|
|
| `tomcat5-jsp-2.0-api` | Jakarta Tomcat Servlet and JSP implementation classes |
|
|
| `tomcat5-server-lib` | Libraries needed to run the Tomcat Web container (part) |
|
|
| `tomcat5-servlet-2.4-api` | Jakarta Tomcat Servlet implementation classes |
|
|
| `wsdl4j` | Web Services Description Language Toolkit for Java |
|
|
| `xalan-j2` | Java XSLT processor |
|
|
| `xerces-j2` | Java XML parser |
|
|
| `xml-commons` | Common code for XML projects |
|
|
| `xml-commons-apis` | APIs subproject of xml-commons |
|
|
| `xml-commons-resolver` | Resolver subproject of xml-commons. |
|
|
|
|
|
|
## Ubuntu Tomcat 7
|
|
|
|
### Installation Layout
|
|
|
|
Ubuntu does not use a dynamic config based on the init script name, it's single instance only with a basic install. An additional package `tomcat7-user` contains the tools needed to generate more instances.
|
|
|
|
| **Item** | **Purpose** |
|
|
| -------------------------- | ----------------------------------------------------------------- |
|
|
| `/etc/init.d/tomcat7` | SysVinit script used to start/stop Tomcat |
|
|
| `/etc/default/tomcat7` | System-wide configuration file for init script overrides |
|
|
| `/var/run/tomcat7.pid` | PID of the running tomcat7 java service |
|
|
| `/etc/logrotate.d/tomcat7` | Logrotate configuration for `catalina.out` |
|
|
| `/usr/share/tomcat7/bin` | Contains the `catalina.sh`, `bootstrap.jar` and other basic files |
|
|
| `/usr/share/tomcat7/lib` | Contains symlinks for all the .jar files to load |
|
|
| `/var/lib/tomcat7/common` | Empty directory structure for classes and resources |
|
|
| `/var/lib/tomcat7/conf` | Symlink to `/etc/tomcat7` |
|
|
| `/var/lib/tomcat7/logs` | Symlink to `../../log/tomcat7 |
|
|
| `/var/lib/tomcat7/server` | Empty directory structure for classes and resources |
|
|
| `/var/lib/tomcat7/shared` | Empty directory structure for classes and resources |
|
|
| `/var/lib/tomcat7/webapps` | Empty directory structure for classes and resources |
|
|
| `/var/lib/tomcat7/work` | Symlink to `../../cache/tomcat7` |
|
|
| `/var/log/tomcat7/` | Logging directory |
|
|
| `/usr/share/java/` | Main directory containing various .jar (java archive) files |
|
|
|
|
|
|
### Common Packages
|
|
|
|
The core packages installed when `apt-get install tomcat7` takes place; others may be installed as dependencies depending on what's already installed on the system. This list is **without** the _recommends_ or _suggests_ packages.
|
|
|
|
| **Package** | **Summary** |
|
|
| ------------------------------ | ---------------------------------------------------------------- |
|
|
| `ca-certificates-java` | Common CA certificates (JKS keystore) |
|
|
| `default-jre-headless` | Standard Java or Java compatible Runtime (headless) |
|
|
| `java-common` | Base of all Java packages |
|
|
| `libcommons-collections3-java` | A set of abstract data type interfaces and implementations |
|
|
| `libcommons-dbcp-java` | Database Connection Pooling Services |
|
|
| `libcommons-pool-java` | pooling implementation for Java objects |
|
|
| `libecj-java` | Eclipse Java compiler (library) |
|
|
| `libservlet3.0-java` | Servlet 3.0 and JSP 2.2 Java API classes |
|
|
| `libtomcat7-java` | Servlet and JSP engine -- core libraries |
|
|
| `tomcat7` | Servlet and JSP engine |
|
|
| `tomcat7-common` | Servlet and JSP engine -- common files |
|
|
| `tzdata-java` | time zone and daylight-saving time data for use by java runtimes |
|
|
|
|
|
|
## Ubuntu Tomcat 6
|
|
|
|
### Installation Layout
|
|
|
|
Ubuntu does not use a dynamic config based on the init script name, it's single instance only with a basic install. An additional package `tomcat6-user` contains the tools needed to generate more instances.
|
|
|
|
| **Item** | **Purpose** |
|
|
| -------------------------- | ----------------------------------------------------------------- |
|
|
| `/etc/init.d/tomcat6` | SysVinit script used to start/stop Tomcat |
|
|
| `/etc/default/tomcat6` | System-wide configuration file for init script overrides |
|
|
| `/var/run/tomcat6.pid` | PID of the running tomcat6 java service |
|
|
| `/etc/logrotate.d/tomcat6` | Logrotate configuration for `catalina.out` |
|
|
| `/usr/share/tomcat6/bin` | Contains the `catalina.sh`, `bootstrap.jar` and other basic files |
|
|
| `/usr/share/tomcat6/lib` | Contains symlinks for all the .jar files to load |
|
|
| `/var/lib/tomcat6/common` | Empty directory structure for classes and resources |
|
|
| `/var/lib/tomcat6/conf` | Symlink to `/etc/tomcat6` |
|
|
| `/var/lib/tomcat6/logs` | Symlink to `../../log/tomcat6` |
|
|
| `/var/lib/tomcat6/server` | Empty directory structure for classes and resources |
|
|
| `/var/lib/tomcat6/shared` | Empty directory structure for classes and resources |
|
|
| `/var/lib/tomcat6/webapps` | Empty directory structure for classes and resources |
|
|
| `/var/lib/tomcat6/work` | Symlink to `../../cache/tomcat6` |
|
|
| `/var/log/tomcat6/` | Logging directory |
|
|
| `/usr/share/java/` | Main directory containing various .jar (java archive) files |
|
|
|
|
|
|
### Common Packages
|
|
|
|
The core packages installed when `apt-get install tomcat6` takes place; others may be installed as dependencies depending on what's already installed on the system. This list is **without** the _recommends_ or _suggests_ packages.
|
|
|
|
| **Package** | **Summary** |
|
|
| ------------------------------ | ---------------------------------------------------------------- |
|
|
| `ca-certificates-java` | Common CA certificates (JKS keystore) |
|
|
| `default-jre-headless` | Standard Java or Java compatible Runtime (headless) |
|
|
| `java-common` | Base of all Java packages |
|
|
| `libcommons-collections3-java` | A set of abstract data type interfaces and implementations |
|
|
| `libcommons-dbcp-java` | Database Connection Pooling Services |
|
|
| `libcommons-pool-java` | pooling implementation for Java objects |
|
|
| `libecj-java` | Eclipse Java compiler (library) |
|
|
| `libservlet2.5-java` | Servlet 2.5 and JSP 2.1 Java API classes |
|
|
| `libtomcat6-java` | Servlet and JSP engine -- core libraries |
|
|
| `tomcat6` | Servlet and JSP engine |
|
|
| `tomcat6-common` | Servlet and JSP engine -- common files |
|
|
| `tzdata-java` | time zone and daylight-saving time data for use by java runtimes |
|