Kamis, 14 Mei 2009

membuat hotspot area

Tulisan berikut adalah pengalaman saya membangun hotspot area di tempat saya bekerja...
mungkin ini masih jauh dari sempurna tapi gak papa saya akan berbagi dengan temen - temen yang mungkin masih baru dalam hal ini.. btw pembuatan hotspot ini juga hasil dari browsing dari sana sini, brkunjung dari bloq ke bloq dan mendapatkan banyak referensi.. langsung aja yach saya kasih step by step yang di lakukan membuat hotspot menggunakan chilispot dan php myprepaid seperti easy hotspot...


1. Install Ubuntu/Debian pada router yang akan dijadikan hotspot
2. Setting repo source list anda
# vim /etc/apt/sources.list
>> sources.list.ftpitb
>> Repository dengan menggunakan server mirror ftp.itb.ac.id
>> Untuk rilis lain selain gutsy silakan ganti semua kata gutsy
>> dengan misalnya dapper atau feisty dsb

>> REPOSITORY UTAMA

deb ftp://ftp.itb.ac.id/pub/ubuntu gutsy main restricted universe multiverse deb-src ftp://ftp.itb.ac.id/pub/ubuntu gutsy main restricted universe multiverse

>> INI UNTUK MAJOR BUG FIX UPDATES

deb ftp://ftp.itb.ac.id/pub/ubuntu gutsy-updates main restricted universe multiverse deb-src ftp://ftp.itb.ac.id/pub/ubuntu gutsy-updates main restricted universe multiverse

>> INI UNTUK UBUNTU SECURITY UPDATES

deb ftp://ftp.itb.ac.id/pub/ubuntu gutsy-security main restricted universe multiverse deb-src ftp://ftp.itb.ac.id/pub/ubuntu gutsy-security main restricted universe multiverse

3. Konfigurasi ethernet anda eth1

#vim /etc/network/interfacesauto eth1 iface eth1 inet dhcp

4. Masukan DNs Resolve

# vim /etc/resolv.conf

nameserver 202.154.187.2 nameserver 202.154.187.3

5. Aktifkan ip Forwading

# echo "1" > /proc/sys/net/ipv4/ip_forward
#nano /etc/network/options ip_forward=yes

6. Install Program yang akan di butuh kan

#apt-get install unzip
#apt-get install fakeroot
#apt-get install ssh
#apt-get install build-essential
#apt-get install rrdtool
#aptget install snmp
#apt-get install mysql-server
#apt-get install apache2 php5 php5-mysql
#apt-get install ssl-cert
#apt-get install freeradius freeradius-mysql
#wget http://www.chillispot.info/download/chillispot_1.0_i386.deb
# wget http://kebo.vlsm.org/stuff/chillispot_1.0_i386.deb
#dpkg –i chillispot_1.0_i386.deb

7. Set password Mysql

#mysqladmin -u root password ‘root'

8. Edit File Apache

#vim /etc/apache2/apache2.conf ServerName 192.168.9.1 >>> tergantung eth0

9. Edit File PHP

#vim /etc/php5/apache2/php.ini

>>>>>Hilangkan tanda titik koma nya dan ganti msql.so menjadi mysql.so sbb:

extension=mysql.so

>>>Cari juga tulisan berikut:

Ubah 8M menjadi 16 M

10. Download File Phpmyprepaid

#wget http://downloads.sourceforge.net/ phpmyprepaid/phpmyprepaid04b3.tgz? modtime=1187550638&big_mirror=0 #tar –zxvf phpmyprepaid04b3.tgz


INSTALL PHPMYPREPAID

1. Download File Phpmyprepaid

#wget http://downloads.sourceforge.net/phpmyprepaid/phpmyprepaid04b3.tgz?modtime=1187550638&big_mirror=0 #tar –zxvf phpmyprepaid04b3.tgz

2. Arahkan browser anda

http://localhost/phpmyprepaid/www/install/setup.php

3. Kik start.Pilih I accept dan klik next lagi.Perhatikan dan edit konfigurasi seperti berikut:
PhpMyPrepaid install directory :/var/www/phpmyprepaid FreeRADIUS
binary files directory : /usr/sbinFreeRADIUS
config files directory : /etc/freeradiusFreeRADIUS
Dictionary directory : /usr/share/freeradiusFreeRADIUS
start/stop/restart/status script : /etc/init.d/freeradiusRRDTOOL
binary path : /usr/bin/rrdtool
Sudo binary path : /usr/bin/sudoSystem
log file path : /var/log/messagesFreeRADIUS radius.log
file path : /var/log/freeradius/radius.log
Radclient command : /usr/bin/radclient
MySQL client command : /usr/bin/mysql
snmpwalk command : /usr/bin/snmpwalk
snmpget command : /usr/bin/snmpget

Klik nextDisini anda diminta untuk mem verifikasi konfigurasi.. jika ada yang belum periksa kembali apa yang kurang, dan klik recheck.. jika sudah…Klik next lagiPada bagian ini anda akan diminta untuk mengkonfigurasi database, anda dapat mencontoh sebagai berikut:

Root password for Mysql : root PhpMyPrepaid
Database Name (phpmyprepaid) : phpmyprepaidPhpMyPrepaid Database Password :root Confirm Password : root
Database location (localhost) : localhostFreeRADIUS location (localhost).

*Not applicable by now : localhostFreeRADIUS version.
*Not applicable by now : 1.X

Klik next lagi
Pada bagian ini anda akan diminta untuk mengkonfigurasi user interface yaitu sebagai super administrator dalam memanajemen phpmyprepaid, anda dapat mencontoh sebagai berikut:Administrator login for PhpMyPrepaid : kuthuk
Administrator password for PhpMyPrepaid : root
Confirm Password : root
Administrator name for PhpMyPrepaid : kuthuk
Administrator surname for PhpMyPrepaid : kuthuk
Administrator email for PhpMyPrepaid : isus@isusay.com
Administrator language for PhpMyPrepaid.

*Only english is supported by now. : es Klik nextPada bagian ini merupakan informasi yang dilaporkan oleh phpmyprepaid dalam membuat database pada mysqlKlik nextAnda akan diminta untuk memasukkan lokasi daerah anda, contohnya sebagai berikut:
Location name : politamahot
Location Domain : isusay.com
Location Country Code : Indonesia
Location Area code : --
Location City : Surakarta

Klik next Klik

next Installasi finish,

silahkan klik interface

#rm rf /var/www/– phpmyprepaid/www/install #chmod 755 /var/www/phpmyprepaid/www

Lihat TAmpiliannya

Kembali ke Install Hotspot

11. Setting chillispot

edit file chilli.conf #vim /etc/chilli.conf

-- contoh yang harus disetting --net 99.99.99.0/24 dns1 219.83.35.45 dns2 202.93.32.147 radiusserver1 127.0.0.1 radiusserver2 127.0.0.1 radiussecret poltekdhcpif eth1uamserver https://99.99.99.1/cgi-bin/hotspotlogin.cgi uamsecret poltek uamlisten 99.99.99.1

12. Buat file hotspotlogin.cgi di folder cgi-bin:

#cp /usr/share/doc/chillispot/hotspotlogin.cgi.gz /usr/lib/cgi-bin
#gunzip /usr/lib/cgi-bin/hotspotlogin.cgi.gz
#cd /usr/lib/cgi-bin/
#chmod 755 hotspotlogin.cgi
#nano hotspotlogin.cgi

-- cari tulisan berikut –

# $uamsecret = “poltek";dan # $userpassword=1;

Hilangkan tanda pagar..

13. Aktifkan firewall chillispot dan buat firewallnya agar diaktifkan setiap kali server restart:

#sh /usr/share/doc/chillispot/firewall.iptables
#cp /usr/share/doc/chillispot/firewall.iptables /etc/init.d/chilli.iptables
#chmod u+x /etc/init.d/chilli.iptables
#ln -s /etc/init.d/chilli.iptables /etc/rcS.d/S40chilli.iptables

14. Setting freeradius

a. Edit file clients.conf

#nano /etc/freeradius/clients.conf

-- cari konfigurasi berikut dan modifikasi menjadi seperti ini
--client 127.0.0.1 {secret = poltekshortname = localhostnastype = other}

b. Setting file sql.conf

#nano /etc/freeradius/sql.conf
# Connect infoserver = "localhost"login = "phpmyprepaid"password = “root"
# Database table configurationradius_db = "phpmyprepaid"

c. edit file radiusd.conf

#vim /etc/freeradius/radiusd.conf

-- cari konfigurasi berikut –

"$INCLUDE ${confdir}/sql.conf" tambahkan dibawahnya sehingga menjadi menjadi: "$INCLUDE ${confdir}/sql.conf"
sqlcounter noresetcounter { counter-name = Max-All-Session-Timecheck-name = Max-All-Sessionsqlmod-inst = sqlkey = User-Namereset = neverquery = "SELECT SUM(AcctSessionTime) FROM radacct where UserName='%{%k}'"}

-- cari konfigurasi untuk accounting dan setting menjadi seperti ini dengan cara menghilangkan tanda pagarnya, selain itu berikan tanda pagar untuk yang lain
--accounting {unixradutmpsql}
-- cari juga untuk instantiate, setting dengan menghilangkan tanda pagar, seperti berikut, dan dibawah expr tambahkan noresetcounter --instantiate {execexprnoresetcounter}
-- cari juga pada bagian authorize, setting dengan cara yang sama, dan dibagian bawah sql tambahkan tulisan noresetcounter
--authorize {preprocesschapmschapsuffixsqlnoresetcounter}

Kemudian di enable dengan cara:

#a2ensite ssl
#/etc/init.d/apache2 reload #/etc/init.d/apache2 restart

Kembali Ke Chili konfigurasi database mysql yang udah dibuat oleh phpmyprepaid tadi

#mysql –u root –p (masukkan password mysql yang dibuat tadi)

>show databases;
>GRANT ALL PRIVILEGES ON phpmyprepaid.

* to 'phpmyprepaid'@'localhost' IDENTIFIED BY ‘poltek'; >FLUSH PRIVILEGES;

Setiap user yang dibuat oleh registrasi phpmyprepaid menggunakan time, jika anda ingin membuat registrasi member tanpa time anda dapat membuat dengan cara:

>use phpmyprepaid; >INSERT INTO radcheck (UserName, Attribute, Value) VALUES (‘kuthuk', 'User-Password', ‘root');

>quit;

RESTART SEMUA

Note :
1. Hotspot Access Point device, dalam hal ini saya menggunakan Linksys Tipe 54 GL AP bisa di gunakan AP Tipe apa saja.
2. Sebuah komputer yang akan di jadikan sebagai radius server.
3. OS GNU/Linux, Saya menggunakan Debian Lenny
4. Mysql, untuk Authentic melalui database, untuk authentic nya bisa dengan beberapa cara seperti : unix user, smb user, file user
5. Apache dengan perl support, untuk membuat user authentic melalui web-based, serta utk membuat login authentic via web-based di cgi-bin/hotspotlogin.cgi
6. Chillispot, sistem kerja software ini adalah apabila user belum mendapatkan authentic dari server maka ia akan terredirect ke halaman login
7. Freeradius, ini berfungsi sebagai pemberi authentifikasi kepada user
8. PhpMyPrepaid, bila anda menggukan authentic melalui database Mysql, bisa juga sebagai pembuat user prepaid untuk billingnya


kalo mau versi bukunya silahkan download di disini


4 komentar:

  1. mantap mas....
    padahal lengkap sekali tutorial masnya...
    smangat mas...

    BalasHapus
  2. waaahhhh........ boleh niiii tapi aku sedikit bingung.....
    tolong bantuannyaaa...............
    aku lebih familiar pake lampp...
    jadi tolong ajarin aku klo pake lampp(xampp for linux) itu gimana.......
    mohon penjelasannya ..........
    tutorialnya aku tunggu mas..... bermanfaat sekali niiii..... pa lagi aku juga lagi butuh....
    tapi klo pake apace linux maupun sql linux seperti mas gunakan saya masih lom ngerti sama sekali......
    Thanks bantuannya....

    Please confirm ya ke email (aldo.expert[at]yahoo.com) klo udah ada tutorialnya ntar aku bisa berkunjung lagi ke blog ni....

    BalasHapus
  3. Dah komplet tutorialnya. Makasih Infonya.
    Keep your good work.

    Tapi Aq ada kritik nih khususnya untuk blog ini.
    ntah koneksi gw yg lemot apa emang loading nya lama untuk menampilkan halaman blog ini.
    Coba kamu cek ke alexa.com atau pake google analytic atau webmaster tool. Loading blog anda speed nya bagaimana?
    kalau diatas 15 detik, berarti bukan koneksi gw yg lemoooot.

    Yuk sukses selalu.
    colek blog gw ganti donk

    BalasHapus
  4. Waaahhhh... kacau... ni blog g pernah di check ma yang punyaa.....
    gw komment ga ada balasan.....

    niat bikin blog and nyebarin info ga siih....

    BalasHapus

kasih koment dooonk kritik saran hinaan sanjungan terserah daah....