SAGARFIVE

Installing Tomcat 10 on Ubuntu 22.04 LTS within AWS

Follow the below steps to execute

Step 1 : Open/Select EC2 by Searching EC2 on AWS Search bar

Click on Launch Instance

Step 2 – Launch an Instance : Configure your instance with below details

Sl.No Stage/step Details/configurations
(i) Name LP1_ubtuntu-apache-tomcat-server or <name>
(ii) Application and OS Images Ubuntu – 22.04-amd64-server-20230115
(iii) Instance type t2.micro
(iv) Key pair (login) New β†’ Name , type=RSA , Format=.pem
(v) Network settings Allow SSH traffic from AnywhereAllow HTTP traffic from the internet
(vi) Configure storage 8 GB – gp2 (keep as it is)
(vii) Advanced details Keep as it is
(viii) Launch instance Click on Launch instance on right side box

Step 3 – Configure now  :

(i) Name LP1_ubtuntu-apache-tomcat-server or <name>
(ii) Application and OS Images Ubuntu – 22.04-amd64-server-20230115

(iii) Instance type t2.micro

(iv) Key pair (login) Create Key pair
    Keypair name : <your-key-name>
    Key pair type : RSA
    Private key format :  choose pem
    Click on Create key pair button

Once you click on Create key pair  button, key will be automatically downloaded, remember the downloaded location

(v) Network settings Allow SSH traffic from AnywhereAllow HTTP traffic from the internet

(vi) Configure storage 8GB – gp2 (keep as it is)

(vii) Advanced details Keep as it is

(viii) Summary Click on Launch instance on right side box

Once after clicking on Launch instance , we redirects to another page, in that page we can see Luanch status and Launch logs as success,

Next click on Instance ID in the brackets to connect with that instance

Step 3 – Connecting to Instance using .pem SSH key through SSH Terminal :

(Terminal : if you don’t have the terminal on windows , just to go to Microsoft store(which is preinstalled on windows 10 and 11, Search for Windows Terminal and  install the Windows Terminal)

Wait until the checks completed , below screenshot shows your , instance state and status checks  with pending status and Wait up to 2-5 minutes, keep refreshing until you get the responses like below

Next, Select the instance  by selecting tick at its left side and click on connect button on top

We can connect to EC2 instance with below option

    • EC2 Instance Connect

    • Session Manager

    • SSH client

    • EC2 serial console

But in among them we use SSH client option to connect

Choose SSH, copy the Example: command

Check , which location the pem key is downloaded in file explorer

Open Terminal by searching on windows

Run the below commands:

  Moving to downloads directory cd downloads
  Paste the Example command here ssh -i “LP1_ubtuntu-apache-tomcat-server-keypair.pem” ubuntu@ec2-35-174-205-62.compute-1.amazonaws.com
    Press Enter

Now, we are connected to ubuntu EC2.

step -4 Installing Tomcat 10 on Ubuntu 22.04 LTS

Steps Topic Commands used
Step 1 Updating the ubuntu instance sudo apt update -y
Step 2 Installing the Java sudo apt install openjdk-11-jdk
Step 3 Verify java installation java –version
Step 4 Creating a system user sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcat
Step 5 Download Tomcat v 10.1.1 VER=”10.1.1″
    wget https://archive.apache.org/dist/tomcat/tomcat-10/v${VER}/bin/apache-tomcat-${VER}.tar.gz
Step 6 Extract tar archive and install Tomcat tar xvf apache-tomcat-${VER}.tar.gz
Step 7 Move extracted files to /usr sudo mv apache-tomcat-${VER} /usr/share/apache-tomcat
Step 9 Adding permission sudo chown -R tomcat /usr/share/apache-tomcat

Step 2 Updating the ubuntu instance
πŸ–₯️ command sudo apt update -y

πŸ–₯️ Terminal Response :


Step 2 Installing the Java
πŸ–₯️ command sudo apt install openjdk-11-jdk

Press Y if it asks you for permissions

πŸ–₯️ Terminal Response :

Step 3 Verify java installation
πŸ–₯️ command java –version

πŸ–₯️ Terminal Response :

Step 4 Mentioning version and Downloading Tomcat
πŸ–₯️ command VER=”10.1.1″
πŸ–₯️ command wget https://archive.apache.org/dist/tomcat/tomcat-10/v${VER}/bin/apache-tomcat-${VER}.tar.gz

πŸ–₯️ Terminal Response :

Step 5 Extracting the file
πŸ–₯️ command tar xvf apache-tomcat-${VER}.tar.gz

πŸ–₯️ Terminal Response :

Step 6 Moving the extracted for to a directory
πŸ–₯️ command sudo mv apache-tomcat-${VER} /usr/share/apache-tomcat
πŸ–₯️ command verifying files are moved or not by using this below command : ls /usr/share/apache-tomcat

πŸ–₯️ Terminal Response :

Files are moved , we got list of files in the directory

Step 7 Creating/adding tomcat system user
πŸ–₯️ command sudo useradd -M -d /usr/share/apache-tomcat tomcat
   Adding permission with his directory to the tomcat user
πŸ–₯️ command sudo chown -R tomcat /usr/share/apache-tomcat
   Verifying the changes (by long listing it)
πŸ–₯️ command  ll /usr/share | grep apache-tomcat

πŸ–₯️ Terminal Response : Successfully created user, added tomcat as  owner to /usr/share/apache-tomcat

Directory and we can see tomcat in the list as owner

To Read/Get More info by visiting this web page :

πŸŒπŸ”— https://sagar5.in/linux/linux-listing-directory-explanation/

Vi Editor :

On Next steps we use VI Editor, to edit the file on Terminals, it is a file editor, we need to use some commands to edit the files .

To Read/Get More info by visiting this web page :

πŸŒπŸ”— https://sagar5.in/linux/linux-vi-editor/

But right now we need basic information so just try to follow this

Note After running vim commands, file opens , to edit the file Press I andTo save the file first press the ESC button , next type :wq! , press Enter

Step 8 Making public accessible by commenting Remoteaddressvalue for manager
πŸ–₯️ command sudo vim /usr/share/apache-tomcat/webapps/manager/META-INF/context.xml
Comment this line  <!–<Valve className=”org.apache.catalina.valves.RemoteAddrValve”  allow=”127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1″ />–>

πŸ–₯️ Terminal Response :

Step 9 Making public accessible by commenting Remoteaddressvalue for host-manager
πŸ–₯️ command sudo vim /usr/share/apache-tomcat/webapps/host-manager/META-INF/context.xml
Comment this line <!–<Valve className=”org.apache.catalina.valves.RemoteAddrValve”  allow=”127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1″ />–>

πŸ–₯️ Terminal Response :

Step 10 Adding Tomcat username and password by editing tomcat-users.xml file
πŸ–₯️ command sudo vim /usr/share/apache-tomcat/conf/tomcat-users.xml
Add this lines before</tomcat-users> section <!– manager section user role –><role rolename=”manager-gui” /><user username=”AdminManager” password=”AdminManager@2023#” roles=”manager-gui” /><!– admin section user role –><role rolename=”admin-gui” /><user username=”AdminUser” password=”AdminUser@2023#” roles=”manager-gui,admin-gui” />
Note After running vim commands, file opens , to edit the file Press I andTo save the file first press the ESC button , next type :wq! , press Enter

πŸ–₯️ Terminal Response :

Step 10 Creating systemd service file
πŸ–₯️ command sudo vim /etc/systemd/system/tomcat.service
Copy paste the code to the file [Unit]Description=TomcatAfter=syslog.target network.target[Service]Type=forkingUser=tomcatGroup=tomcatEnvironment=JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64Environment=’JAVA_OPTS=-Djava.awt.headless=true’Environment=CATALINA_HOME=/usr/share/apache-tomcatEnvironment=CATALINA_BASE=/usr/share/apache-tomcatEnvironment=CATALINA_PID=/usr/share/apache-tomcat/temp/tomcat.pidExecStart=/usr/share/apache-tomcat/bin/catalina.sh startExecStop=/usr/share/apache-tomcat/bin/catalina.sh stop[Install]WantedBy=multi-user.target
Note After running vim commands, file opens , to edit the file Press I andTo save the file first press the ESC button , next type :wq! , press Enter

πŸ–₯️ Terminal Response :

When after running the above command , vi editor opens paste the above content here

Step 11  Reload systemd daemon
πŸ–₯️ command sudo systemctl daemon-reload

Step 12 start the tomcat service
πŸ–₯️ command sudo systemctl restart tomcat

Step 13  Enable tomcat to start at system boot
πŸ–₯️ command sudo systemctl enable tomcat

πŸ–₯️ Terminal Response :

Step 14  Check the status of tomcat service
πŸ–₯️ command sudo systemctl status tomcat

πŸ–₯️ Terminal Response :

Step 14  Verifying the port 8080
πŸ–₯️ command sudo ss -tunelp | grep 8080

πŸ–₯️ Terminal Response :

Step 14 Copy the public IP of EC2 by selecting it

Step 15 Open the public ip at browser by adding port 8080

Before opening it

Add a entry in Instance security group with

(i) Select instance, go security tab at bottom side and Click on Security group

(ii) Click on Edit inbound rules

(iii) Add Rule :

Type : Custom TCP , Port range : 8080 , Source : Anywhere – IPv4 , Next click on Save rules

Step 5: Login & Verify

Now open the Public ip with port : Now it is working

Now we can login in to Tomcat using tomcat-users.xml credentials

Admin user:

Username : AdminUser

&

Password : AdminUser@2023#

Manager user

Username : AdminManager

&

Password : AdminManager@2023#

Click on Manager App : Login with credentials of Manager

Now we can see Manager Admin panel