Installing Tomcat on Ubuntu is a fundamental step to get your applications up and running. In this guide, we’ll walk you through the best way to install Tomcat on Ubuntu, ensuring a smooth setup that optimizes both performance and security.
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).
Key Features of Tomcat
- 1.Java support: It s primarily used for hosting web applications written in Java, supporting Java Servlets, JSP, and Java Expression Language.
- 2.Lightweight application server: Tomcat is not a full-fledged application server like WildFly or Glassfish, but a lightweight server ideal for running web applications.
- 3.Cross-platform: Tomcat runs on any platform that supports Java.
- 4.Handles Java-based dynamic content: Unlike Apache, which is used to serve static content and dynamic content through scripting languages (PHP, Perl), Tomcat is specifically designed to serve Java-based web content.
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 on Ubuntu 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.
Steps to install Apache Tomcat on Ubuntu
Step 1: Update the System Before you begin, ensure your system packages are up-to-date. Run the following command:
sudo apt update
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
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
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
.
Step 4: Download Tomcat
Head to the Apache Tomcat site https://tomcat.apache.org/download-90.cgi to find the download link for the latest version. Download it using wget
, replacing <version>
with the version number:
wget https://downloads.apache.org/tomcat/tomcat-/v/bin/apache-tomcat-.tar.gz
Step 5: Extract the Tomcat Archive
Extract the downloaded file to the /opt/tomcat/
directory:
sudo tar -xf apache-tomcat-.tar.gz -C /opt/tomcat/
sudo tar -xf apache-tomcat-.tar.gz -C /opt/tomcat/
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-
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
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
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
sudo systemctl daemon-reload
Enable the service to start at boot:
sudo systemctl enable tomcat
sudo systemctl enable tomcat
Start Tomcat with:
sudo systemctl start tomcat
sudo systemctl start tomcat
Step 10: Verify Installation
You can check if Tomcat is running by accessing http://<your_server_ip>:8080
in a web browser.
Or, you can use the following command to check Tomcat’s status:
sudo systemctl status tomcat
sudo systemctl status tomcat
This guide should get Apache Tomcat running on your Ubuntu server securely and effectively!
Read More Tutorials: Setting Up SSH Key Based Authentication