Introduction 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 :) top
Instalation Minimum Hardware requirements: • • • • •
•
Pentium 3 or equal 512 MB RAM 5 GB Free Space HDD 2 network interface (LAN CARD) Wireless Access Point (you don't need wireless router feature but a Wireless AP) Switch/Hub (optional, only for wired user)
Installation 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. top
Configuration 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/easyhots pot.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: system/application/language/latin/easyhotspot_lang.php and set the system/application/config/config.php as the $config['language'] = 'latin ';
(please send your translations to email
[email protected]). 4. 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/c onfig.php, find $config['base_url'] line.
Example:
$config['base_url'] = "http://192.168.182.1/"; 192.168.182.1 is your EasyHotspot IP address
top
Using Easyhotspot EasyHotspot comes with a preconfigured hotspot system and a web interface to manage everything that's related to use r administration and billing activity. Locate EasyHotspot homepage from your browser (firefox) at http://localhost/easyhotspot
EasyHotspot has 2 types of administration account • •
Admin : this user handles billing plan, price and system configuration. Cashier : this user handles user account, voucher generation, invoice, view stats. top
Admin 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:
o o
Radius Server 1 (Address of primary RADIUS server, default 127.0.0.1) Radius Server 2 (Address of secondary RADIUS server, default 127.0.0.1)
o o o o o o o
Radius Secret (Secret phrase between RADIUS server and Chillispot) DHCP Interface (Which interface you want to use as Hotspot Interface) UAM Server (Address of captive portal stored) UAM Secret (Secret phrase between login page and q Chillispot) Client's Homepage (Where do you want to redirect your client for the first time) Allowed URL (URL that clients could browse without login, DO NOT PUT SPACES. exp : www.google.com,www.twitter.com") DHCP Range (DHCP IP's for clients - must be in XXX.XXX.XXX.XXX/XX format)
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.
top
Cashier 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 vouch ers, 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.
top
Clients 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 Add ress.
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.
top
Troubleshooting
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 : from 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"
to 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