Java server powered by Apache Tomcat® 10.1 and OpenJDK 17 on Ubuntu 24.04; Apache proxy on port 80
You get a Java web application server powered by Apache Tomcat® 10.1.60 on OpenJDK 17, with Apache® HTTP Server 2.4 in front of it, on Ubuntu 24.04 LTS. A placeholder page answers on port 80 from first boot; copy in your WAR file and Tomcat deploys it.
Who it's for
- Java developers deploying WAR files (packaged Java web applications)
- Teams moving a Tomcat 10 application onto a VM in their own Azure subscription
- Anyone who wants to skip the manual install of Java, Tomcat and a proxy
What's included
- Tomcat 10.1.60, the servlet container (the server that runs Java web applications), in /opt/tomcat, a systemd service (starts with the VM) running as a dedicated tomcat user
- OpenJDK 17, the long-term support Java runtime, from Ubuntu
- Apache HTTP Server 2.4 as a reverse proxy: it receives web requests on port 80 and passes them to Tomcat on port 8080
- The examples, documentation and Host Manager webapps removed. The Manager webapp is still deployed but has no user accounts, so it accepts no sign-in.
- Host firewall (ufw) that allows only SSH, 80 and 443; port 8080 is reachable only from inside the VM
After you deploy
- First boot starts Tomcat and Apache and checks that both answer before setup is marked complete. No credentials are created: there is no web login.
- Allow port 80 in your Azure network security group (NSG) from your own address and browse to http://<VM-IP>/.
- SSH in with the key you chose at deployment, copy your WAR into /opt/tomcat/webapps/ and Tomcat deploys it. Restart with sudo systemctl restart tomcat.
- HTTPS is not set up: port 443 is open in the VM firewall, but you add the certificate and an Apache HTTPS site (virtual host).
- Tomcat 10.1 uses the jakarta.* package names; apps built for Tomcat 9 or earlier (javax.*) need migrating first.
- Need the Manager app? Add a user with a manager role in tomcat-users.xml and restrict who can reach it.
Why this image
- Pinned Tomcat version, with no default users or passwords
- No TLS key or credential baked into the image; every build is checked for them
- Every build is test-deployed to check the page through Apache, Tomcat on 8080 and the locked Manager
- Ubuntu updates applied when each image version is built
How it runs on Azure
A virtual machine in your own subscription and virtual network (VNet). The software charge is pay-as-you-go on your Azure invoice, alongside compute and storage. Recommended sizes include Standard_D2as_v5 and Standard_E2ds_v5.
License and support: Tomcat and Apache HTTP Server are open-source under the Apache License 2.0. Apache® and Tomcat® are registered trademarks of The Apache Software Foundation; this image is packaged by Derek Coleman & Associates Inc and is not endorsed by the ASF. Get started with the setup guide at www.dcassociatesgroup.com/support