How To 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 user
or access to theroot user
. We recommend acting as anon-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
For additional resources on installing Java, read the post below:
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:
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.