Versions Compared

Key

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

...

This guide covers downloading and installing Tomcat 8 on an Ubuntu Linux 9 on a linux server.

Prerequisites

You have installed Ubuntu 16 Linux.

You The following instructions assume that:

  • you can login as a non-root user with sudo access.

...

  • you have installed Java, with the required settings.

Instructions

Step 1  Create Tomcat user

Warning

Do not run Tomcat as root as this constitutes a security risk.

...

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

Step 2  Download and

...

install Tomcat 

Excerpt
  1. Download

    1. To find the latest version

...

    1. , go to the

...

    1. Tomcat downloads page: https://tomcat.apache.org/download-90.cgi
    2. Find the latest Binary Distributions section, then the Core sub-heading, and copy the tar.gz link.

Download Tomcat

...

    1. To download Tomcat, on the Linux server, go to the tmp directory

...

    1. . Use the curl command to download from

...

    1. the the tar.gz link.

      Code Block
      cd /tmp
      curl -O http://mirror.ox.ac.uk/sites/rsync.apache.org/tomcat/tomcat-
8
    1. 9/
v8
    1. v9.
5
    1. 0.
11
    1. 38/bin/apache-tomcat-
8
    1. 9.
5
    1. 0.
11
    1. 38.tar.gz


  1. Install

...

    1. Unpack the

...

    1. Tomcat tar.gz file

...

    1. into /opt/tomcat.

      Code Block
      sudo mkdir /opt/tomcat
      cd /opt/tomcat
      sudo tar xvf /tmp/apache-tomcat-
8
    1. 9*tar.gz --strip-components=1


      This

...

    1. creates the tomcat folders (conf, logs, webapps etc.) directly under /opt/tomcat.

...

    1. Set the file ownership and permissions.

      Code Block
      cd /opt/tomcat
      sudo chown -R tomcat webapps/ work/ temp/ logs/
      sudo chgrp -R tomcat .
      sudo chmod -R g+r conf
      sudo chmod g+x conf


Step 3  Create a service wrapper

This stage step creates a wrapper which that allows tomcat Tomcat to be managed as a service. Using a service ; this allows tomcat to be stopped and started means you can stop and start Tomcat reliably, and ensures that the running environment (e.g. the starting directory) is well defined.

Specifically, these These instructions create a systemd service.

First, create a service definition file:

...

  1. JAVA_HOME points to the version of java that you want to use
  2. the memory settings (-Xms and -Xmx) on the line for CATALINECATALINA_OPTS are set as needed (this example assumes you are allocating 8GB of memory to tomcat)
  3. the location of the GC (Garbage Collection) log file, set in CATALINA_OPTS, is correct - in the examples below, this /opt/tomcat/logs

Java 8

Code Block
[Unit]
Description=Apache Tomcat Web Application Container
After=network.target

[Service]
Type=forking

Environment=JAVA_HOME=/opt/jdk/jdk1.8.0_85/jre
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms8096M -Xmx8096M -server -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:/opt/tomcat/logs/gc.log -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=10m'
Environment='JAVA_OPTS=-Djava.awt.headless=true'

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

WorkingDirectory=/opt/tomcat

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

[Install]
WantedBy=multi-user.target

Java 11

Code Block
[Unit]
Description=Apache Tomcat Web Application Container
After=network.target

[Service]
Type=forking

Environment=JAVA_HOME=/opt/jdk/jdk-11.0.13+8
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms8096M -Xmx8096M -server -verboseXlog:gc:file=/opt/tomcat/logs/gc.log:time,level,tags:filecount=10,filesize=10m'
Environment='JAVA_OPTS=-Djava.awt.headless=true'

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

WorkingDirectory=/opt/tomcat

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

[Install]
WantedBy=multi-user.target

...