- Compute instance in GCP with Java 11
- Download tomcat packages from https://tomcat.apache.org/download-80.cgi onto /opt on EC2 instance
Note: Make sure you change
<version>
with the tomcat version which you download.# Create tomcat directory cd /opt yum install wget -y wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.7/bin/apache-tomcat-10.1.7.tar.gz tar -xvzf /opt/apache-tomcat-10.1.7.tar.gz
- give executing permissions to startup.sh and shutdown.sh which are under bin.
chmod +x /opt/apache-tomcat-10.1.7/bin/startup.sh chmod +x /opt/apache-tomcat-10.1.7/bin/shutdown.sh
Note: you may get below error while starting tomcat incase if you dont install Java
Neither the JAVA_HOME nor the JRE_HOME environment variable is defined At least one of these environment variable is needed to run this program
- create link files for tomcat startup.sh and shutdown.sh
ln -s /opt/apache-tomcat-<version>/bin/startup.sh /usr/local/bin/tomcatup ln -s /opt/apache-tomcat-<version>/bin/shutdown.sh /usr/local/bin/tomcatdown tomcatup
access tomcat application from browser on port 8080
- http://<Public_IP>:8080
Using unique ports for each application is a best practice in an environment. But tomcat and Jenkins runs on ports number 8080. Hence lets change tomcat port number to 8090. Change port number in conf/server.xml file under tomcat home
cd /opt/apache-tomcat-10.1.7/conf
# update port number in the "connecter port" field in server.xml
# restart tomcat after configuration update
tomcatdown
tomcatup
Access tomcat application from browser on port 8090
- http://<Public_IP>:8090
- now application is accessible on port 8090. but tomcat application doesnt allow to login from browser. changing a default parameter in context.xml does address this issue
#search for context.xml find / -name context.xml
- above command gives 3 context.xml files. comment ()
Value ClassName
field on files which are under webapp directory. After that restart tomcat services to effect these changes. At the time of writing this lecture below 2 files are updated./opt/tomcat/webapps/host-manager/META-INF/context.xml /opt/tomcat/webapps/manager/META-INF/context.xml # Restart tomcat services tomcatdown tomcatup
- Update users information in the tomcat-users.xml file
goto tomcat home directory and Add below users to conf/tomcat-users.xml file
<role rolename="manager-gui"/> <role rolename="manager-script"/> <role rolename="manager-jmx"/> <role rolename="manager-status"/> <user username="admin" password="admin" roles="manager-gui, manager-script, manager-jmx, manager-status"/> <user username="deployer" password="deployer" roles="manager-script"/> <user username="tomcat" password="s3cret" roles="manager-gui"/>
- Restart serivce and try to login to tomcat application from the browser. This time it should be Successful