Dead simple open source Hotspot Management System

Table of contents

  1. Introduction
  2. Installation
  3. Configuration
  4. Using EasyHotspot
    1. Admin
      1. Chillispot Configuration
      2. Postpaid Setting
      3. Billing Plan
      4. Cashiers Management
      5. Admin Management
    2. Cashier
      1. Postpaid Account Management
      2. Voucher Management
      3. Invoice Management
      4. Statistics
      5. Online users (force disconnect)
      6. Change password
    3. Clients
      1. How to connect the Hotspot
      2. How to browse to web
      3. How to logout
  5. Troubleshooting
    1. Change network interface name
    2. Change MySQL default password
    3. Client is not redirected to login page

Download Dokumentasi berbahasa Indonesia (1MB PDF)


EasyHotspot is an alternative solution for hotspot billing system. Its contains other particular open source software that is bundled into one a single package. We don't try to make a replacement to similar existing open source projects. Our aim is to deliver a system that simple, easy to install, use and modify. EasyHotspot comes with ready to use configuration. You need less configuration to build a running hotspot. It will save you time and energy.

EasyHotspot is developed on the top of Ubuntu distribution. The hotspot manager frontend used to manage your hotspot is built from Codeigniter framework. Codeigniter is an blazing fast PHP framework which easy to understand and its very handy to make a web based application. We hope everyone can easily understand and make an improvement to the code. FreeRADIUS will help us to perform AAA process. The Captive Portal that is used for authenticating users is Chillispot, and the database / MySQL, it used for storing the users and logs information.

Who's gonna need it ? Anyone who wants to build a hotspot or someone who willing to learn how hotspot works. . For example : Cafe, Hotel, School, Public place, and anywhere that requires wireless internet connection.
How to get involved ? Ok, this is our favorite part ... its easy to get involved and help this project. You can report the bugs, make an improvement/variation, request new features, critics, fill up our wish list, spread the word. Everything positive are welcome :)




Minimum Hardware requirements:

EasyHotspot comes with live Ubuntu distro iso, burn the .iso on to blank cd-rom and then boot your PC from cd-rom.
Once Ubuntu has startup you can install from the shortcut on the desktop. And follow the instructions to install Ubuntu and EasyHotspot on the screen.
For help installing ubuntu you can find it here https://help.ubuntu.com/community/GraphicalInstall
When Ubuntu has rebooted, locate http://localhost/easyhotspot from your browser and EasyHotspot is ready to roll.




After the installation process has successfully completed, there are several steps left to ensure that EasyHotspot is running smoothly.

  1. Configuring network interfaces
    First of all make sure that you have two network interfaces named eth0 and eth1, you can find out by typing “ifconfig” in the terminal or find the setting in system → preferences → network connection. If you have eth2, eth3 and so on please consult the troubleshoot section.

    Internet interface
    Set your eth0 as your internet connection source. It can be dynamic or static. If you have a dynamic connection, just simply plug in the ethernet cable to eth0 interface, or if you have a static connection you can configure it by clicking the network icon on system tray and hit manual configuration.

    Distribution interface
    eth1 will act as the distribution interface. You don't have to configure this interface at all. Just connect to AP or Switch hub and then let your client connect . Make sure that you have disabled DHCP, Encryption, and Router feature in your AP or router (if exist).

  2. Editing Hotspot information
    Easyhotspot enables you to edit the hotspot information on the hotspot management admin page. To edit the hotspot info, edit the /opt/local/web/easyhotspot/system/application/config/easyhotspot.php file. Edit the entries such as hotspot location and currency according to your real condition.

  3. Setting Language
    For now EasyHotspot only supports English, Indonesia & Spanish language. The language setting is set in, system/application/config/config.php as the $config['language'] setting. If you want create a new translation then copy the existing language directory preferably English and translate easyhotspot_lang.php to your language put it in a new directory e.g:


    and set the system/application/config/config.php as the $config['language'] = 'latin';

  4. (please send your translations to email rafeequl@gmail.com).

  5. Setting Homepage
    By default, EasyHotspot is only accessible from the server itself (localhost), if you want to remote your billing system you could tell EasyHotspot to change the homepage from locahost to your accessible IP Address. Edit /opt/local/web/htdocs/easyhotspot/system/application/config/config.php, find $config['base_url'] line.


    $config['base_url'] = ""; is your EasyHotspot IP address


Using Easyhotspot

EasyHotspot comes with a preconfigured hotspot system and a web interface to manage everything that's related to user administration and billing activity. Locate EasyHotspot homepage from your browser (firefox) at http://localhost/easyhotspot

EasyHotspot has 2 types of administration account



To login using admin account use the default is :

username: admin
password: admin123

The home page for admin is where you can see the hotspot info and system info to see that everything's running smoothly.


  1. Chillispot Configuration

    In this page you can edit the basic configuration for your hotspot:

  2. Postpaid setting

    On Postpaid setting page you set the desired rate for postpaid account, how much to charge for either each megabyte (1 MB) or each minute. Idle time out automatically logs out a user if they are idle for the amount of time (in minutes) entered. Download and upload rate determines the maximum bandwidth allowed for a postpaid account. If you edit the settings on this page, all of the existing postpaid account that has been created will automatically change according to the settings on this page.

  3. Billing plan

    The billing plan page is used to make billing plan to use as a template for creating vouchers on the cashier page. To create a new billing plan enter the fields below the list of the existing billing plan. You can also delete an existing billing plan by clicking on the X on the row of the billing plan that you want to delete, and you can also edit the billing plan by clicking on the pencil icon.

  4. Cashier Management
    Basically the Admin and Cashier management are the same, the difference is on the role of the user.
    On the Manage cashier / admin page you will be presented with the list of cashiers / admins.

  5. Admin Management
    Basically the Admin and Cashier management are the same, the difference is on the role of the user.
    On the Manage cashier / admin page you will be presented with the list of cashiers / admins.




You can login as cashier after you have created a cashier account from the admin page.

  1. Postpaid Account Management
    Postpaid account is a postpaid billing system. The first step to use this feature, is the cashiers have to create postpaid user, print the voucher and then give it to clients. If the clients decide to stop, the cashier will close and print invoice by clicking the detail of clients usage. If the account has been closed then it can't be used again.
    A postpaid account can be bill by two different ways: Time & Volume. Be sure to ask the customer which type of bill account they prefer.

  2. Voucher Management
    Voucher is a prepaid billing system. The cashier could generate as many vouchers from a Billing Plan that the admin have created. These voucher could then be given / printed out to clients to access the internet. Usually this method used by a Cafe, a Mall or any other place where people are usually mobile. The cashier would have the option to print vouchers

  3. Invoice Management
    You can view detail of all the invoices and print the desired invoice for postpaid account from this page.

  4. Statistics
    A simple statistical view of all of the vouchers, billing plans and accounts created.

  5. Online users (force disconnect)
    Force disconnect users can be used to disconnect an online client from the cashier page.

  6. Change password
    Change the cashiers password.



  1. How to connect the Hotspot
    The client or customer can typically join your wireless (Hotspot) or wired network as usual by choosing your AP name or connect to switch, in this step EasyHotspot will automatically give your clients an IP Address.

  2. How to browse to web
    Login using postpaid account
    To login you need to open the browser and surf the internet, before you can see the page, you will be prompted to a login page (be sure to accept all certificates). Input the account information from you postpaid account on the login page. Then you will be redirected to your page.

    Login using printed voucher
    To login you need to open the browser and surf the internet, before you can see the page, you will be prompted to a login page (be sure to accept all certificates). Enter user name and password that is printed on your voucher. Enjoy your surfing =).

  3. How to Logout
    Simply type 'splash' on the address bar and you will logged out.



Change network interface name

We highly recommend you to make sure that you have 2 interface named eth0 and eth1. eth0 will be act as an internet line and eth1 as a distribution interface. If your interfaces name are not eth0 and eth1 you should change it. This is how to do it :
edit the /etc/udev/rules.d/70-persistent-net.rules file

example :
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:16:d3:5e:8f:f3", NAME="eth3" # PCI device 0x14e4:0x4311 (bcm43xx) SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:19:7e:a5:45:84", NAME="eth4"
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:16:d3:5e:8f:f3", NAME="eth0" # PCI device 0x14e4:0x4311 (bcm43xx) SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:19:7e:a5:45:84", NAME="eth1"

Change MySQL default password

It would be better to change the default root and easyhotspot user password. You can search the details of how doing that at mysql documentation. After that don't forget to edit the /opt/local/web/easyhotspot/htdocs/application/config/database.php

Client is not redirected to login page

Try to restart chilli by issuing this command :

$sudo /etc/init.d/chillispot restart

And then try to release/renew clients IP Address