Apache Tomcat or just Tomcat is a free open source web server developed by Apache Software Foundation for the implementation of Java Servlet, JavaServer Pages, Java Expression Language, and Web Socket technologies. It provides a “pure Java” http server.
Apache Tomcat provides a default HTTP connector on port 8080 which allows it to be used as a web server such as Apache, for your Java applications.
This article will show you how to fully configure your server. Apache Tomcat on your Linux machine.
Note We have tested the installation instructions and methods on Ubuntu 20.04 and Debian 10.7 server.
Requirements
To complete the installation process described in this guide, you will need:
- Fully updated Linux server
- Sudo or root permissions
Installation Apache Tomcat
Let’s start by installing Tomcat on our server.
Installing Java JDK
Before installation Apache Tomcat, we need to make sure that a working version of Java is installed on our server.
In our example, we will be using the Amazon Corretto JDK.
Start by updating your system and install java-common, wget and curl how:
sudo apt-get update sudo apt-get install java-common curl wget -y
Then launch your browser and navigate to the Amazon Corretto download page as indicated in the resource below:
https://docs.aws.amazon.com/corretto/latest/corretto-11-ug/downloads-list.html
Find the package for your Linux system and copy the download link.
After copying the download link, open a terminal and enter the command below:
wget https://corretto.aws/downloads/latest/amazon-corretto-11-x64-linux-jdk.deb
The above command will download the Corretto JDK on your system for installation.
Once the download is complete, enter the command below to install the JDK package.
sudo dpkg -i amazon-corretto-11-x64-linux-jdk.deb
The above command will use the downloaded Debian package to install the JDK.
To make sure the installation is complete and you have the JDK installed, enter the command:
java --version
Running this command should print the Java version and JDK provider. Below is an example of the output:
openjdk 11.0.12 2021-07-20 LTS OpenJDK Runtime Environment Corretto-11.0.12.7.1 (build 11.0.12+7-LTS) OpenJDK 64-Bit Server VM Corretto-11.0.12.7.1 (build 11.0.12+7-LTS, mixed mode)
Tomcat user setup
For security reasons, it is best to have a user account to start the services Apache Tomcat. Avoid using root user to start tomcat server.
Let’s start by creating a tomcat user with default home directory and shell set to false.
sudo useradd -m -U -d /home/tomcat -s $(which false) tomcat
To ensure that the tomcat user exists with the correct information, enter the / etc / passwd file as:
cat /etc/passwd | grep tomcat
Below is an example of the output:
tomcat:x:1001:1001::/home/tomcat:/usr/bin/false
Installing Tomcat 10
The next step is to install the Tomcat binary on our system. At the time of this writing Apache Tomcat 10 is not available in the official repositories for major Linux distributions.
Launch your browser and go to the download page Apache Tomcat 10.
Select tar or zip archive and copy download link.
Open a terminal and navigate to the Tomcat user home directory that we created in the previous step.
cd /home/tomcat
Then use wget or curlto download the tomcat archive as:
sudo wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.0.10/bin/apache-tomcat-10.0.10.tar.gz
The last step is to unzip the files and save them in the tomcat home directory. You can use the command:
sudo tar xvf apache-tomcat-10.0.10.tar.gz -C . --strip-components=1
The next step is to use the chown command to set the correct permissions for the apache tomcat files.
sudo chown -R tomcat: Tomcat. sudo chmod -R u+x ./bin/
How to set up a user Apache Tomcat on Linux
To customize users Apache Tomcat, we need to edit the tomcat-users.xml file in the conf directory.
Edit the file and add user details as shown in the example below:
sudo vim /home/tomcat/conf/tomcat-users.xml
Add lines like
<role rolename="manager-gui" /> <user username="tomcat" password="" roles="manager-gui" /> <role rolename="admin-gui" /> <user username="admin" password="" roles="manager-gui,admin-gui"/> </tomcat-users>
In the above configuration example, the tomcat username can only access the Tomcat manager, and the administrator username can access both the manager and the admin interface.
Make sure you add the username configuration shown above between the following blocks
<tomcat-users> </tomcat-users>
Finally, save the file and close the editor.
To start the server Apache Tomcat, enter the command:
sudo /home/tomcat/bin/startup.sh
How to access Tomcat
After starting the Tomcat server, it will run on port 8080 by default and you can access the interface by going to https://127.0.0.1:8080.
If the tomcat server is running, you should see the default tomcat page:
If you’d like to learn about the different ways to start and stop the apache tomcat service, check out our article on this topic.
Conclusion
This article shows you how to install and configure the server Apache Tomcat on Linux. Check out our other Tomcat guides to learn more about securing and administering your Tomcat server.