Tomcat 10 Installation
#!/bin/bash
set -e
echo "############################################################################"
echo "################### Tomcat 10 Instation ####################################"
# create tomact user
echo "create tomact user"
sudo useradd -m -d /opt/tomcat -U -s /bin/false tomcat
echo " install the JDK"
sudo apt update && sudo apt-get install openjdk-17-jdk -y
java -version
cd /tmp
wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.55/bin/apache-tomcat-10.1.55.tar.gz
echo "extract files to opt/tomcat dir"
sudo tar xzvf apache-tomcat-10*tar.gz -C /opt/tomcat --strip-components=1
## provide excute and file permissions to tomact user
sudo chown -R tomcat:tomcat /opt/tomcat/
sudo chmod -R u+x /opt/tomcat/bin
sed -i 's/manager_password/welcome@123/g' /opt/tomcat/conf/tomcat-users.xml
sed -i 's/admin_password/admin@12345/g' /opt/tomcat/conf/tomcat-users.xml
sed -i '/RemoteCIDRValve/s/allow="[^"]*"/allow="10.0.0.0\/8,127.0.0.1"/' /opt/tomcat/webapps/manager/META-INF/context.xml
echo " Creating a systemd service"
sudo tee /etc/systemd/system/tomcat.service <<EOF
[Unit]
Description=Apache Tomcat Web Application Container
After=network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/usr/lib/jvm/java-17-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
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl start tomcat
sudo systemctl status tomcat
