Install Apache Macos Catalina

The Servlet 4.0 specification is out and Tomcat 9.0.x does support it. Time to dive into Tomcat 9.

Prerequisite: Java

Catalina

Since OS X 10.7 Java is not (pre-)installed anymore, let’s fix that by installing a Prebuilt OpenJDK Binary. Easy to follow details about how to install OpenJDK are available here. Anyway, after opening the Terminal app,

hopefully shows something like this:

InstallInstall Apache Macos Catalina

Question or issue on macOS: I have Apache webserver (the one supplied by Apple) running on my Macbook and it ran flawlessly, until I upgraded to Catalina 10.15. I used the same httpd.conf, but now it is displaying You don’t have permission to access this resource.Server unable to read htaccess file, denying access to be. My current version of Apache httpd is: Apache/2.4.41 My security team told me that I need to update to Apache/2.4.42 or later.How do I do that? Can I run a simple command line that update the Apache httpd version to 2.4.42 or later. Apache configuration file is overwritten when you upgrade, macOS Big Sur: Server version: Apache/2.4.46 (Unix).

Whatever you do, when opening Terminal and running ‘java –version’, you should see something like this, with a version of at least 1.8.x I.e. Tomcat 9.x requires Java 8 or later.

sudo is a program for Unix-like operating systems, allowing you to run programs with the security privileges of another user (normally the superuser, or root). Since we are creating directories, outside of your home folder, administrator right are required. I.e., when executing sudo you will be asked to enter your password; and your Mac User account needs to be an ‘Admin’ account.

Install Apache On Macos Catalina

JAVA_HOME is an important environment variable, not just for Tomcat, and it’s important to get it right. Here is a trick that allows me to keep the environment variable current, even after a Java Update was installed. In ~/.zshrc, I set the variable like so:

Installing Tomcat

Here are the easy to follow steps to get it up and running on your Mac

Apache
  1. Download a binary distribution of the core module: apache-tomcat-9.0.40 from here. I picked the tar.gz in Binary Distributions Core section.
  2. Opening/unarchiving the archive will create a new folder structure in your Downloads folder: (btw, this free Unarchiver app is perfect for all kinds of compressed files and superior to the built-in Archive Utility.app)
    ~/Downloads/apache-tomcat-9.0.40
  3. Open the Terminal app to move the unarchived distribution to /usr/local like so:
    sudo mkdir -p /usr/local
    sudo mv ~/Downloads/apache-tomcat-9.0.40 /usr/local
  4. To make it easy to replace this release with future releases, we are going to create a symbolic link that we are going to use when referring to Tomcat (after removing the old link, you might have from installing a previous version):
    sudo rm -f /Library/Tomcat
    sudo ln -s /usr/local/apache-tomcat-9.0.40 /Library/Tomcat
  5. Change ownership of the /Library/Tomcat folder hierarchy:
    sudo chown -R <your_username> /Library/Tomcat
  6. Make all scripts in Tomcat’s ./bin folder executable:
    sudo chmod +x /Library/Tomcat/bin/*.sh

Tomcat 9.x

Starting and stoping Tomcat works with executing the provided scripts, like so:
/Library/Tomcat/bin/startup.sh
/Library/Tomcat/bin/shutdown.sh

Install Apache Macos Catalina Operating System

Finally, after your started Tomcat, open your Mac’s Web browser and take a look at the default page: http://localhost:8080