How To Install Apache Tomcat on Rocky Linux 9

Install Apache Tomcat on Rocky Linux 9

In this tutorial, we will show you how to install Apache Tomcat on Rocky Linux 9. For those of you who didn’t know, Apache Tomcat is an open-source web server that allows you to run web applications written in Java. Apache Tomcat software powers numerous large-scale, mission-critical web applications across a diverse range of industries and organizations.

This article assumes you have at least basic knowledge of Linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘sudo‘ to the commands to get root privileges. I will show you the step-by-step installation of the Apache Tomcat on Rocky Linux. 9.

Prerequisites

  • A server running one of the following operating systems: Rocky Linux 9.
  • It’s recommended that you use a fresh OS install to prevent any potential issues.
  • SSH access to the server (or just open Terminal if you’re on a desktop).
  • A non-root sudo useror access to the root user. We recommend acting as a non-root sudo user, however, as you can harm your system if you’re not careful when acting as the root.

Install Apache Tomcat on Rocky Linux 9

Step 1. The first step is to update your system to the latest version of the package list. To do so, run the following commands:

sudo dnf check-update
sudo dnf install dnf-utils
sudo dnf install epel-release

Step 2. Installing Java.

Apache Tomcat requires a Java Standard Edition Runtime Environment (JRE) version 8 or later. Now run the following command to install OpenJDK:

sudo dnf install java-11-openjdk java-11-openjdk-devel

Verify the installation:

java -version

Step 3. Create Tomcat User.

We need to add a user dedicated to running the tomcat service:

sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcat

Step 4. Installing Apache Tomcat on Rocky Linux 9.

By default, Tomcat is not available on Rocky Linux 9 base repository. Now run the following command below to download the latest stable version of Apache Tomcat from the official page to your system:

wget https://downloads.apache.org/tomcat/tomcat-10/v10.0.23/bin/apache-tomcat-10.0.23.tar.gz.sha512

Next, extract the downloaded file:

tar -xvf apache-tomcat-10.0.23.tar.gz.sha512 -C /opt/tomcat --strip-components=1

Set proper permissions using the following command:

sudo chown -R tomcat: /opt/tomcat
sudo sh -c 'chmod +x /opt/tomcat/bin/*.sh'

Step 5. Create a Systemd Unit File.

Create a new systemd service to Tomcat:

sudo nano /etc/systemd/system/tomcat.service

Add the following file:

[Unit]
Description=Apache Tomcat Web Application Container
Wants=network.target
After=network.target

[Service]
Type=forking

Environment=JAVA_HOME=/usr/lib/jvm/jre

Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1G -Djava.net.preferIPv4Stack=true'
Environment='JAVA_OPTS=-Djava.awt.headless=true'

ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
SuccessExitStatus=143

User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always

[Install]
WantedBy=multi-user.target

Save and close the file, then reload the service daemon to enable the Tomcat service:

sudo systemctl daemon-reload
sudo systemctl enable tomcat --now

Step 6. Configure Apache Tomcat Web UI.

Now edit the users’ configuration file:

sudo nano /opt/tomcat/conf/tomcat-users.xml

Add the following file:

<role rolename="admin-gui"/>
<user username="admin" password="Your-Strong-Passwd" roles="admin-gui"/>
<role rolename="manager-gui"/>
<user username="admin" password="Your-Strong-Passwd" roles="manager-gui"/>

Next, configure the Apache Tomcat manager to be accessed from a specific IP:

nano /opt/tomcat/webapps/manager/META-INF/context.xml

Add your IP such as 192.168.77.20 in the file as shown below:

<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.168.77.20" />

After that, configure the host manager:

nano /opt/tomcat/webapps/host-manager/META-INF/context.xml

Add your IP address:

<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.168.77.20" />

Step 7. Configure Firewall.

Now we set up an Uncomplicated Firewall (UFW) with Apache to allow public access on default web ports 8080:

sudo ufw allow OpenSSH
sudo firewall-cmd --zone=public --permanent --add-port=8080/tcp
sudo ufw enable

Step 8. Accessing Apache Tomcat Web Interface.

Once successfully installed, open your web browser and access the Apache Tomcat Web UI using the URL http://your-IP-address:8080. You will be redirected to the following page:

Install Apache Tomcat on Rocky Linux 9

Congratulations! You have successfully installed Apache Tomcat. Thanks for using this tutorial for installing the Apache Tomcat on your Rocky Linux 9 system. For additional help or useful information, we recommend you check the official Apache website.

VPS Manage Service Offer
If you don’t have time to do all of this stuff, or if this is not your area of expertise, we offer a service to do “VPS Manage Service Offer”, starting from $10 (Paypal payment). Please contact us to get the best deal!