-
Notifications
You must be signed in to change notification settings - Fork 251
Ubuntu Tomcat Installation
It is recommended to install Tomcat from source using the latest version supported by PWM.
For this example, Tomcat will be installed to /opt/tomcat
Navigate to https://tomcat.apache.org/download-90.cgi and download the latest Tomcat 9.x distribution. Unzip this file into /opt/
and rename to tomcat
so that it is /opt/tomcat
. This just makes it easier to update down the road without using version numbers.
sudo useradd -c "Apache Tomcat" -r -s /usr/sbin/nologin tomcat
sudo addgroup tomcat
sudo adduser tomcat tomcat
sudo chown -R tomcat:tomcat /opt/tomcat
sudo chmod -R 0755 /opt/tomcat/bin
sudo chmod -R 0777 /opt/tomcat/logs
Use the below script to create a new file under /etc/init.d/ named 'tomcat'. Please adjust the INST_PATH
variable to where you have installed Tomcat
#!/bin/bash
#
# Startup script for Tomcat Servlet Engine
#
# chkconfig: 345 86 14
# description: Tomcat Servlet Engine
#
### BEGIN INIT INFO
# Provides: tomcat
# Required-Start: $remote_fs $syslog $network
# Required-Stop: $remote_fs $syslog $network
# Default-Start: 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Tomcat Servlet Engine
# Description: Tomcat Servlet Engine
### END INIT INFO
#
# Directory where tomcat is installed
INST_PATH=/opt/tomcat
# User under which tomcat will run
RUN_AS_USER=tomcat
case "$1" in
start)
su $RUN_AS_USER -c "$INST_PATH/bin/startup.sh" -s /bin/bash
;;
stop)
su $RUN_AS_USER -c "$INST_PATH/bin/shutdown.sh" -s /bin/bash
;;
restart)
su $RUN_AS_USER -c "$INST_PATH/bin/shutdown.sh" -s /bin/bash
su $RUN_AS_USER -c "$INST_PATH/bin/startup.sh" -s /bin/bash
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit $RETVAL
Once you have saved the file, set permissions and make it executable
sudo chmod +x /etc/init.d/tomcat
Now register the service using
sudo update-rc.d tomcat defaults
Use the below script to create a new file under /etc/systemd/system/ named 'tomcat.service'. Please adjust the variables to where you have installed Tomcat and where your JDK is located.
[Unit]
Description=Apache Tomcat
After=network.target
[Service]
Type=forking
PIDFile=/var/run/tomcat.pid
User=tomcat
Group=tomcat
# Tomcat variables
Environment='JAVA_HOME=/opt/jdks/java-11-openjdk'
Environment='CATALINA_PID=/var/run/tomcat.pid'
Environment='CATALINA_HOME=/opt/tomcat'
Environment='CATALINA_BASE=/opt/tomcat'
Environment='CATALINA_OPTS=-Xms256M -Xmx2048M -XX:+UseParallelGC -server'
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
[Install]
WantedBy=multi-user.target
Once you have saved the file, set permissions and make it executable
sudo chmod +x /etc/systemd/system/tomcat.service
Now register the service using
sudo systemctl enable tomcat.service
Now you can startup Tomcat
sudo /etc/init.d/tomcat start
OR sudo systemctl start tomcat
Source installation complete!