Apache Tomcat is a web container that allows you to serve Java Servlets and JSP (Java Server Pages) web applications.
The Tomcat 6.0 packages in Ubuntu support two different ways of running Tomcat. You can install them as a classic unique system-wide instance, that will be started at boot time and will run as the tomcat6 unpriviledged user. But you can also deploy private instances that will run with your own user rights, and that you should start and stop by yourself. This second way is particularly useful in a development server context where multiple users need to test on their own private Tomcat instances.
To install the Tomcat server, you can enter the following command in the terminal prompt:
sudo apt-get install tomcat6
This will install a Tomcat server with just a default ROOT webapp that displays a minimal "It works" page by default.
Tomcat configuration files can be found in
/etc/tomcat6
. Only a few common configuration tweaks
will be described here, please see
Tomcat
6.0 documentation for more.
By default Tomcat 6.0 runs a HTTP connector on port 8080 and an
AJP connector on port 8009. You might want to change those default
ports to avoid conflict with another server on the system. This is
done by changing the following lines in
/etc/tomcat6/server.xml
:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> ... <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
By default Tomcat will run preferably with OpenJDK-6, then try
Sun's JVM, then try some other JVMs. If you have various JVMs
installed, you can set which should be used by setting JAVA_HOME in
/etc/default/tomcat6
:
JAVA_HOME=/usr/lib/jvm/java-6-sun
Tomcat is shipped with webapps that you can install for documentation, administration or demo purposes.
The tomcat6-docs package contains Tomcat 6.0 documentation, packaged as a webapp that you can access by default at http://yourserver:8080/docs. You can install it by entering the following command in the terminal prompt:
sudo apt-get install tomcat6-docs
The tomcat6-admin package contains two webapps that can be used to administer the Tomcat server using a web interface. You can install them by entering the following command in the terminal prompt:
sudo apt-get install tomcat6-admin
The first one is the manager webapp, which you can access by default at http://yourserver:8080/manager/html. It is primarily used to get server status and restart webapps.
Access to the manager application is
protected by default: you need to define a user with the role "manager"
in |
The second one is the host-manager webapp, which you can access by default at http://yourserver:8080/host-manager/html. It can be used to create virtual hosts dynamically.
Access to the host-manager application is
also protected by default: you
need to define a user with the role "admin" in
|
For security reasons, the tomcat6 user cannot write to the
/etc/tomcat6
directory by default. Some features
in these admin webapps (application deployment, virtual host creation)
need write access to that directory. If you want to use these
features execute the following, to give users in the tomcat6 group the necessary
rights:
sudo chgrp -R tomcat6 /etc/tomcat6 sudo chmod -R g+w /etc/tomcat6
The tomcat6-examples package contains two webapps that can be used to test or demonstrate Servlets and JSP features, which you can access them by default at http://yourserver:8080/examples. You can install them by entering the following command in the terminal prompt:
sudo apt-get install tomcat6-examples
Tomcat is heavily used in development and testing scenarios where using a single system-wide instance doesn't meet the requirements of multiple users on a single system. The Tomcat 6.0 packages in Ubuntu come with tools to help deploy your own user-oriented instances, allowing every user on a system to run (without root rights) separate private instances while still using the system-installed libraries.
It is possible to run the system-wide instance and the private instances in parallel, as long as they do not use the same TCP ports. |
You can install everything necessary to run private instances by entering the following command in the terminal prompt:
sudo apt-get install tomcat6-user
You can create a private instance directory by entering the following command in the terminal prompt:
tomcat6-instance-create my-instance
This will create a new my-instance
directory
with all the necessary subdirectories and scripts.
You can for example install your common libraries in the
lib/
subdirectory and deploy your webapps in the
webapps/
subdirectory. No webapps are deployed
by default.
You will find the classic Tomcat configuration files for your
private instance in the conf/
subdirectory. You should for
example certainly edit the conf/server.xml
file
to change the default ports used by your private Tomcat instance to
avoid conflict with other instances that might be running.
You can start your private instance by entering the following
command in the terminal prompt (supposing your instance is located
in the my-instance
directory):
my-instance/bin/startup.sh
You should check the |
You can stop your instance by entering the following
command in the terminal prompt (supposing your instance is located
in the my-instance
directory):
my-instance/bin/shutdown.sh
-
See the Apache Tomcat website for more information.
-
Tomcat: The Definitive Guide is a good resource for building web applications with Tomcat.
-
For additional books see the Tomcat Books list page.
-
Also, see theUbuntu Wiki Apache Tomcat page.