Installing Tomcat 6.0 On Linux, Mac OS X, And Windows
Apache Tomcat is a flexible, powerful, and widely popular application server and servlet container, which the Apache Software Foundation has developed since 1999, first under the Jakarta project, and now as its own top-level project. Users value Tomcat for its fast start-up, reliable, mature, and fully open codebase, and highly extensible and configurable functionality.
Apache Tomcat 6 has the ability to run either as a stand alone web server, or as a pure servlet container or cluster of containers behind an HTTP web server proxy or load balancer. This makes Tomcat a favorite choice for a broad spectrum of different scenarios, from small, one-server websites to large-scale, high-availability enterprise production environments. Tomcat 6 implements the Servlet 2.5 and JSP 2.1 specifications, and includes many new features, such as a new NIO Connector, injectable thread pools, improved logging, and more.
Tomcat 6 Installation Methods - Packages, Installers, and Binaries
Before we go over the installation instructions, let's take a brief look at the different methods by which Tomcat can be installed on each platform, and the advantages and disadvantages of choosing one method over another.
On A Mac OS X Machine - Binary Distribution
For Mac users, there is only one way to install Tomcat 6 - by downloading the latest binary from an Apache mirror, and following the instructions we've outlined below.
In fact, if you're a Mac user, you may want to click here right now to skip the following about packaged distributions as opposed to binary distributions, and get right down to installing Tomcat.
On A Windows Machine - Binary Distribution or Package Installer
Windows users can either download the 32 or 64-bit binary distribution and install Tomcat manually, or use the Windows installer, which in its latest version includes both 32 and 64-bit distributions, and attempts to select the appropriate distribution based on the JDK you have installed.
Either of these methods is acceptable, but we recommend you use the installer. It's well-designed and maintained, and automatically takes care of some annoying Windows-specific installation issues, such as enabling Tomcat as a Windows service and setting registry values related to the JVM.
For our step-by-step guide to installing Tomcat on a Windows machine, click here.
On A Linux Machine - Binary Distribution, Bundled Distribution or Repository Package
Linux users can either download and install the binary distribution of Tomcat from an Apache mirror, use one of many available platform-specific repackaged Tomcat distributions, which are provided by various Linux vendors and usually incorporate some pre-configured settings to help Tomcat run on the chosen platform, or install from a general Linux repository package, such as JPackage or RPM.
While some of these packages are well maintained, others include outdated versions of Tomcat, non-documented modifications, or are not quickly updated with new patches released by the Tomcat team. (A notable exception is the Debian/Ubuntu Tomcat package, which is maintained with the help of contributions from the MuleSoft development team. For more information, click here to read "A Better Tomcat For Ubuntu", a blog post about the partnership.)
Although installing from a package has the benefit of being very simple, usually consisting of no more than two or three commands, we recommend that you take the time to install and configure Tomcat yourself from the binary distribution. Completing the initial install and configuration process by hand is a great introduction to Tomcat's internal settings, and you'll never have to wonder if your package has some odd modification or is missing a vital security patch.
Click here to jump to our simple, step-by-step instructions for installing the Tomcat binary distribution on a Linux machine.
The Mac OS X installation process is fairly painless and straightforward, but there are a few rough spots along the way. Follow these step by step instructions to get Tomcat up and running on your Mac OS X machine in no time.
Step 1: Configure Environment Variables
Tomcat finds certain resources, such as your Java runtimes, by reading values from your environment variables. On Mac OS X, the variable that Tomcat is looking for is "JAVA_HOME", which points it to your JDK for compilation purposes.
If you are new to the Mac platform, and you are wondering why there's been no mention of installing Java, don't worry. Apple provides a special OS X version of Java, which is automatically installed and updated via Software Update.
Additionally, you should set the "CATALINA_HOME" variable, which points to the Tomcat home directory, and can be used during Tomcat configuration in lieu of a complicated directory path that might change.
To set the JAVA_HOME variable, open a new Terminal window and use the following command to open the system profile for editing. (You can substitute your favorite text editor. We like Vim.):
Once you've opened the profile, add the following lines to set the JAVA_HOME and CATALINA_HOME variables:
(Note: If you're not familiar with Vim, here's a useful list of editing commands.)
Step 2: Download and Install Tomcat Binaries
Next, download the most recent stable build of Tomcat from an Apache project mirror site. If you're worried about checksum, be sure to run a checksum on the package with the "md5" Terminal command and match it against the value provided on the Apache site.
Next, simply unzip the binaries into a simple location, such as /Library. By default, the unpacked folder name will be something like "apache-tomcat-x-x-xx". For ease of use, change it to "Tomcat".
Step 3: Start Tomcat
You should now be able to start Tomcat by navigating to the "bin" folder and executing "startup.sh" from the command line. After running the script, test to see if Tomcat has been successfully installed by visiting http://localhost:8080 on your machine. If you followed the installation steps correctly, your browser should display the Tomcat Welcome Page.
Note: If you receive a permissions error, use the follow command to allow access to all of the Tomcat shell scripts:
chmod 755 /Path/To/Tomcat/Bin/*.sh
Step 4: Automatic Start On Boot
You can configure Tomcat to start up automatically when your system restarts by using a custom script in conjunction with Mac OS X's launchd.
For more information about starting Tomcat automatically at login, please visit our guide to Tomcat Start.
Installing Tomcat on your Linux machine is not all that different from the Mac OS X installation process. The primary difference between the two sets of instructions we provide here is that we cover installing Java on a Linux machine, as it is not automatically installed by the operating system.
Step 1: Download and Install Java
You'll need to download the most recent Java runtimes in order to run Tomcat 6, which only supports Java 5 and later. You can either obtain them with the package manager of your choice, or download them as a self extracting binary from Sun's website.
Before you download anything, you can use the following command to find out if Java has already been installed on your system:
dpkg –get-selections | grep sun-java
If you have already installed Java, this will return a list of Java packages available on your system. If no results are returned, you'll need to install Java. After you have downloaded the latest Java package from the Sun website, use the following commands to complete your installation:
chmod a+x jre-6u[version]-linux-i586.bin
These commands make the package executable, and then install the package in a directory that makes it available to all users. This requires root access - if you don't have it, you can install Java in an alternative directory of your choice.
Step 2: Download and Install Tomcat
Next, download the latest stable build of Tomcat from an Apache mirror. You can either use a web browser or download the release from the command line with the following command, with appropriate values for the [placeholders]:
Verify the checksum of the package after downloading it, using the "md5sum" command to obtain the sum and comparing it to the checksum provided on the Apache website.
Next, extract the package, and move it to the desired folder:
tar xvzf apache-tomcat-[#].tar.gz
sudo mv apache-tomcat-[#]/usr/local/example/path/to/tomcat
Step 3 - Set Environmental Variables
If you haven't already, you should now set the JAVA_HOME and CATALINA_HOME environmental variables. Tomcat uses JAVA_HOME to locate your Java runtimes, and CATALINA_HOME can be used in configuration files and scripts in place of a complicated file path. Under Linux, these environmental variables are set in ".bashrc". Open the file:
Then, add the following lines:
You'll need to log out of bash and log back in for your additional variables to take effect.
Step 4 - Start Tomcat
You should now be able to run the Tomcat server by executing the "startup.sh" shell script. If you want Tomcat to run automatically at start-up, you can use a custom init script to call startup.sh. You can use this technique in conjunction with some additional configuration to run Tomcat as a system-owned process for increased security.
For more information, visit Tomcat Start, our helpful guide to automatic start.
As noted above, the easiest way to install Tomcat on a Windows machine is by using the Windows Installer. If you will be using this method, you should not need much more help; the installer will guide you through the whole process.
Step 1: Download and Install Java
Installing Java on Windows is a simple process. Like the Tomcat Installer, The Java JDK and JRE Installers for Windows are robust, and can be downloaded from the Sun website. Download and follow the Installation Wizard to install Java on your machine.
Step 2: Download and Install Tomcat
If you are only planning on running Tomcat as a service, and won't need to use the start up scripts, all you'll need is the Windows Service package. Otherwise, use the standard package. You can find both on the Apache project site. The Tomcat 6 Windows Installer is solidly built, and you shouldn't have any trouble.
If you will be using this install of Tomcat only for local development, you may want to consider changing the default port during the installation process from 8080 to 80, the default web port. This will allow you to access Tomcat simply by visiting http://localhost/, without any additional port number.
For more information about running Tomcat as a Windows Service, please visit our Tomcat Service guide.