A servlet container for power web applications
Installation
https://www.digitalocean.com/community/tutorials/how-to-install-apache-tomcat-9-on-debian-10
Get Java
sudo apt update
sudo apt install default-jdk
Make User
sudo groupadd tomcat
sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
Fetch Tomcat
Version will depend. Go check what the most recent one is here: https://downloads.apache.org/tomcat
wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.85/bin/apache-tomcat-9.0.85.tar.gz -P ~
sudo mkdir -p /opt/tomcat
sudo tar -xzf apache-tomcat-9.0.85.tar.gz -C /opt/tomcat/
Change Perms
sudo chown -R tomcat: /opt/tomcat
sudo chgrp -R tomcat /opt/tomcat
sudo find /opt/tomcat/tomcatapp/bin/ -type f -iname "*.sh" -exec chmod +x {} \;
- Find the java home path.
sudo update-java-alternatives -l
sudo nvim /etc/systemd/system/tomcat.service
write the following:
[Unit]
Description=Apache Tomcat Web Application Container
After=network.target
[Service]
Type=forking
Environment=JAVA_HOME=/usr/lib/jvm/java-1.17.0-openjdk-amd64
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target
Run Tomcat
sudo systemctl daemon-reload
sudo systemctl enable --now tomcat
Firewall Policy
if you have ufw
sudo ufw allow 8080/tcp
Open Tomcat
You can open tomcat with http://the_server_ip:8080