Tomcat Server

Github


Embedded Tomcat

Service Installation


Standalone Tomcat

References

  1. How To Install Apache Tomcat 10 on Ubuntu 20.04 | DigitalOcean

Tomcat User

sudo useradd -m -d /opt/tomcat -U -s /bin/false tomcat
sudo chown -R tomcat:tomcat /opt/tomcat/
sudo chmod -R u+x /opt/tomcat/bin

Installation

cd /tmp

Download Tomcat

wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.73/bin/apache-tomcat-9.0.73.tar.gz
wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.89/bin/apache-tomcat-9.0.89.tar.gz

Untar tomcat

mkdir -p /opt/tomcat
sudo tar xzvf apache-tomcat-9*tar.gz -C /opt/tomcat --strip-components=1

Giving admin permission

Ubuntu

sudo vim /opt/tomcat/conf/tomcat-users.xml
<role rolename="manager-gui" />
<user username="manager" password="manager" roles="manager-gui" />

<role rolename="admin-gui" />
<user username="admin" password="admin" roles="manager-gui,admin-gui" />

Remove valve

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

Comment out valve

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

Systemd Service

sudo vim /etc/systemd/system/tomcat.service
[Unit]
Description=Tomcat
After=network.target

[Service]
Type=forking

User=tomcat
Group=tomcat

Environment="JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"
Environment="CATALINA_BASE=/opt/tomcat"
Environment="CATALINA_HOME=/opt/tomcat"
Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"

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

RestartSec=10
Restart=always

[Install]
WantedBy=multi-user.target

sudo systemctl start tomcat
sudo systemctl status tomcat

Deploying web application

Deploy a Spring Boot WAR into a Tomcat Server | Baeldung

SSL Enable

Listening on multiple ports

  1. Configuring Tomcat to Listen on Multiple Ports

Installing in Windows

  1. Installing Tomcat