This guide is about installing Apache Tomcat version 6.0.35-r1 and newer and 7.0.29-r1 and newer. You can find older Gentoo guides at Tomcat Guide and Tomcat 6 Guide. There is a significant change in how Tomcat is configured so make sure you use the correct guide according to the version you are installing.
To install Tomcat, emerge www-servers/tomcat. By default, only manager and host-manager applications are installed. If you want to install Tomcat documentation and example applications, you have to enable extra-webapps USE flag. The ebuild installs only what is known as Catalina home. Creation of Catalina base is described in next section.
Since version 6.0.35-r1 and 7-0-29-r1, Tomcat supports running of multiple instances. This largely affects the way how Tomcat is configured. The preferred way to create and configure Tomcat instances is by using Tomcat instance manager located at /usr/share/tomcat-7/gentoo/tomcat-instance-manager.bash for Tomcat 7 and at /usr/share/tomcat-6/gentoo/tomcat-instance-manager.bash for Tomcat 6. Running the instance manager without any parameter displays following help:
Follow the information in the help to create new Tomcat instances. Tomcat instances use the following layout:
- /etc/conf.d/tomcat-SLOT-suffix: configuration file for running Tomcat instance services
- /etc/init.d/tomcat-SLOT-suffix: controlling script for the Tomcat instance
- /etc/tomcat-SLOT-suffix/: directory containing standard Tomcat configuration files
- /var/lib/tomcat-SLOT-suffix/: Catalina base directory
- /var/log/tomcat-SLOT-suffix/: directory for instance log files
You can run Tomcat instance using following command:
If you want to start Tomcat instance on boot, run following command:
Migrating Old Tomcat Instance
To migrate Tomcat instance from Tomcat installation that supported only single instance, you can follow these steps:
- stop old version of Tomcat
- upgrade Tomcat to new version
- create new Tomcat instance, for example:
- configure Tomcat files of the new instance (/etc/conf.d/tomcat-7-main and /etc/tomcat-7-main/*) and copy your applications from the old instance (/var/lib/tomcat-7/webapps/*) to the new one (/var/lib/tomcat-7-main/webapps/)
- make new Tomcat instance to start after boot if required:
- start the new instance:
Integrating Tomcat with Netbeans
Integration of Tomcat with Netbeans is easy. You run instance manager with --user command line switch and you specify user name of the user you are creating Catalina base for. The newly created Catalina base files are then owned by the specified user and are fully accessible by Netbeans when being run under that user. Now you can configure Tomcat in Netbeans Servers configuration dialog. When using Tomcat 7, use /usr/share/tomcat-7 as Catalina home and var/lib/tomcat-7-suffix as Catalina base. When using Tomcat 6, use /usr/share/tomcat-6 as Catalina home and var/lib/tomcat-6-suffix/ as Catalina base. In both cases replace suffix with the real suffix you used when creating the instance.
- java-config in init script should include "-d" so that dependant JARs get added automagically to the classpath. See Gentoo Bug 448990