How to Set up a Free WiFi Hotspot Billing Software with TP-Link Omada Controller on Ubuntu 24.04

Introduction

The TP-Link Omada Controller is a free hotspot billing software that helps you manage WiFi networks by selling time-based vouchers. The software allows you to efficiently monitor network usage, enforce access control, and optimize bandwidth usage. You can use Omanda controller to monetize your existing home or office internet connection to neighbors.

This guide shows you how to set up a free WiFi hotspot billing software with TP-Link Omada Controller on Ubuntu 24.04.

Prerequisites

Before you get started, ensure you've:

  • Deploy a VPS server running Ubuntu 24.04. We recommend Digital Ocean VPS. Use the following table to deploy the right VPS server depending on the number of WiFi users you intend to support:

    Number of Users RAM vCPU Disk Space
    Less than 500 2 GB 2 vCPUs 50 GB
    500 - 1500 4 GB 4 vCPUs 100 GB
    1500 - 3000 8 GB 8 vCPUs 150 GB
    3000 - 10000 16 GB 16 vCPUs 500 GB
  • Create a non-root sudo user. Read our guide on How to Create a Non-Root Sudo User on Ubuntu 24.04.

  • Ensure your system is up to date.

Install MongoDB

Omada Controller uses MongoDB as its backend. MongoDB is a NoSQL database known for its high performance, scalability, and flexibility. The developers chose MongoDB over traditional relational databases due to its efficient handling of large datasets and dynamic schema.

  1. Import the MongoDB public GPG key.

    CONSOLE
    $ curl -fsSL https://www.mongodb.org/static/pgp/server-6.0.asc | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/mongodb-6.gpg
    
  2. Add the MongoDB repository to the sources list.

    CONSOLE
    $ echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
    
  3. Update your system's package information index.

    CONSOLE
    $ sudo apt update
    
  4. Install MongoDB.

    CONSOLE
    $ sudo apt install mongodb-org -y
    
  5. Enable MongoDB to start at boot.

    CONSOLE
    $ sudo systemctl enable mongod
    
  6. Ensure the MongoDB service is active.

    CONSOLE
    $ sudo systemctl status mongod
    

Install Omada Controller WiFi Billing Software

Omada Controller is the core component of this hotspot billing software setup. The controller helps you to manage WiFi networks and bill end-users. The installation involves setting up the required dependencies and configuring the software.

  1. Install Java 11. Omada Controller is a Java-based application, which means it relies on the Java Runtime Environment (JRE) to run. Java provides a platform-independent environment that allows the Omada Controller to operate

    CONSOLE
    $ sudo apt install openjdk-11-jre-headless -y
    
  2. Create a directory for Omada to ensure the necessary structure exists for Java libraries. In this case, the Omada Controller expects to find specific Java library files in the /usr/lib/jvm/java-11-openjdk-amd64/lib/amd64 directory.

    CONSOLE
    $ sudo mkdir /usr/lib/jvm/java-11-openjdk-amd64/lib/amd64
    
  3. Create a symbolic link for the above directory to the /usr/lib/jvm/java-11-openjdk-amd64/lib/server directory to ensure that the Omada Controller can locate the necessary Java library files for proper operation.

    CONSOLE
    $ sudo ln -s /usr/lib/jvm/java-11-openjdk-amd64/lib/server /usr/lib/jvm/java-11-openjdk-amd64/lib/amd64/
    
  4. Install jsvc to allow the Omada Controller to run as a background service (daemon) and ensure continuous and stable operation without manual intervention.

    CONSOLE
    $ sudo apt install jsvc -y 
    
  5. Visit the official Omanda controller download page and copy the latest download link using the Linux wget command.

    CONSOLE
    $ sudo wget https://static.tp-link.com/upload/software/2024/202411/20241101/Omada_SDN_Controller_v5.14.32.3_linux_x64.deb
    
  6. Install the Omada SDN Controller using dpkg.

    CONSOLE
    $ sudo dpkg -i Omada_SDN_Controller_v5.14.32.3_linux_x64.deb
    

Allow Omada Controller Through the Firewall

To access the Omada Controller, you need to allow specific ports through the firewall. This step ensures the controller can communicate with your devices and network.

  1. Allow port 8088. This port is used for HTTP access to the Omada Controller's web management interface. It allows you to manage the controller via a web browser.

    CONSOLE
    $ sudo ufw allow 8088
    
  2. Allow port 8043. This port is used for HTTPS access to the Omada Controller's web management interface. It provides a secure connection to securely access the controller's management page.

    CONSOLE
    $ sudo ufw allow 8043
    
  3. Allow port 8843. This port is used for HTTPS access to the Omada Controller's portal. It ensures secure communication for user authentication and portal access.

    CONSOLE
    $ sudo ufw allow 8843
    
  4. Allow port 29810/udp. This port is used for EAP Discovery, Adoption, Management, and Upgrade. It allows the Omada Controller to discover, adopt, manage, and upgrade Omada devices.

    CONSOLE
    $ sudo ufw allow 29810/udp
    
  5. Allow port 29811/tcp. This port is used for EAP Management. It enables the Omada Controller to manage Omada devices running firmware fully adapted to Omada Controller v4.

    CONSOLE
    $ sudo ufw allow 29811/tcp
    
  6. Allow port 29812/tcp. This port is also used for EAP Management. It supports the management of Omada devices running firmware fully adapted to Omada Controller v4.

    CONSOLE
    $ sudo ufw allow 29812/tcp
    
  7. Allow port 29813/tcp. This port is used for Firmware Upgrades. It allows the Omada Controller to upgrade Omada devices running firmware fully adapted to Omada Controller v4.

    CONSOLE
    $ sudo ufw allow 29813/tcp
    
  8. Allow port 29814/tcp. This port is used for EAP Adoption. It enables the Omada Controller to adopt Omada devices running firmware fully adapted to Omada Controller v5.

    CONSOLE
    $ sudo ufw allow 29814/tcp
    
  9. Allow port 29817/tcp. This port is used for EAP Management. It supports the management of Omada devices running firmware fully adapted to Omada Controller v5.

    CONSOLE
    $ sudo ufw allow 29817/tcp
    
  10. Reload the firewall to .

    CONSOLE
    $ sudo ufw reload
    

Test Omada Controller

To ensure everything is set up correctly, access the Omada Controller through a web browser. This step verifies the installation and allows you to start configuring your WiFi hotspot.

  1. Open your web browser, such as Google Chrome.
  2. Visit the Omada Controller web interface using the following URL. Replace 192.168.0.1 with VPS public IP address

    https://192.168.0.1:8043/
    
  3. Follow the on screen prompts to configure the Omanda Controller and admin.

  4. Ensure your Omanda Controller compatible devices point to your server's IP address
  5. Configure the sites and voucher groups as needed for your hotspot management. When creating the vouchers, you can limit the bandwidth usage, upload and download speed for the hotspot users.

Conclusion

In this guide, you've set up a free WiFi hotspot billing software with TP-Link Omada Controller on Ubuntu 24.04. You installed MongoDB, configured Omada Controller, and allowed necessary ports through the firewall. Finally, you accessed the Omada Controller web interface to start managing your WiFi network. As a follow-up, consider pointing a domain name to your server's IP address for a more professional setup.

  • Databases
  • Webservers
  • PHP
  • API
  • Python
  • VPS Guides
  • Network
  • AI
  • Node.js