Apache Tomcat
Tomcat, also maintained by the Apache Software Foundation, is a specialized web server and servlet container specifically designed to run Java-based web applications. Tomcat is used to serve Java Servlets and JavaServer Pages (JSP).
Apache vs. Tomcat
• Apache HTTP Server is a general-purpose web server designed to serve static websites or dynamic content generated by server-side languages like PHP or Python.
• Apache Tomcat, on the other hand, is specifically designed to run Java web applications using technologies like Java Servlets and JSP.
In many cases, Apache HTTP Server and Tomcat can be used together. Apache can serve as the front-end to handle static content, while Tomcat can handle dynamic Java applications in the back-end.
Step 1: Update the System Before you begin, ensure your system packages are up-to-date. Run the following command:
sudo apt update
Step 2: Install Java
Tomcat runs on Java, so you need to install it first. The default OpenJDK package can be installed by running:
sudo apt install default-jdk
Step 3: Create a Tomcat User (Optional but Recommended)
For security reasons, it’s a good idea to create a separate user to run Tomcat:
sudo useradd -r -m -U -d /opt/tomcat -s /bin/false tomcat
-r
: Creates a system account (no password).-m
: Ensures the home directory for Tomcat is created.-d
: Sets the home directory to /opt/tomcat
.-s
: Disables shell access by setting /bin/false
.wget
, replacing
with the version number:/opt/tomcat/
directory:Step 6: Set Up Directory Permissions
Change the ownership of the Tomcat installation to the Tomcat user created earlier:
sudo chown -R tomcat: /opt/tomcat/apache-tomcat-
Step 7: Create a Symbolic Link (Optional)
You can create a symbolic link to make managing future upgrades easier:
sudo ln -s /opt/tomcat/apache-tomcat- /opt/tomcat/latest
Then ensure the Tomcat user owns the symbolic link:
sudo chown -R tomcat: /opt/tomcat/latest
Step 8: Configure Tomcat as a Service
To ensure Tomcat starts automatically, create a systemd service file:
sudo nano /etc/systemd/system/tomcat.service
Inside the file, add the following configuration:
[Unit]
Description=Apache Tomcat Web Application Container
After=network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment=”JAVA_HOME=/usr/lib/jvm/default-java”
Environment=”CATALINA_PID=/opt/tomcat/latest/temp/tomcat.pid”
Environment=”CATALINA_HOME=/opt/tomcat/latest”
Environment=”CATALINA_BASE=/opt/tomcat/latest”
Environment=”CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC”
Environment=”JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom”
ExecStart=/opt/tomcat/latest/bin/startup.sh
ExecStop=/opt/tomcat/latest/bin/shutdown.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
Step 9: Reload and Start Tomcat
To enable the new service file to be loaded, reload the systemd daemon:
sudo systemctl daemon-reload
Enable the service to start at boot:
sudo systemctl enable tomcat
Start Tomcat with:
sudo systemctl start tomcat
Step 10: Verify Installation
You can check if Tomcat is running by accessing http://
in a web browser.
Or, you can use the following command to check Tomcat’s status:
sudo systemctl status tomcat
This guide should get Apache Tomcat running on your Ubuntu server securely and effectively!