> For the complete documentation index, see [llms.txt](https://docs.ovaledge.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ovaledge.com/release7.2/deployment-and-maintenance/installation/tomcat-10.1.x-on-ubuntu-22.04.md).

# Tomcat 10.1.x on Ubuntu 22.04

This article provides detailed steps to install and configure the OvalEdge Application on an Ubuntu 22.04 machine. It includes both single-instance and multi-instance (UI and Job) deployment options using Apache Tomcat.

## Prerequisites

* Ubuntu 22.04 system with internet access
* A user with sudo privileges
* Java 17 installed ([**Installation of JAVA on Ubuntu 22.04**](/release7.2/deployment-and-maintenance/installation/java-17.x-on-ubuntu-22.04+.md))
* MySQL (local VM [**Installation of MySQL on Ubuntu 22.04**](/release7.2/deployment-and-maintenance/installation/mysql-8.4.x-on-ubuntu-22.04+.md) or AWS RDS) installed and accessible
* Required configuration files and `.jar` packages provided by OvalEdge Support

### Single-Instance Deployment (Single Tomcat)

1. #### Create Required Directories
   * Log in to the application VM and create the following directories to store application configuration files and dependencies:

     ```bash
     mkdir ~/extprop ~/temp ~/third_party_jars
     ```

     <div align="left"><figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdvuvMw7QBLeqmv1C-8goggi7luRTVPWbWgo8-bSkd5W0fXHvDjWwJN69f3IGnbAPNsFZX4Nws4TjCwYItJkmH522NIpuYlSVCXoDwR6hL4kfLxppmm9HfJKINQX7FEi8S8SWsObw?key=JrlNkVdtC5rJTX9ytztE-A" alt=""><figcaption></figcaption></figure></div>

     <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><ul><li>The <code>oasis.properties</code> and <code>log4j.properties</code> files will be provided by the OvalEdge Team. Place them in the <code>extprop</code> folder.</li><li>JAR files required for the application will also be provided. Place them in the <code>third_party_jars</code> folder.</li></ul></div>

2. **Place Configuration Files**
   * Download and place the following files into the respective folders (provided by OvalEdge Support):<br>

     * `oasis.properties` → `~/extprop/`
     * `log4j.properties` → `~/extprop/`
     * Third-party JARs → `~/third_party_jars/`\ <br>

     <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FGaTAuonIflUnrB0460FJ%2Fimage.png?alt=media&amp;token=dbc34c8f-a096-4651-9e45-ce0f12b88e82" alt=""><figcaption></figcaption></figure>

3. **Download and Extract Tomcat**
   * Download the required JAR file into the `third_party_jars` folder as shown below. The JAR files will be provided by the OvalEdge team.<br>

     <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FJ1vb1tgVvfTV3TD0XbrI%2Fimage.png?alt=media&amp;token=4b77526b-047e-4b1e-b171-fbb7f774b01e" alt=""><figcaption></figcaption></figure>
   * Now download the Tomcat using the URL below as shown.

     **Link:** [Tomcat Link](https://ovaledge.s3.us-west-1.amazonaws.com/scripts/hardened_tomcat/apache-tomcat-10.1.40.tar.gz)

     ```bash
     wget https://ovaledge.s3.us-west-1.amazonaws.com/scripts/hardened_tomcat/apache-tomcat-10.1.40.tar.gz
     tar -xvf apache-tomcat-10.1.40.tar.gz
     ```

     <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FHB6hEB8XYmNpgTT9NXqH%2Fimage.png?alt=media&amp;token=c091c7b2-65fd-4cea-ac8b-88176eede989" alt=""><figcaption></figcaption></figure>

     <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FjXPCJ7La9qd9ns8uHnIm%2Fimage.png?alt=media&amp;token=6ba78dd9-4958-47d2-8cf9-737709bb9f20" alt=""><figcaption></figcaption></figure>

4. **Configure Environment Variables**
   * Navigate to the Tomcat bin directory and create the `setenv.sh` file:

     ```bash
     vi apache-tomcat-10.1.40/bin/setenv.sh
     ```

     Add the following (replace `<client_input>` with the actual key):

     ```bash
     export CATALINA_OPTS="-Duse.http=true -DOVALEDGE_SECURITY_TYPE=db \
     -Dlog4j.configuration=file:/home/ovaledge/extprop/log4j.properties \
     -Dext.properties.dir=file:/home/ovaledge/extprop/ -Xms4g -Xmx7g \
     -DOVALEDGE_ENCRYPT_DECRYPT_KEY=<client_input> \
     --add-opens=jdk.zipfs/jdk.nio.zipfs=ALL-UNNAMED \
     --add-opens=java.base/jdk.internal.loader=ALL-UNNAMED \
     --add-opens=java.base/java.net=ALL-UNNAMED"
     ```

     ✅ Ensure the path to `oasis.properties` and `log4j.properties` is correct.<br>

     <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FF2GLh3U2CZNDOBqHYa4P%2Fimage.png?alt=media&amp;token=df8f3c30-6987-4e83-9155-dbebd3aed89f" alt=""><figcaption></figcaption></figure>

5. **Deploy OvalEdge Application**
   * Navigate to the webapps directory and copy or download the `ovaledge.war` file (provided by the OvalEdge Team):
     * Place the `ovaledge.war` file into the `webapps` directory.<br>

       <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FbVaCq4nuVPPrmSsUHCJa%2Fimage.png?alt=media&amp;token=00228988-ae4d-40d7-a52d-64cd6350f584" alt=""><figcaption></figcaption></figure>

6. **Update Configuration Files**
   * Edit `oasis.properties` in `extprop` folder

     <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FYUGawFlNL9K39AWdn336%2Fc.jpg?alt=media&amp;token=53674862-0c4f-41a7-957d-2b32bcf67908" alt=""><figcaption></figcaption></figure>

     * **Database Section:** Replace localhost, username, and password with your MySQL connection details.
     * **Elasticsearch Section:**

       * Set `elasticsearch.enabled=true`
       * Set `es.host` and `es.password` with actual values

       <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FHyDsdxFeBlIz9FmXsZVE%2Fimage.png?alt=media&amp;token=d27c4373-f9b8-45b0-a36b-e91de400bfa5" alt=""><figcaption></figcaption></figure>
     * Update the JARs path to point to the `third_party_jars` folder:

       * `/home/ovaledge/third_party_jars`\
         \
         \
         \
         &#x20;

       <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FYheWoNi0ogs9vV2rsKqS%2Fimage.png?alt=media&amp;token=9b5e5be3-cd3c-4fa8-a19c-4487dd63415a" alt=""><figcaption></figcaption></figure>
   * Save the file after making changes.

7. **Update `log4j.properties` Configuration**
   * Edit the `log4j.properties` file in the `extprop` directory:
     * Uncomment the 1st line
     * Comment the 2nd line<br>

       <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2Fd5IUovVFKJ59FRGgUkVa%2Fimage.png?alt=media&amp;token=c6508456-464c-4003-89b7-51f52ebf5182" alt=""><figcaption></figcaption></figure>
   * Save the file after editing.

8. **Create Tomcat Service**
   * Create a systemd service file to manage Tomcat as a Linux service:

     ```bash
     sudo vi /etc/systemd/system/tomcat.service
     ```
   * Paste the following content:

     ```ini
     [Unit]
     Description=Apache Tomcat for OvalEdge
     After=network.target

     [Service]
     Type=forking
     WorkingDirectory=/home/ovaledge/apache-tomcat-10.1.40/bin
     ExecStart=/bin/bash /home/ovaledge/apache-tomcat-10.1.40/bin/startup.sh
     ExecStop=/bin/bash/home/ovaledge/apache-tomcat-10.1.40/bin/shutdown.sh
     User=ovaledge
     Group=ovaledge

     [Install]
     WantedBy=multi-user.target
     ```

     <br>

     <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FG37tZk3mAGk1zUB9G5zx%2Fimage.png?alt=media&amp;token=7304954c-10e2-4c02-a955-c44942e7f210" alt=""><figcaption></figcaption></figure>
   * Save and close the file.

9. **Start and Enable Tomcat**
   * Run the following commands to register and start the Tomcat service:

     ```bash
     sudo systemctl daemon-reload
     sudo systemctl enable tomcat
     sudo systemctl start tomcat
     ```

     <figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcKvVCX0Wb_U0H8OvyOJaYj5IwTnI8ExHtSM1TfhbcClA7on7VVecu5JqSOvHhOn7yrmxs_yRrqRDeI5WrQ7zFt-VLJYxn0qf8dPm_wW3vhcfId4FnjquPd0ukw9dqWwb1OKLmW-A?key=JrlNkVdtC5rJTX9ytztE-A" alt=""><figcaption></figcaption></figure>

10. **Access the Application**
    * After a few minutes, open a browser and go to:

      ```
      http://<VM-IP>:8080/ovaledge
      ```

      <figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXe2ZLjIA6IWbi76KSdqeOLl_ggrhpbnf6dxV9CjLYFuYLONWVuVb__eW8fyXwl2glpsGOWy3e8JTgkyKBhv7MSShucVYkSFE3_ZaOGsWMnssnDPbAdAHcDwZfdB39UgqxWxbdaOjg?key=JrlNkVdtC5rJTX9ytztE-A" alt=""><figcaption></figcaption></figure>

### Multi Tomcat Installation

1. **Log in to Application VM**

   ```bash
   ssh <user>@<application_vm_ip>
   ```

   <figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcOGOyfpVR2g_a7m5gtJQrE5HEf6YrpHsTtWDUEEM-a0ZEMFrxv1i8Bqrnr-9OcNkzo-Z_OjkuiO-hXmgdQn-kDn7EhIzFpTt1Tmaz4JO97VzRRvggpu-Eqx1lWn_-bPknQ4d-O?key=JrlNkVdtC5rJTX9ytztE-A" alt=""><figcaption></figcaption></figure>
2. **Create Required Directories**
   * Create the following directories to store configuration files and external libraries:

     ```bash
     mkdir ~/extprop ~/temp ~/third_party_jars
     ```

     <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><ul><li><code>oasis.properties</code> and <code>log4j.properties</code> will be provided by the OvalEdge team. Place them in the <code>extprop</code> folder.</li><li>JAR files required for the application should be placed in the <code>third_party_jars</code> folder.</li></ul></div>

     <div align="left"><figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeVa_Uwrf4wLkwYnSqA8Y8N-Y2wxILxWxnA7QN-oOq6TP9z1HUD22gLoHlBxVV6slCNQXZNPb8-FrO8Xn_5gMYon9YmulnIJ8c7hwBUtNBOmqZgvHwKJxw9Y3Q2FAjgd-G7WxRaPA?key=JrlNkVdtC5rJTX9ytztE-A" alt=""><figcaption></figcaption></figure></div>
3. **Download Required Files**
   * Download the `oasis.properties` and `log4j.properties` files into the folder. These files will be shared by the OvalEdge team.<br>

     <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FDbgJOT6KtM3J9BnUFlrB%2Fimage.png?alt=media&amp;token=35bff0bb-a4bb-494f-9620-186e1134092a" alt=""><figcaption></figcaption></figure>
   * Download the JAR files provided by the OvalEdge team and place them in the third\_party\_jars folder.

     <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2F5RODVtekvChYw49INaBX%2Fimage.png?alt=media&amp;token=129daa7e-a40a-4311-ab22-d25f9615ddfa" alt=""><figcaption></figcaption></figure>
   * Download Tomcat: [Tomcat Link](https://ovaledge.s3.us-west-1.amazonaws.com/scripts/hardened_tomcat/apache-tomcat-10.1.40.tar.gz)

     ```bash
     wget https://ovaledge.s3.us-west-1.amazonaws.com/scripts/hardened_tomcat/apache-tomcat-10.1.40.tar.gz
     ```

     <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FiX5k8XFWVkIsjkQ5VISu%2Fimage.png?alt=media&amp;token=f0c31e8d-cc23-4b5a-89a7-206829e7947b" alt=""><figcaption></figcaption></figure>

     Extract the Apache Tomcat archive with the following command:

     ```bash
     tar -xvf apache-tomcat-10.1.40.tar.gz
     ```

     <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FH85cX0Q0sMEuNKjPjSlw%2Fimage.png?alt=media&amp;token=c99732e3-d37a-4253-a516-9b8e796157db" alt=""><figcaption></figcaption></figure>

     <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FPGo6mU64IfaeqMroBaHB%2Fimage.png?alt=media&amp;token=e77b6e03-766c-4912-9418-48113e9e98d9" alt=""><figcaption></figcaption></figure>

### Tomcat UI Instance Setup

* Once the above steps are completed, rename the apache-tomcat-10.1.40 directory to tomcatui as shown below.

  ```bash
  mv apache-tomcat-10.1.40 tomcatui

  ```

  <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2Fiq2z1bqN6ZFbBuDDn0G6%2Fimage.png?alt=media&amp;token=9ca58dad-c96b-4595-ae5a-a7548bb1d0ba" alt=""><figcaption></figcaption></figure>

#### Deploy WAR File

* Navigate to the tomcatui/webapps folder and download the ovaledge.war file as shown below.

  ```bash
  cp ~/Downloads/ovaledge.war ~/tomcatui/webapps/
  ```

  <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FzOZXGaZLIZ8E4LNF9o5k%2Fimage.png?alt=media&amp;token=371a70e7-aaea-40fc-804d-b4f6251d4ddc" alt=""><figcaption></figcaption></figure>
* <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p>The ovaledge.war file will be provided by the OvalEdge team.</p></div>

#### Configure Environment Variables

* Create and edit the setenv.sh file inside tomcatui/bin:

  ```bash
  vi ~/tomcatui/bin/setenv.sh
  ```
* Paste the following content (replace with the actual value shared by OvalEdge):

  ```bash
  export CATALINA_OPTS="-Duse.http=true \
  --add-opens=java.base/jdk.internal.loader=ALL-UNNAMED \
  --add-opens=jdk.zipfs/jdk.nio.zipfs=ALL-UNNAMED \
  --add-opens=java.base/java.net=ALL-UNNAMED \
  -DOVALEDGE_SECURITY_TYPE=db \
  -Dext.properties.dir=file:/home/ovaledge/extprop/ \
  -DOVALEDGE_ENCRYPT_DECRYPT_KEY=<encrypt-decrypt> \
  -Dpod.type=ovaledge-ui-deployment \
  -Xms4g -Xmx8g"
  ```

  <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2F0bBJdTfa8DAPBatIIl9b%2Fimage.png?alt=media&amp;token=445a9822-1a50-4eac-96e1-2121304768d7" alt=""><figcaption></figcaption></figure>
* Save and exit.

### Tomcat Job Instance Setup

* Duplicate the UI Tomcat Instance.

  ```bash
  cp -R ~/tomcatui ~/tomcatjob
  ```

  <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2F4WCiVtUw0a5akKC445r9%2Fimage.png?alt=media&amp;token=adebb2d8-bbb1-4a0b-845f-87b68588ca67" alt=""><figcaption></figcaption></figure>
* Update Job `setenv.sh`:

  ```bash
  vi ~/tomcatjob/bin/setenv.sh
  ```
* Replace the content with:

  ```bash
  export CATALINA_OPTS="-Duse.http=true \
  --add-opens=java.base/jdk.internal.loader=ALL-UNNAMED \
  --add-opens=jdk.zipfs/jdk.nio.zipfs=ALL-UNNAMED \
  --add-opens=java.base/java.net=ALL-UNNAMED \
  -DOVALEDGE_SECURITY_TYPE=db \
  -Dext.properties.dir=file:/home/ovaledge/extprop/ \
  -DOVALEDGE_ENCRYPT_DECRYPT_KEY=<encrypt-decrypt> \
  -Dpod.type=ovaledge-job-deployment \
  -Xms4g -Xmx8g"
  ```

  <figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXe-wOXo633jZ1wOdyAODqcXZ5dbXKI8h44Bv3EUnxR-umSBnt8c8NS4CexGGkgBQVcAMdd0dvy2liJ1lNDhVNqlfQlwVaPgjuc31Iez030UhkLkmPwjkrRWIZibdW1Dy25xfIvL8g?key=JrlNkVdtC5rJTX9ytztE-A" alt=""><figcaption></figcaption></figure>
* Ensure that the -Dpod.type is set to ovaledge-job-deployment.
* Save and exit the file.

### Update Ports in Job Instance

* Edit `server.xml`:

  ```bash
  vi ~/tomcatjob/conf/server.xml
  ```
* Change the following ports to avoid conflicts with the UI instance:

  * Default Port New Port for Job
  * Shutdown port: `8005 → 8006`
  * HTTP connector port: `8080 → 8081`

  <div align="left"><figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeUB2RrgGEYIXptKmNOPEsjg8M0klRwyH4UXbzwysB4QJ0x82BWi5R7l_YIwFpoH5r_BB-Uicbrns6sQFQDOwPWfQUsHNzeAkcF3O8IcNmi7wNlUlyTlSCoe5UIFTvbTC_GqfphBg?key=JrlNkVdtC5rJTX9ytztE-A" alt=""><figcaption></figcaption></figure></div>

  <div align="left"><figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeMFlP1xU0zNYDohv7kY-O3arQ73F6gK_iMjem_eI6ed0qXVYs7T33L8irQ-HVD436iyFZb9RloFjJ8rqKW02Xh3YMc0GaWfDFmRxWN6JniJI3LxWAB252v2jNu53kJk1Z_QyW-4w?key=JrlNkVdtC5rJTX9ytztE-A" alt=""><figcaption></figcaption></figure></div>
* Make sure all port references are updated correctly. Save and exit.

### Expose Tomcat Instances as Systemd Services

To enable Tomcat UI and Job instances to start, stop, and restart as managed services on Linux, follow the steps below:

* Navigate to the Systemd Directory.

  ```bash
  cd /etc/systemd/system
  ```
* Create the tomcatui Service File.
  * Create a systemd service unit for the UI instance:

    ```bash
    sudo vim tomcatui.service
    ```
  * Paste the following configuration:

    ```ini
    [Unit]
    Description=Apache Tomcat Web Application Container for OvalEdge UI
    After=syslog.target network.target

    [Service]
    Type=forking
    WorkingDirectory=/home/ovaledge/tomcatui/bin
    ExecStart=/bin/bash /home/ovaledge/tomcatui/bin/startup.sh
    ExecStop=/bin/bash /home/ovaledge/tomcatui/bin/shutdown.sh
    User=ovaledge
    Group=ovaledge

    [Install]
    WantedBy=multi-user.target
    ```

    <div align="left"><figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfqweMgq0ycKXFM5RQfrpl6siNr20u_TQUVLucaFIEMaWMW2sjC7Osjsq18V-xZSK-UXhmk1_DxMJjnidfy9CmzLe5F9I97O1rOrFjoXbLTDa8Q4CXoCrAMFJDIEeWDB4EUjhgJKg?key=JrlNkVdtC5rJTX9ytztE-A" alt=""><figcaption></figcaption></figure></div>
  * Save and exit the file.
* Create the Tomcat Job Service File.
  * Create the service file for the Job instance:

    ```bash
    sudo vim tomcatjob.service
    ```
  * Insert the following content:

    ```ini
    [Unit]
    Description=Apache Tomcat Web Application Container for OvalEdge Job
    After=syslog.target network.target

    [Service]
    Type=forking
    WorkingDirectory=/home/ovaledge/tomcatjob/bin
    ExecStart=/bin/bash /home/ovaledge/tomcatjob/bin/startup.sh
    ExecStop=/bin/bash /home/ovaledge/tomcatjob/bin/shutdown.sh
    User=ovaledge
    Group=ovaledge

    [Install]
    WantedBy=multi-user.target
    ```

    <div align="left"><figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXelgMfVXP3QiGAEiuh5xGJMvDEQUk4_n5hUAquxFGRPmVHxPDItVYTLi5zZ47ZRRJmS-flqcZWqs0gA-qarw7RA9bEZDom-IQTFip6QNEQo_6qMMcVArDjMenFKy72FjmeeMh-yWA?key=JrlNkVdtC5rJTX9ytztE-A" alt=""><figcaption></figcaption></figure></div>
  * Save and exit the file.
* Reload Systemd Services
  * Reload the systemd daemon to apply the newly created service units:

    ```bash
    sudo systemctl daemon-reload
    ```

### Configure `oasis.properties` and `log4j.properties` Files

After completing the deployment steps, configure the application properties to reflect your environment.

**Edit `oasis.properties` File**

* Navigate to the `extprop` folder and open the file:

  ```bash
  cd /home/ovaledge/extprop
  vi oasis.properties
  ```
* **Database Configuration**
  * Replace `localhost` with your MySQL endpoint.
  * Replace `username` and `password` with your actual MySQL credentials.

    <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FK45Gz2lqrfmp9iSjAiq1%2Fimage.png?alt=media&amp;token=4f179670-5fa6-43a3-b56f-47f631d8b506" alt=""><figcaption></figcaption></figure>
* **Elasticsearch Configuration**
  * Set `elasticsearch.enabled=true` if Elasticsearch is available.

    <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FGeOwTuWp7cTFFDuIBBtE%2Fimage.png?alt=media&amp;token=3267a8de-806b-4be5-9e45-815551095507" alt=""><figcaption></figcaption></figure>
  * Provide your Elasticsearch host details.
  * Example:

    ```properties
    elasticsearch.enabled=true
    es.host=<your-es-host>
    es.password=<your-es-password>
    ```
* **JARs Path Configuration**
  * Specify the correct path for external JAR files.

    <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FIQlpyeMtRcg4v57Oy81v%2Fimage.png?alt=media&amp;token=a3e59728-08ae-4163-8282-a710699de7e4" alt=""><figcaption></figcaption></figure>
  * Example:

    ```properties
    external.jars.path=/home/ovaledge/third_party_jars
    ```
  * *(Insert sample reference screenshot here)*
* Save and close the file.

**Edit `log4j.properties` File**

* Navigate to the `extprop` folder and open the file:

  ```bash
  vi log4j.properties
  ```
* At the top of the file, locate two lines — one commented out, the other active.
* Update as follows:
  * Uncomment the first line.
  * Comment out the second line.

    <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FdfkmRGdvYRq3ib23BPdt%2Fimage.png?alt=media&amp;token=039d8c5b-008d-4fa2-bd2f-25d06877fe1d" alt=""><figcaption></figcaption></figure>
* Save and close the file.

**Start Tomcat Services**

* Reload `systemd` and enable Tomcat services to start on boot:

  ```bash
  sudo systemctl daemon-reload
  sudo systemctl enable tomcatui
  sudo systemctl enable tomcatjob
  ```
* Start services:<br>

  ```bash
  sudo systemctl start tomcatui
  sudo systemctl start tomcatjob
  ```

  <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FPDGt45cKjbhkBeQOXm7G%2Fimage.png?alt=media&amp;token=15ea42c1-821e-42ca-b6d8-d2fc1f2daa1a" alt=""><figcaption></figcaption></figure>

**Access the Application**

* Wait approximately 2 minutes after starting the services.
* Open a web browser and access:<br>

  ```
  http://<IP_ADDRESS>:8080/ovaledge
  ```

  <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FMQA1UIFyIEMGvjixUZB8%2Fimage.png?alt=media&amp;token=4becebbe-2063-4a28-a8c4-c613a2d1aa5e" alt=""><figcaption></figcaption></figure>
* Replace `<IP_ADDRESS>` with the actual VM IP address.

***

Copyright © 2025, OvalEdge LLC, Peachtree Corners, GA, USA.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.ovaledge.com/release7.2/deployment-and-maintenance/installation/tomcat-10.1.x-on-ubuntu-22.04.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
