1 min read

TomCat Installation

How to install and configure Tomcat correctly

Installing

java -version # Assurer que Java est installé
wget -c https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.111/bin/apache-tomcat-9.0.111.tar.gz
sudo mkdir -p /opt/tomcat
sudo tar xf apache-tomcat-9.0.111.tar.gz -C /opt/tomcat
sudo ln -s /opt/tomcat/apache-tomcat-9.0.111 /opt/tomcat/updated
sudo useradd -r -m -U -d /opt/tomcat -s /bin/false tomcat
sudo chown -R tomcat: /opt/tomcat/* # Pour sécurité, chaque service sur Linux doit avoir son propre utilisateur dédié
sudo sh -c 'chmod +x /opt/tomcat/updated/bin/*.sh'
code tomcat.service
[Unit]
Description=Apache Tomcat Web Application Container
After=network.target

[Service]
Type=forking

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

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

User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always

[Install]
WantedBy=multi-user.target
sudo cp tomcat.service /etc/systemd/system/tomcat.service
sudo systemctl daemon-reload
sudo systemctl start tomcat
sudo systemctl enable tomcat
sudo ufw allow 8080/tcp

The AVA_HOME variable value must correspond to the actual java version on your machine. Run ls /usr/lib/jvm to verify.

Testing

  1. Access localhost:8080/guacomole in a browser on the same device. You should be able to log-in and access the terminal.

You may find this guide helpful.