Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

StepAction

1) Creating the Tomcat directory


Code Block
languagebash
sudo mkdir -p /opt/tomcat


2) Create the group and user 'tomcat'.


Code Block
languagebash
sudo groupadd tomcat
sudo useradd -s /bin/bash -g tomcat -d /opt/tomcat tomcat


3) Changing the tomcat password


Code Block
languagebash
sudo passwd tomcat
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully


4) Download Tomcat 8.5

Info

The download version of tomcat is currently being updated. Check here to get the latest version (https://www-us.apache.org/dist/tomcat/tomcat-8)



Code Block
languagebash
cd /opt/Download
sudo wget httpshttp://www-usarchive.apache.org/dist/tomcat/tomcat-8/v8.5.51/bin/apache-tomcat-8.5.51.zip -P /opt/Download


5) Installing the tomcat 8.5 distribution in /opt/tomcat


Code Block
languagebash
sudo apt install unzip
sudo unzip apache-tomcat-8.5.51.zip
sudo mv apache-tomcat-8.5.51/* /opt/tomcat
sudo chown -R tomcat:tomcat /opt/tomcat
sudo chmod +x /opt/tomcat/bin/*.sh
sudo usermod -aG sudo tomcat # adding tomcat as sudo-user


6) Configuring environment variables

Add

CATALINA_HOME="/opt/tomcat"


Code Block
languagebash
title/etc/environment
linenumberstrue
sudo vi /etc/environment 


Code Block
title/etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/jvm/current/bin:/usr/lib/jvm/current/db/bin:/usr/lib/jvm/current/jre/bin:/opt/apache-maven-3.6.3/bin"
J2SDKDIR="/usr/lib/jvm/current"
J2REDIR="/usr/lib/jvm/current/jre"
JAVA_HOME="/usr/lib/jvm/current"
MAVEN_HOME=/opt/apache-maven-3.6.3
CATALINA_HOME="/opt/tomcat"


7) Create the service file to start tomcat


Code Block
languagebash
sudo vi /etc/systemd/system/tomcat.service


Code Block
title/etc/systemd/system/tomcat.service
[Unit]
Description=Tomcat 8.5 servlet container
After=network.target

[Service]
Type=forking
User=tomcat
Group=tomcat

Environment="JAVA_HOME=/usr/lib/jvm/current"
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

[Install]
WantedBy=multi-user.target


8) Operating the tomcat service


Code Block
languagebash
sudo systemctl daemon-reload
sudo systemctl start tomcat
sudo systemctl status tomcat


Code Block
titleResult
● tomcat.service - Tomcat 8.5 servlet container
   Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: enabled)
   Active: active (running) since Wed 2019-11-27 21:58:03 UTC; 4s ago
  Process: 2258 ExecStart=/opt/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS)
 Main PID: 2270 (java)
    Tasks: 52 (limit: 9246)
   CGroup: /system.slice/tomcat.service
           └─2270 /usr/lib/jvm/jdk1.8.0_231/bin/java -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLog

nov. 27 21:58:03 vivo-uqam systemd[1]: Starting Tomcat 8.5 servlet container...
nov. 27 21:58:03 vivo-uqam startup.sh[2258]: Tomcat started.
nov. 27 21:58:03 vivo-uqam systemd[1]: Started Tomcat 8.5 servlet container.


Code Block
languagebash
# if there is no error activate tomcat for a boot on server startup
sudo systemctl enable tomcat

Created symlink /etc/systemd/system/multi-user.target.wants/tomcat.service → /etc/systemd/system/tomcat.service.


9) Adjusting the firewall


Code Block
languagebash
sudo ufw allow 8080/tcp


10) Test installation

Display the start page from the server's IP address (Ex.: 192.168.7.144)

http://192.168.7.144:8080


Code Block
languagebash
sudo reboot -f

...