Running Tomcat on Mac OS X
- Apache Tomcat (or simply Tomcat) is an open source web server and servlet container developed by the Apache Software Foundation (ASF). Tomcat implements the Java Servlet and the JavaServer Pages (JSP) specifications from Oracle, and provides a 'pure Java' HTTP web server environment for Java code to run in.
- It’s been almost 12 years I started using Apache Tomcat. I believe when I did my 1st under grade project, it was on Tomcat version 1.x. Now it’s already on version 8.0. Mostly I’ve been in touch with Tomcat Server in my daily work life, simply can’t live without it. On Crunchify we have already published almost 40 articles on Apache Tomcat.
- Tomcat Native Downloads Use the links below to download the Apache Tomcat ® Native software from one of our mirrors. You must verify the integrity of the downloaded files using signatures downloaded from our main distribution directory. Only current recommended releases are available on the main distribution site and its mirrors.
For an updated guide for installing Tomcat 5/6 on Mac OS X 10.6 using MacPorts check http://serverfault.com/questions/183496/full-guide-for-installing-tomcat-on-os-x
[See below for later updates to this 2004 posting]
These notes are the result of several weeks playing with different things and asking a LOT of questions on several mailing lists.
Start Tomcat Automatically on a Mac OS X Machine As of OS X version 10.4, Apple launches and manages all its init scripts via a program 'launchd', which uses property list files to provide centralized access and configuration control over all the daemons available for the system to run.
I hope these notes are of use to someone out there.
Java is installed by default on every MacOS X installation. MacOS X 10.2 (Jaguar) comes with Java 1.3; MacOS X 10.3 (Panther) comes with Java 1.4. MacOS X 10.4 (Tiger) comes with Java 1.4.2 installed, but Java 1.5 can be downloaded. MacOS X 10.5 (Leopard) comes with Java 1.5. MacOS X 10.5 (Snow Leopard) comes with Java 1.6. It is possible to run Java 1.4 on MacOS X Jaguar but it may interfere with operation of the standard environment.
JAVA_HOME is at
/Library/Java/Home, but this is a link into a directory
/System/Frameworks/JavaJVM.Framework/Versions which is used to switch between versions easily. There is a link
CurrentVersion which matches up the current Java environment with the appropriate version.
I wanted to learn about Java Servlet Pages (JSP) on my Macintosh (with MacOS X). I installed it the first time on a Windows XP Professional system, but my development machine is a Macintosh.
Since I had already installed and played with a separate install of Tomcat (the version installed by Apple's XCode was out of date, as was the version I downloaded from another site), I was ready to give up!
In my case I wanted to get rid of all the other Tomcat installations and start from scratch.
Step 1: Download Tomcat
Download Jakarta Tomcat from the Tomcat home page, and get the binary version - I_downloaded jakarta-tomcat-5.0.27.tar.gz.
Extract the files (unless your browser automatically extracts them).
Navigate (using the Finder) to Macintosh HD > Library.
If there is not already a folder in Macintosh HD > Library called Tomcat, then create one.
If there is already a Tomcat folder (presumably from an out-of-date installation), delete all the files already in that folder.
Step 2: Extract tomcat archive
Copy all the unstuffed files from the jakarta-tomcat-5.0.27.tar.gz download and put all the files into the Tomcat folder.
I just named it Tomcat as it saves some typing in the Terminal
So the directory structure becomes:
Macintosh HD > Library > Tomcat > <extracted files>
Step 3: Configure tomcat-users.xml
/Library/Tomcat/conf/tomcat-users.xml file with a plain text editor. The default Tomcat installation only has the basic roles and users set up.
What is configured as default is:
An example of what it should look like follows:
In this case a role, a user and password have been set up with the name tomcat. You can change this later.
Step 4: Start Tomcat
To start Tomcat, open a shell command prompt (using, for instance, the Terminal application).
The path to Tomcat via the Finder is Macintosh HD > Library > Tomcat.
But to get to that directory using the Terminal, type in:
ls - you should see a file called
Any file in this directory ending in
.sh can be executed in the terminal by putting a period and a slash before the file name (eg:
startup.sh). The following example executes the tomcat startup script:
Terminal should display four lines looking something like this:
There are some notes and a couple of Preference Panes for automating the starting and stopping of Tomcat. After trying them all on five different computers - this is the simplest!
Step 5: Test installation Open a browser window, and enter http://127.0.0.1:8080 - the default Tomcat page should open.
If you click the Tomcat Administrator or Tomcat Manager links in the upper left hand of the default Tomcat page, you will be asked for a user name and password.
As mentioned above, use tomcat for the user name, and tomcat for the password.
By : Brynley Blake (31 August 2004)
With considerable help from Joachim, Tracy, Tom, Samuel and Jonel from the Apple Web and Java Developer mailing lists.
Updated for 2006
Basil Bourque says:
Today (2006-04-05) I disovered a somewhat different recipe to running Tomcat 5.5.16 on Mac OS X 10.4.6.
- Today's Tomcat (v5.5) wants to run on Java 5, but Apple's command line defaults to Java 4 (1.4.2). Surprisingly, Tomcat's script works around this.
- I did not need to set any environment variables (JAVA_HOME).
- But I did need to fix vital file permissions in the downloaded Tomcat folder.
Also Updated in 2010
By Pid: I removed some of the original statements about setting JAVA_HOME as they did not match my experience of installing Tomcat on OS X. It's also certainly overkill to install an application just to be able to set an environment variable.
(1) Upgrade to Mac OS X 10.4.6
- I do not know if 10.4.6 is required, but it sure made an easy Tomcat install.
- Apply all of Apple's Software Updates, especially the Java 5 update.
(2) Download apache-tomcat-5.5.16
- Move it to your home folder.
(3) Fix the Unix file permissions
- Download the freeware BatChmod, a GUI wrapper around the Unix 'chmod' command.
- Drag and drop the entire Tomcat folder onto the BatChmod icon.
- Check *all* the checkboxes.
- Click 'Apply' and give your Administrator password.
(4) Start Tomcat
- Launch /Applications/Utilities/Terminal.
- Navigate to the Tomcat folder (apache-tomcat-5.5.16):
- Run the startup script:
- You should see something like this:
- Notice that somehow the startup script(s) have used Java 5 on Mac OS X even though it is not the default Java runtime at the command line. I hope to parse that script later to discover how they did this.
(5) Test Tomcat
- Launch a web browser such as Safari.
- Goto http://127.0.0.1:8080/
- You should see the cute Tomcat logo on the welcome page.
You are technically done at this point. But as a good pratice, I also did the following additional steps.
(6) Start the Firewall
- System Preferences > Sharing > Firewall > Start
- Also, click the Advanced button on that panel, to (a) block UDP, and (b) start logging. It is fascinating to see how quickly a computer directly on the Internet starts to get queried/tested/attacked. Open /Applications/Utilities/Console to see the log.
(7) Enable Port-Forwarding
- Add a rule to do port-forwarding from port 80 to Tomcat's default port 8080. Type this in the Terminal:Or use this nifty program, another GUI wrapper around the ipfw command line, Simple Port Forwarder:http://www.4dresources.com/files/
The Sharing SysPref will get cranky when you add an ipfw rule behind its back; it disables its user interface. To use the Sharing SysPref again you'll have to clear that rule, the one we added and numbered 100. To delete a rule, either read the ipfw man page, or use Simple Port Forwarder again. Quit the System Preferences program, and re-launch it to re-enable its Firewall panel.
(8) Test Tomcat
- Launch a web browser such as Safari.
Notice that we left off the port number this time, so the web browser defaults to port 80. Or you can explicitly say port 80:http://127.0.0.1:80/
- You should see the cute Tomcat logo on the welcome page.
- To be sure it is working, and not cached by the browser:
• Try another browser.
• Click the Reload button in the toolbar of the browser.
• Choose the Reload command, such as View > Reload Page in Safari.
(9) Walk the dog
- Enjoy an all-too-rare moment of computing satisfaction.
As best as I can recall, that is all I had to do today. I hope I am not steering you wrong. I did assume at first that Java 5 would not be used be default, so I wasted time messing with the path ($PATH) and setting the environment variable JAVA_HOME. But I undid those, as they failed. I then tried the simple steps above, and it worked.
I hope to refresh my own web site with this info:http://www.BasilBourque.org/
Tip: You can drag and drop from the Finder to the Terminal, to avoid typing file and folder names.
Updated for 2008
Michael Valentiner says:
Today (2008-02-03) I verified running Tomcat 6.0.14 on Mac OS X 10.5.1.
Like Basil, I did not need to set up JAVA_HOME and I did need to fix Unix file permissions.
Unlike Basil, the System Preferences > Sharing > Firewall has moved to System Preferences > Security > Firewall. I was able to enable logging, but haven't figured out how to block UDP.
Updated for 2009
Chris Latko says:
To have Tomcat 6.0.x launch on boot on Mac OS X 10.5.x, you need to add a LaunchDaemon. Create a file called org.apache.tomcat.plist in /Library/LaunchDaemons/ with the following content:
Updated for 2009
Greg Woolsey says:
For Tomcat 5.5.x (and probably 6.0, as the scripts don't appear to have changed much) you need a slightly modified plist, that calls catalina.sh in a manner compatible with the requirements of launchd: http://developer.apple.com/MacOsX/launchd.html. Specifically, the script must be run with the 'run' parameter instead of 'start', as start backgrounds the Java process and exits the script. This causes launchd to think the service is done, and kills the java process as part of it's cleanup.
My plist assumes Tomcat is installed in /Library/Tomcat/tomcat-version, with a symbolic link called 'Home' pointing to the version to use.
Save this file as /Library/LaunchDaemons/org.apache.tomcat.plist:
If you have a web app that doesn't want to shut down nicely (my company's product is one), then to avoid the need to force quit Tomcat just to turn off your Mac, use a startup script instead of a daemon plist.
Add this line to /etc/hostconfig as root:
Then, as root, create /Library/StartupItems/Tomcat, writable only by the owner (root).
Inside this, create two files - Tomcat (script) and StartupParameters.plist. Again, make them writable only by root, and the script executable by everyone.
Contents of StartupParameters.plist:
Contents of the Tomcat script file:
Open source and Java based web server designed to provide its users with a pure and simple to use Java platform for running web apps
What's new in Apache Tomcat 10.0.5:
- Fix a regression in 10.0.4 that meant that an error during an asynchronous read broke all future asynchronous reads associated with the same request instance.
- Prevent concurrent calls to ServletInputStream.isReady() corrupting the input buffer.
- Update the packaged version of Tomcat Native to 1.2.27 to pick up binaries built with OpenSSL 1.1.1k.
Apache Tomcat is a free and open source web server specially made to help you deploy and use a reliable Java platform for your web applications.
A “pure Java” HTTP web server environment for your Java code
Apache Tomcat implements the Java Servlet along with the JavaServer Pages specifications from Oracle and delivers a HTTP web server environment where you can run your Java code.
Although Apache Tomcat comes with configuration and management tools, you can also configure it by editing the XML configuration files.
Take advantage of all components and deliver a smooth-running webpage
With Apache Tomcat’s help you can significantly improve your web apps’ reliability and response time for the end users. When it comes to creating websites that feature Java based code and applets, Apache Tomcat allows you to use it to run them instead of the user’s web browser.
Between Apache Tomcat’s main components you will find the HTTP connector, the JSP engine that makes it possible to run the dynamic web content and the servlet container.
As follows, the communication between the clients and the server is carried by the HTTP connector, which also listens to the TCP connections in order to automatically send all incoming request to the JSP engine.
Once the request have been processed, the above mentioned component also sends the feedback to the connected clients.
Tomcat Download Mac
Powers your large-scale web applications
Thanks to Cluster, another Apache Tomcat component, you can manage large application and use it for load balancing. At the same time, the user-based and system-based web application enhancement adds support for deployment across a wide variety of environments.
Apache Tomcat enjoys a large development community and a long list of features, a fact that makes it a reliable solution for individual users as well as large companies interested in using Java applets and other components within their webpage.
Filed underApache Tomcat was reviewed by George Popescu
Apache Tomcat 10.0.5add to watchlistsend us an update
- runs on:
- macOS (-)
- file size:
- 12.4 MB
- main category:
- Internet Utilities
- visit homepage
top alternatives FREE
top alternatives PAID