Skip to content

Latest commit

 

History

History
72 lines (67 loc) · 3.1 KB

tomcat-setup.md

File metadata and controls

72 lines (67 loc) · 3.1 KB

Tomcat installation on Compute instance GCP

Pre-requisites

  1. Compute instance in GCP with Java 11

Install Apache Tomcat

  1. 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
  2. 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

  3. 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

Check point :

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

Check point :

Access tomcat application from browser on port 8090

  • http://<Public_IP>:8090
  1. 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
  2. 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
  3. 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"/>
  4. Restart serivce and try to login to tomcat application from the browser. This time it should be Successful