Introduction
Apache Tomcat is a widely used open-source application server that allows you to deploy and run Java-based web applications. Understanding how to install and configure Tomcat is essential for every sysadmin and developer who works with Java, as it serves as a robust platform for hosting web applications. This article will guide you through the installation of Apache Tomcat on an Ubuntu-based server, including configuring it as a systemd service for easier management.
What Is Apache Tomcat?
Apache Tomcat is an open-source implementation of the Java Servlet, JavaServer Pages, and Java Expression Language technologies. It provides a Java-based web server environment that allows you to run Java applications. Tomcat is designed to handle the complexities of web application deployment, making it easier for developers to focus on writing code rather than managing infrastructure.
How It Works
Apache Tomcat operates as a web server and servlet container. When a web application is deployed, Tomcat manages the lifecycle of the application, handling requests and responses between clients and the server. Think of it as a traffic controller: it directs incoming requests to the appropriate application components and serves the responses back to the clients.
Prerequisites
Before you begin the installation process, ensure you have the following:
- An Ubuntu-based server.
- Administrative (sudo) access to the server.
- Java Runtime Environment (JRE) installed. This tutorial will use OpenJDK.
Installation & Setup
Follow these steps to install Apache Tomcat on your Ubuntu server:
Step 1: Update and Upgrade
Start by ensuring your system is up to date:
sudo apt-get update
sudo apt-get upgrade
Step 2: Install OpenJDK
Install OpenJDK, which is required for running Tomcat:
sudo apt install openjdk-11-jre-headless
Step 3: Create a Tomcat User and Group
For security, create a dedicated user and group for Tomcat:
sudo groupadd tomcat
sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
Step 4: Download and Install Apache Tomcat
Download Tomcat and extract it:
cd /tmp
curl -O https://dlcdn.apache.org/tomcat/tomcat-11/v11.0.0-M11/bin/apache-tomcat-11.0.0-M11.tar.gz
sudo mkdir /opt/tomcat
sudo tar xzvf apache-tomcat-*tar.gz -C /opt/tomcat --strip-components=1
sudo rm -rf /tmp/apache-tomcat-*tar.gz
Change ownership of the Tomcat directory:
sudo chown -RH tomcat: /opt/tomcat
Make the startup and shutdown scripts executable:
sudo sh -c 'chmod +x /opt/tomcat/bin/*.sh'
Step 5: Set Up Environment Variables
Define environment variables for easier management:
export CATALINA_HOME=/opt/tomcat
export PATH=$PATH:$CATALINA_HOME/bin
Consider adding these lines to your shell profile or system-wide environment configuration.
Step 6: Start and Stop Tomcat
You can now start Tomcat using the following command:
sudo -u tomcat /opt/tomcat/bin/startup.sh
To stop Tomcat, use:
sudo -u tomcat /opt/tomcat/bin/shutdown.sh
Real-World Examples
Example 1: Deploying a Sample Application
After starting Tomcat, you can deploy a sample web application. Place your WAR file in the webapps directory:
sudo cp your-app.war /opt/tomcat/webapps/
Tomcat will automatically deploy the application upon startup.
Example 2: Configuring a Context Path
To change the context path of your application, create a new XML file in the conf/Catalina/localhost directory:
<Context path="/myapp" docBase="/opt/tomcat/webapps/your-app" />
Best Practices
- Run Tomcat as a non-root user for enhanced security.
- Regularly update Tomcat and Java to the latest stable versions.
- Monitor logs in the
logsdirectory for troubleshooting. - Use a firewall to restrict access to the Tomcat server.
- Configure HTTPS for secure communication.
- Limit memory usage by tuning the JVM parameters in the
setenv.shfile.
Common Issues & Fixes
| Issue | Cause | Fix |
|---|---|---|
| Tomcat fails to start | Incorrect Java version | Ensure OpenJDK 11 is installed |
| Application not deploying | WAR file not in the webapps dir |
Place the WAR file in the correct directory |
| Permission denied errors | Incorrect ownership of Tomcat dir | Run chown -RH tomcat: /opt/tomcat |
Key Takeaways
- Apache Tomcat is essential for running Java web applications.
- Proper installation involves creating a dedicated user and group for security.
- Environment variables simplify management and enhance usability.
- Regular updates and monitoring are crucial for maintaining a secure and efficient server.
- Configuring Tomcat as a systemd service can streamline management tasks.

Responses
Sign in to leave a response.
Loading…