Thursday, February 24, 2011

REMOVE APACHE2 AND FRESH INSTALL

sudo apt-get remove --purge apache2 apache2-mpm-worker apache2-threaded-dev apache2-utils apache2.2-common libapache2-mod-python libapache2-mod-python-doc libapache2-mod-wsgi


sudo rm -rf /var/www/ /etc/apache2/


sudo apt-get install apache2 libapache2-mod-python libapache2-mod-wsgi libapache2-mod-python-doc

Tuesday, February 22, 2011

easyhotspot + squid



edit /etc/chilli/up.sh
##paste paling bawah
iptables -I INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -I PREROUTING -i tun0 -p tcp -m tcp –dport 80 -j REDIRECT –to$
iptables -I INPUT -i tun0 -p tcp -m tcp –dport 3128 –syn -j ACCEPT
pada terminal
service squid stop
tar -zxvf squid_radius_auth-1.10.tar.gz
cd squid_radius_auth-1.10/
make clean
make install
nano /etc/squid/squid.conf
tambahi juga
#######################
auth_param basic program /usr/local/squid/libexec/squid_radius_auth -f /etc/radius_config
auth_param basic children 5
auth_param basic realm Web-Proxy
auth_param basic credentialsttl 5 minute
auth_param basic casesensitive off
acl radius-auth proxy_auth REQUIRED
http_access allow radius-auth
##################################
buat file di /etc
radius.config
isi dgn 
######################
# squid_rad_auth configuration file
# MvS: 28-10-1998
server 10.1.0.1
secret easyhotspot
################
termnal lagi


squid -k parse # cek squid,conf
klo tidak ada error jalan kan squidna :D

Monday, February 21, 2011

Captive Portal (Coova chilli + Yfi Manager Hotspot)

FROM Xeon AND KIOSS


Instalasi berpedoman pada YFI Wiki

note :
Untuk mengaplikasikan Captive portal ini minimal menggunakan 2 ethernet card :
internet ---- modem --------ubuntu server ------- switch ------- AP dan/atau LAN

Tetapi pada tutorial ini saya menerapkan pada server dgn 3 ethernet card :
internet ---- ADSL --------(eth0)UBUNTU SERVER(eth2) ------- switch ------- Wired LAN
.....................................................(eth1)
.........................................................|
.........................................................|
..................................................Access Point

Persiapan system :
1. Ubuntu 8.04 Hardy Heron dengan paket LAMP (saya terapkan tutorialnya bang Opik) big_smile thanks bang Opik
2. Putty untuk remote server dari client.
3. Webmin untuk mempermudah edit file.


Buat eth0 terkoneksi dengan modem.
Konfigurasi untuk eth1 tidak usah diisi karena nanti eth1 diberi setingan DHCP dari Coova chilli.

Berikut adalah isi dari /etc/network/interfaces saya

Code:

auto lo
iface lo inet loopback

iface eth0 inet static
address 192.168.0.2
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1 ----- ip modem

iface eth2 inet static
address 192.168.10.1
netmask 255.255.255.0
network 192.168.10.0
broadcast 192.168.10.255
Pastikan juga ]/etc/resolv.conf setting DNS dari Server nya benar, saya anjurkan install DNS local

Edit file /etc/sysctl.conf, Uncomment bagian ini agar Kernel Ubuntu dapat forwarding packet

Code:

# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1
Pastikan paket LAMP telah ter-install

Code:

sudo tasksel
dengan mencentang LAMP, maka semua package yang diperlukan otomatis terinstall.

Step Instalasi :
1. CakePHP
2. YFi CakePHP Application
3. YFi View Component
4. FreeRADIUS
5. Coova Chilli

1. Install CakePHP
Install juga PHP command line:

Code:

sudo apt-get install php5-cli
untuk mengubah skala file gambar, Install imagemagick.

Code:

sudo apt-get install imagemagick
Mulai versi Beta-3, Yfi Manager Hotspot sudah support multi bahasa

Code:

sudo apt-get install language-pack-id  --- bahasa Indonesia
sudo apt-get install language-pack-af 
sudo apt-get install language-pack-fr 
sudo apt-get install language-pack-ms
sudo apt-get install language-pack-nl 
sudo apt-get install language-pack-es
Download versi terbaru CakePHP di http://cakephp.org.
versi terbaru (April 2010)= cake_1.2.6
Copy, extract di direktori apache. Default ubuntu di /var/www

Code:

sudo cp cakephp-cakephp1x-1.2.6-0-gbe7ddfb.tar.gz /var/www 
cd /var/www 
sudo tar -xzvf cakephp-cakephp1x-1.2.6-0-gbe7ddfb.tar.gz
Rename direktori hasil ekstrak, agar lebih simpel (misal:cake_1.2.6)
Buat symbolic link

Code:

cd /var/www 
sudo ln -s ./cake_1.2.6 ./c2
Enable beberapa modul apache: rewrite, deflate untuk kompresi, dan headers untuk memodifikasi http header. Modul tersebut diperlukan untuk meningkatkan performance dan kecepatan web aplikasi..

Code:

sudo a2enmod rewrite
sudo a2enmod deflate
sudo a2enmod headers
sudo /etc/init.d/apache2 reload
Edit file "/etc/php5/apache2/php.ini"
Pada baris :

Code:

output_buffering = Off
ubah dengan

Code:

output_buffering = 4096
Edit file /etc/apache2/apache2.conf
Masukkan script dibawah ini:

Code:


    AllowOverride All
#-------COMPRESS CONTENT-----------
# place filter 'DEFLATE' on all outgoing content
SetOutputFilter DEFLATE
# exclude uncompressible content via file type
SetEnvIfNoCase Request_URI \.(?:exe|t?gz|jpg|png|pdf|zip|bz2|sit|rar)$ no-gzip
#dont-vary
# Keep a log of compression ratio on each request
DeflateFilterNote Input instream
DeflateFilterNote Output outstream
DeflateFilterNote Ratio ratio
LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' deflate
CustomLog /var/log/apache2/deflate.log deflate
# Properly handle old browsers that do not support compression
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
#----------------------------------

#------ADD EXPIRY DATE-------------

    Header set Expires "Thu, 15 Apr 2012 20:00:00 GMT"
#----------------------------------

#--------Remove ETags --------------------
FileETag none
#-----------------------------------------
Reload Apache

Code:

sudo /etc/init.d/apache2 reload
2. Install YFi CakePHP Application
Donwload versi terbaru YFi Cake, saya memakai versi yfi_cake-Beta-4.tar.gz
extract di direktori "/var/www/c2".

Code:

sudo cp yfi_cake-Beta-4.tar.gz /var/www/c2 
cd /var/www/c2 
sudo tar -xzvf yfi_cake-Beta-4.tar.gz 
sudo chown -R www-data. /var/www/c2/yfi_cake/tmp 
sudo chown -R www-data. /var/www/c2/yfi_cake/webroot/img/graphics
Setting Database
Buat database 'yfi' dengan username dan password default 'yfi' (default).
Untuk settingan default gunakan perintah ini :

Code:

mysql -u root -p
create database yfi;
GRANT ALL PRIVILEGES ON yfi.* to 'yfi'@'127.0.0.1' IDENTIFIED BY 'yfi';
GRANT ALL PRIVILEGES ON yfi.* to 'yfi'@'localhost' IDENTIFIED BY 'yfi';
exit;
Catatan: Untuk keamanan anda bisa ubah username dan password, misal: “hotspot"
Jangan lupa untuk ubah File '/var/www/c2/yfi_cake/config/database.php', Dibagian username dan password.

Masukkan database sample:

Code:

mysql -u root -p yfi < /var/www/c2/yfi_cake/setup/db/yfi.sql
Tes YFi CakePHP Ketik alamat server di browser:
http://127.0.0.1/c2/yfi_cake/users/
Karena saya gunakan Komputer client untuk remote server, saya ketik :
http://192.168.10.2/c2/yfi_cake/users/
Kalau yang ditampilkan adalah halaman login, berarti setting sudah benar;)

3. Install YFi Viewer Component
Download viewer component disini saya gunakan versi yfi-Beta-4.tar.gz
extract di directory default apache2 “/var/www "

Code:

sudo cp yfi-Beta-4.tar.gz /var/www 
cd /var/www 
sudo tar -xzvf yfi-Beta-4.tar.gz
Tes Viewer Component
Masukkan alamat berikut di browser : http://127.0.0.1/yfi
Atau http://192.168.10.2/yfi  jika dari Komputer client.
Jika instalasi berhasil, akan keluar splash page dan kemudian halaman login. smile nice work..
Coba log in dengan salah satu user default berikut:

Code:

Role               Username         Password
Administrator        root             admin
Access Provider      ap               ap
Permanent User     dvdwalt@ri       dvdwalt@ri
4. Install FreeRADIUS Server
YFi Hotspot Manager merupakan front-end dari mysql database yang digunakan oleh FreeRADIUS. Yang dipakai adalah versi radius terbaru yaitu 2.1.8 (sip.. smile)

sebelum compile FreeRadius, pastikan package berikut sudah terinstall:

Code:

sudo apt-get install build-essential libmysqlclient15-dev libperl-dev libxml-simple-perl libmail-sendmail-perl
Download FreeRADIUS source code Download FreeRADIUS

Code:

tar -xzvf freeradius-server-2.1.8.tar.gz
cd freeradius-server-2.1.8
./configure | tee config_out.txt
make
sudo make install
sudo ldconfig
Lakukan tes dengan perintah berikut untuk menjalankan freeRadius dengan debug mode:

Code:

sudo /usr/local/sbin/radiusd –X
Ctrl+c untuk keluar.

Buat FreeRADIUS otomatis berjalan saat boot

Code:

sudo cp /usr/local/sbin/rc.radiusd /etc/init.d/radiusd
sudo update-rc.d radiusd start 80 2 3 4 5 . stop 20 0 1 6 .
Setup FreeRADIUS agar bisa diakses oleh YFi, ganti raddb freeradius dgn raddb YFI

Code:

sudo mv /usr/local/etc/raddb /usr/local/etc/raddb.asli
sudo cp /var/www/c2/yfi_cake/setup/radius/raddb.tar.gz /usr/local/etc/
cd /usr/local/etc/
sudo tar -xzvf raddb.tar.gz
sudo chown root.www-data /usr/local/etc/raddb/proxy.conf
sudo chmod 664 /usr/local/etc/raddb/proxy.conf
sudo chmod 644 /usr/local/etc/raddb/dictionary
sudo ldconfig
Aktifkan dan ubah dictionary chillispot
Freeradius versi terbaru, dictionary chillispot sudah ada, jadi kita tinggal tambahkan baris berikut di file /usr/local/share/freeradius/dictionary.chillispot .Untuk memasukkan attribute YFi khusus untuk voucher.
Cari baris berikut:

Code:

ATTRIBUTE       ChilliSpot-Version                      8       string
ATTRIBUTE       ChilliSpot-OriginalURL                  9       string
Masukkan data berikut dibawahnya

Code:

##YFi Specific Attributes
ATTRIBUTE       Yfi-Voucher                        40     string
ATTRIBUTE       Yfi-MAC-Reset                      41     string
ATTRIBUTE        Yfi-Data                    42     string
ATTRIBUTE        Yfi-Time                43     string

#YFi Various Counters
ATTRIBUTE       Max-Daily-Session               50      integer
ATTRIBUTE       Max-Monthly-Session             51      integer
ATTRIBUTE       Max-Weekly-Session              52      integer
ATTRIBUTE       Max-All-Session                 53      integer

ATTRIBUTE       ChilliSpot-Max-Daily-Octets               60      integer
ATTRIBUTE       ChilliSpot-Max-Monthly-Octets             61      integer
ATTRIBUTE       ChilliSpot-Max-Weekly-Octets              62      integer
ATTRIBUTE       ChilliSpot-Max-All-Octets                 63      integer
Cek file /usr/local/etc/raddb/sql.conf  dan /usr/local/etc/raddb/rlm_perl_modules/conf/setting.conf username dan password database harus sama dengan waktu kita buat database diatas.
Jalankan freeRadius dengan debug mode untuk memastikan tidak ada error.

Code:

sudo /usr/local/sbin/radiusd -X
Kalau tidak ada error, jalankan FreeRADIUS melalui startup script

Code:

sudo /etc/init.d/radiusd start
YFi menggunakan beberapa script yang harus dijalankan secara periodik. Copy Cron Script  berikut ke cron sistem.

Code:

sudo cp /var/www/c2/yfi_cake/setup/cron/yfi /etc/cron.d/
5. Install CoovaChilli
Download CoovaChilli di http://www.coova.org/Download
Versi pada saat ini CoovaChilli-1.0.14. Untuk Ubuntu bisa lewat:

Code:

sudo wget http://ap.coova.org/chilli/coova-chilli_1.0.14-1_i386.deb
install : (CoovaChilli akan diinstall di folder "/etc/chilli")

Code:

sudo dpkg -i coova-chilli_1.0.14-1_i386.deb
Konfigurasi CoovaChilli
copy file " /etc/chilli/defaults " ke "/etc/chilli/config "

Code:

sudo cp /etc/chilli/defaults /etc/chilli/config
Ubah option di file " /etc/chilli/config "

Code:

#HS_WANIF=eth0 # Subscriber Interface for internet devices
HS_LANIF=eth1 # Subscriber Interface for client devices
HS_NETWORK=10.1.0.0 # HotSpot Network (must include HS_UAMLISTEN)
HS_NETMASK=255.255.255.0 # HotSpot Network Netmask
HS_UAMLISTEN=10.1.0.1 # HotSpot IP Address (on subscriber network)
HS_UAMPORT=3990 # HotSpot Port (on subscriber network)
#HS_DNS1=  ##tidak saya aktifkan, agar menggunakan settingan resolv.conf (harus install DNS)
#HS_DNS2= ## kalau tidak menggunakan DNS, isikan dengan ip ADSL
HS_NASID=nas01
HS_UAMSECRET=greatsecret # default
HS_RADIUS=127.0.0.1
HS_RADIUS2=127.0.0.1
HS_RADSECRET=testing123 # default
HS_NASIP=127.0.0.1 # NB!!! To explicitly set NAS-IP-Address
HS_UAMFORMAT=http://10.1.0.1/coova_json/hs_land.php
HS_UAMHOMEPAGE=http://10.1.0.1/coova_json/splash.php
HS_MODE=hotspot
HS_TYPE=chillispot
HS_WWWDIR=/etc/chilli/www
HS_WWWBIN=/etc/chilli/wwwsh
HS_PROVIDER=contoh
HS_PROVIDER_LINK=http://www.contoh.org/
HS_LOC_NAME="My HotSpot" # WISPr Location Name and used in portal
Edit file " /etc/default/chilli " ubah nilai ke 1

Code:

START_CHILLI=1
Start-up coova chilli

Code:

sudo /etc/init.d/chilli start
Firewall Setting
Tambahkan baris berikut di bagian akhir file  "/etc/chilli/up.sh ",

Code:

# may not have been populated the first time; run again
    [ -e "/var/run/chilli.iptables" ] && sh /var/run/chilli.iptables 2>/dev/null
    # force-add the final rule necessary to fix routing tables
    iptables -I POSTROUTING -t nat -o $HS_WANIF -j MASQUERADE
Tambahkan coa port pada file /etc/init.d/chilli, cari pada bagian ini :

Code:

OPTS="--pidfile /usr/local/var/run/$NAME.pid"
Tambahkan --coaport 3799 untuk keperluan "Kick User off"

Code:

OPTS="--pidfile /usr/local/var/run/$NAME.pid --coaport 3799" ## Tambahkan coa port
Halaman Login
Disini saya menggunakan login page coova_json
Copy folder coova_json ke direktori apache " /var/www "

Code:

sudo cp -R /var/www/c2/yfi_cake/setup/coova_json /var/www
Cek di file  "/var/www/coova_json/login.php :
1. $uamsecret  harus sama dengan di file " /etc/chilli/config ", begitu juga di file " /var/www/coova_json/uam.php ". Defaultnya adalah 'greatsecret'.
2. $port di "/var/www/coova_json/login.php ", jika 3660 harus diganti dengan 3990.

Silahkan restart ubuntu anda.. smile jangan lupa berdoa semoga lancar..
Saatnya kita test captive portal kita...

1. Tes dengan menggunakan komputer client. Setting network interface client ke dhcp, jika client mendapat ip 10.1.0.2 - dst. Berarti coova chilli berjalan normal smile bisa bernafas lega..
2. Coba browsing ke, misal www.google.com. Akan keluar halaman splash ( keren ga??) smile
3. Kemudian diarahkan ke halaman login: hs_land.php (siipp... big_smile)
4. Login dengan user dvdwalt@ri dan password dvdwalt@ri.
5. Jika akses diterima, akan nongol www.google.com

Yup, tahap instalasi Finish smile smile
Rekan2 yg sudah coba silahkan explore fitur2 dari YFI Hotspot Manager. Jangan lupa dishare yah...smile thanks

" Padukan dengan squid Transparent Proxy"
Berikut iptables yg saya gunakan untuk meredirec client HotSpot ke squid (squid satu server dengan captive portal)

Code:

iptables -A PREROUTING -t nat -i tun0 -p tcp -s 10.1.0.0/24 -d ! 10.1.0.1 --dport 80 -j REDIRECT --to 3128
Semoga bermanfaat, Thanks..smile
Last edited by xeon (21-04-2010 21:44:40)

untuk lucid bisa menggunakan versi SVN dan db dipatch mysql4 to 5

Install Easyhotspot dan Konfigurasi Freeradius serta Coova Chilli di Ubuntu 10.04 LTS Server Edition

sumber copas :http://ndra.gmib26.net/2010/06/install-easyhotspot-dan-konfigurasi-freeradius-serta-coova-chilli-di-ubuntu-10-04-lts-server-edition/


===========================================================================

Dalam tulisan saya sebelumnya, saya menceritakan tentang easyhotpot, sebuah open source hotspot management yang dibuat oleh mas Rafeequl Rahman Awan. Easyhotspot sebenarnya sebuah aplikasi yang menggabungkan beberapa aplikasi lain menjadi satu, diantaranya adalah LAMP server (Linux, Apache, MySql, PHP), freeradius, dan chilli yang dengan adanya easyhotspot ketiganya bisa dimenejemen dengan mudah melalui sebuah web interface.

Ubuntu 10.04 LTS
Kali ini saya akan menceritakan pengalaman saya menginstall aplikasi-aplikasi yang sudah saya sebutkan diatas di Ubuntu 10.04 LTS Server edition. Syarat minimal hardware yang harus dimiliki adalah sebuah PC dengan 2 buah kartu jaringan (LAN Card). selain itu, berdasar pengalaman mysql daemon akan sedikit membebani memory untuk itu minimal RAM yang direkomendasikan dalah 512MB meski kemungkinan besar juga bisa berjalan dengan RAM 256MB jika anda menggunakan OS tanpa GUI. Saya sendiri menginstallnya di sebuah CPU merk HP dengan spesifikasi Core 2 Duo E8600 3,33Ghz, RAM 2 Gb, 2 Ethernet card ( 1 LAN card on-board, 1 lagi PCI merk D-Link) dan 2 buah HDD total 1,14TB (160 Gb dan 1Tb). Sangat berlebihan sebenarnya untuk ukuran server hotspot namun server ini sekalian saya gunakan sebagai data server yang menyimpan file-file multimedia koleksi pribadi saya.

freeRadius
Saya mengasumsikan Anda semua sudah memiliki sebuah PC yang sudah terinstall Ubuntu 10.04 LTS, begitu juga dengan LAMP server (Apache,mysql dan php). Jika anda baru akan memulai menginstall Ubuntu, ada baiknya anda secara langsung memilih paket LAMP server dan SSH server saat proses penginstalan berlangsung. Namun jika anda sudah terlanjur menginstall ubuntu tanpa LAMP server anda bisa menginstallnya
melalui perintah apt-get maupun dari tasksel. Saya yakin anda bisa melakukannya hingga tahap ini.

Coovachilli
Selanjutnya yang perlu anda persiapkan adalah 2 buah kartu jaringan, cek apakah keduanya sudah bekerja dengan baik, dan pastikan keduanya memiliki nama eth0 dan eth1. Yang perlu anda lakukan disini adalah menghubungkan eth0 dengan modem/router anda dan eth1 dengan akses point/switch. Awalnya saya sangat dibuat bingung dengan konfigurasi yang mesti mengganti nama interface yang terbolak-balik, belakangan saya menemukan cara dimana lebih baik menukar kabel daripada mesti mengganti nama interfacenya. Setting eth0 sesuai setting jaringan dari router anda, apakah mau diset secara otomatis menggunakan dhcp maupun statik. (saya lebih menganjurkan statik demi kemudahan remote server dari jaringan). Anda bisa melakukan konfigurasi dengan merubah file /etc/network/interfaces. Disini saya hanya melakukan setting pada loopback (auto) dan eth0 dengan memberinya ip 192.168.1.253, subnet 255.255.255.0, gateway/DNS 192.168.1.254 (ip modem/router). Selebihnya untuk eth1 saya biarkan saja karena nantinya akan diatur secara otomatis oleh chilli. Sekali lagi perhatikan bahwa tidak boleh ada DHCP server yang berjalan baik di mesin yang sedang anda kerjakan maupun di akses point yang tersambung dengan eth1.
Tahap selanjutnya yang saya lakukan adalah menginstall paket-paket yang kemungkinan besar akan saya gunakan termasuk menginstall freeradius (anda bisa menambahkan atau mengurangi sesuai kebutuhan)
$apt-get -y install iptraf iftop whois sysstat snmp snmpd rrdtool dbconfig-common libphp-adodb php5-cli php5-gd php5-gmp php-pear php5-snmp php5-adodb make rpm alien subversion nmap libnet-netmask-perl curl freeradius freeradius-mysql php5-mcrypt perl openssl libnet-ssleay-perl libauthen-pam-perl libpam-runtime libio-pty-perl unzip git-core
Untuk mempermudah pekerjaan administrasi (mengingat saya juga msih newbie :) ), saya menginstall webmin, beberapa paket yang dibutuhkan untuk webmin sudah terinstall dengan perintah diatas. Tinggal install paket libmd5-perl secara manual karena sudah tidak tersedia di repo Ubuntu Lucid, untuk itu kita perlu mendownload paketnya.
$wget http://mirrors.kernel.org/ubuntu/pool/universe/libm/libmd5-perl/libmd5-perl_2.03-1_all.deb
$dpkg -i libmd5-perl_2.03-1_all.deb
$wget http://prdownloads.sourceforge.net/webadmin/webmin_1.510-2_all.deb
$dpkg -i webmin_1.510-2_all.deb
Ok,sampai disini anda sudah memiliki webmin dan juga freeradius yang sudah terinstall di LAMP server Ubuntu Linix 10.04 anda.
Selanjutnya anda perlu untuk mengcopy easyhotspot web only dari git server, dan menaruhnya di folder pada server and a (semisal /opt/). Saya melakukan tahap ini terlebih dahulu untuk mendapatkan contoh schema mysql yang digunakan oleh easyhotspot nantinya. untuk itu lakukan perintah dibawah
$cd /opt
$git clone git://easyhotspot.git.sourceforge.net/gitroot/easyhotspot/easyhotspot
Langkah selanjutnya dalah memastikan anda memiliki hak akses MySql dan saya sarankan anda merubah password root di MySql anda (password root mysql berbeda dengan root system) karena secara default, root tidak memiliki password.
$mysqladmin -u root password xxxyyyzzz
xxxyyyzzz” adalah contoh password mysql saya,anda bisa merubahnya sesuai dengan keinginan anda
Kemudian buat sebuah database yang akan digunakan oleh freeradius dan easyhotspot untuk authentikasi dan menejemen account dan biliing saya menggunakan nama database “hotspot” anda bisa menggunakan nama lain.
$mysql -u root -pxxxyyyzzz create hotspot
Masukkan skema database yang dibutuhkan kedlam database yang sudah dibuat diatas, disini saya menggunakan skema yang ada di folder easyhotspot yang sudah didownload dengan perintah git clone diatas.
$cd /opt/easyhotspot/install
$mysql -u root -pxxxyyyzzz hotspot
Kemudian buat sebuah user mysql dengan nama easyhotspot dan password sesuai dengan keinginan anda (dalam contoh saya menggunakan password ‘xxyyzz’) yang memiliki akses ALL GRAND terhadap database hotspot yang sudah dibuat tadi (disni anda bisa memanfaatkan webmin untuk mempermudah). sebenarnya anda bisa menggunakan account root anda untuk digunakan oleh easyhotspot dan freeradius, namun saya sarankan anda membuat account baru saja untuk tutorial mysql anda bisa membacanya di http://www.pantz.org/software/mysql/mysqlcommands.html
Setelah anda membuat account baru tersebut, anda harus menyesuaikan settingnya dengan setting database freeradius dan easyhotspot, untuk itu anda perlu merubah file /etc/freeradius/sql.conf dan /opt/easyhotspot/htdocs/system/application/config/database.php
Pada file /etc/freeradius/sql.conf ubah setting server, login, password dan radius_db menjadi :
sql {
#
#  Set the database to one of:
#
#    mysql, mssql, oracle, postgresql
#
database = “mysql”
#
#  Which FreeRADIUS driver to use.
#
driver = “rlm_sql_${database}”
# Connection info:
server = “localhost”
#port = 3306
login = “easyhotspot”
password = “xxyyzz”
# Database table configuration for everything except Oracle
radius_db = “hotspot”
Sedangkan pada /opt/easyhotspot/htdocs/system/application/config/database.php ubah setting database, username dan password sehingga menjadi :
$db['default']['hostname'] = “localhost”;
$db['default']['username'] = “easyhotspot”;
$db['default']['password'] = “xxyyzz”;
$db['default']['database'] = “hotspot”;
$db['default']['dbdriver'] = “mysql”;
Langkah selanjutnya adalah membuat chilli sebagai client dari freeradius, untuk itu kita harus merubah file /etc/freeradius/clients.conf dan pastikan anda memiliki baris setting seperti dibawah :
ipaddr = 127.0.0.1
secret = easyhotspot //anda bisa merubah dan sesuaikan dengan setting di chilli
nastype = other
Berikutnya yang juga penting adalah memberitahu freeradius untuk menggunakan MySql dalam authentikasi user. ubah file /etc/freeradius/radiusd.conf. dibagian modules (sekitar baris 648) dan uncommen :
$INCLUDE sql.conf
begitu juga bebrapa baris berikutnya, uncomment pada :
$INCLUDE sql/mysql/counter.conf
Kemudian cari di bagian instantiate (sekitar baris 715) dan tambahkan didalamnya :
max_all_mb
noresetcounter
kemudian save file tersebut dan buka file /etc/freeradius/sites-enabled/default. Pada bagian authorise perhatikan baris yang berisi sql yang mungkin di”comment” anda harus meng-”uncomment” baris tersebut dan menambahkan baris sehingga menjadi seperti dibawah :
sql
max_all_mb
noresetcounter
Anda juga harus meng-”uncomment” baris sql pada file yang sama di bagian accounting, session dan post-auth, kemudian save.
Tahap selanjutnya adalah merubah file /etc/freeradius/sql/mysql/counter.conf, buka file tersebut dan lihat pada bagian akhir file, terdapat parameter
sqlcounter noresetcounter {
bla…bla…bla…
Hapus semua baris diatas  hingga tanda } dan gantikan dengan :
sqlcounter noresetcounter {
counter-name = Session-Timeout
check-name = Session-Timeout
reply-name = Session-Timeout
sqlmod-inst = sql
key = User-Name
reset = never
query = “SELECT SUM(Acctsessiontime) FROM radacct WHERE UserName=’%{%k}’”
}
sqlcounter max_all_mb {
counter-name = Max-All-MB
check-name = Max-All-MB
reply-name = ChilliSpot-Max-Total-Octets
sqlmod-inst = sql
key = User-Name
reset = never
query = “SELECT SUM(AcctInputOctets)/(1024*1024) + SUM(AcctOutputOctets)/(1024*1024) FROM radacct WHERE UserName=’%{%k}’”
}
Sampai dini, seharusnya freeradius sudah bekerja. Anda bisa memastikan dengan manjalankan freeradius dengan mode debug.
$/etc/init.d/freeradius stop
$/usr/sbin/freeradius -X
Anda bisa melihat jika freeradius error makan akan di tampilkan letak kesalahannya yang membuat freeradius tidak berjalan, namun jika freeradius sudah bekerja dengan benar akan muncul pemberitahun freeradius menunggu request selanjutnya. Jika telah berjalan dengan benar anda bisa mematikan mode debug dan menjalankan dalam modus normal dengan menekan tombol ctrl+c dan menjalankan perintah
$/usr/sbin/freeradius
Pekerjaan selanjutnya adalah menginstall Coova Chilli. Sebelumnya anda mesti mendownload paket coova baru kemudian menginstalnya.
$wget http://ap.coova.org/chilli/coova-chilli_1.2.2_i386.deb
$dpkg -i coova-chilli_1.2.2_i386.deb
Secara default, coova chilli di set dalam keadaan tidak aktif, anda harus mengaktifkan dengan cara merubah isi file /etc/default/chilli dan cari
START_CHILLI=0 ubah menjadi START_CHILLI=1
selanjutnya adalah download dan install Haserl
$wget http://sourceforge.net/projects/haserl/files/haserl/0.8.0/haserl-0.8.0.tar.gz/download
$tar -zxvf haserl-0.8.0.tar.gz
$cd haserl-0.8.0;./configure;make;sudo make install
Kemudian Edit file /etc/chilli/wwwsh
cari :
haserl=$(which haserl 2>/dev/null)
ubah menjadi :
haserl=/usr/local/bin/haserl
kemudian tambahkan baris berikut pada file /etc/chilli/up.sh
# may not have been populated the first time; run again
[ -e "/var/run/chilli.iptables" ] && sh /var/run/chilli.iptables 2>/dev/null
# force-add the final rule necessary to fix routing tables
iptables -I POSTROUTING -t nat -o $HS_WANIF -j MASQUERADE
Kemudian buka file /etc/chilli/default dan sesuaikan parameter sesuai setting-setting diatas, berikut adalah setting /etc/chilli/default saya :
# -*- mode: shell-script; -*-
#
#   Coova-Chilli Default Configurations.
#   To customize, copy this file to /etc/chilli/config
#   and edit to your liking. This is included in shell scripts
#   that configure chilli and related programs before file ‘config’.
###
#   Local Network Configurations
#
# HS_WANIF=eth0            # WAN Interface toward the Internet
HS_LANIF=eth1           # Subscriber Interface for client devices
HS_NETWORK=10.1.0.0     # HotSpot Network (must include HS_UAMLISTEN)
HS_NETMASK=255.255.255.0   # HotSpot Network Netmask
HS_UAMLISTEN=10.1.0.1    # HotSpot IP Address (on subscriber network)
HS_UAMPORT=3990            # HotSpot UAM Port (on subscriber network)
HS_UAMUIPORT=4990          # HotSpot UAM “UI” Port (on subscriber network, for embedded portal)
# HS_DYNIP=
# HS_DYNIP_MASK=255.255.255.0
# HS_STATIP=
# HS_STATIP_MASK=255.255.255.0
# HS_DNS_DOMAIN=
# DNS Servers
HS_DNS1=192.168.1.254
###
#   HotSpot settings for simple Captive Portal
#
HS_NASID=nas01
HS_RADIUS=localhost
HS_RADIUS2=localhost
HS_UAMALLOW=10.1.0.1,192.168.1.254,lestari-net.co.cc
HS_RADSECRET=easyhotspot    # Set to be your RADIUS shared secret//sesuai yang kita isikan di /etc/freeradius/clients.conf
HS_UAMSECRET=easyhotspot     # Set to be your UAM secret
HS_UAMALIASNAME=chilli
#  Configure RADIUS proxy support (for 802.1x + captive portal support)
# HS_RADPROXY=on
# HS_RADPROXY_LISTEN=127.0.0.1
# HS_RADPROXY_CLIENT=127.0.0.1
# HS_RADPROXY_PORT=1645
# HS_RADPROXY_SECRET=$HS_RADSECRET
#  Example OpenWrt /etc/config/wireless entry for hostapd
#    option encryption wpa2
#    option server $HS_RADPROXY_LISTEN
#    option port $HS_RADPROXY_PORT
#    option key $HS_RADPROXY_SECRET
#   To alternatively use a HTTP URL for AAA instead of RADIUS:
# HS_UAMAAAURL=http://my-site/script.php
#   Put entire domains in the walled-garden with DNS inspection
# HS_UAMDOMAINS=”.paypal.com,.paypalobjects.com”
#   Optional initial redirect and RADIUS settings
# HS_SSID=        # To send to the captive portal
# HS_NASMAC=  # To explicitly set Called-Station-Id
# HS_NASIP=    # To explicitly set NAS-IP-Address
#   The server to be used in combination with HS_UAMFORMAT to
#   create the final chilli ‘uamserver’ url configuration.
HS_UAMSERVER=$HS_UAMLISTEN
#   Use HS_UAMFORMAT to define the actual captive portal url.
#   Shell variable replacement takes place when evaluated, so here
#   HS_UAMSERVER is escaped and later replaced by the pre-defined
#   HS_UAMSERVER to form the actual “–uamserver” option in chilli.
HS_UAMFORMAT=http://\$HS_UAMLISTEN:\$HS_UAMUIPORT/www/login.chi
#   Same principal goes for HS_UAMHOMEPAGE.
HS_UAMHOMEPAGE=http://\$HS_UAMLISTEN:\$HS_UAMPORT/www/coova.html
#   This option will be configured to be the WISPr LoginURL as well
#   as provide “uamService” to the ChilliController. The UAM Service is
#   described in: http://www.coova.org/CoovaChilli/UAMService
#
# HS_UAMSERVICE=
###
#   Features not activated per-default (default to off)
#
# HS_RADCONF=off        # Get some configurations from RADIUS or a URL (‘on’ and ‘url’ respectively)
#
# HS_ANYIP=on          # Allow any IP address on subscriber LAN
#
# HS_MACAUTH=on         # To turn on MAC Authentication
#
# HS_MACAUTHDENY=on     # Put client in ‘drop’ state on MAC Auth Access-Reject
#
# HS_MACAUTHMODE=local        # To allow MAC Authentication based on macallowed, not RADIUS
#
# HS_MACALLOW=”…”      # List of MAC addresses to authenticate (comma seperated)
#
# HS_USELOCALUSERS=on      # To use the /etc/chilli/localusers file
#
# HS_OPENIDAUTH=on      # To inform the RADIUS server to allow OpenID Auth
#
# HS_WPAGUESTS=on       # To inform the RADIUS server to allow WPA Guests
#
# HS_DNSPARANOIA=on     # To drop DNS packets containing something other
#                  # than A, CNAME, SOA, or MX records
#
# HS_OPENIDAUTH=on      # To inform the RADIUS server to allow OpenID Auth
#                  # Will also configure the embedded login forms for OpenID
#
# HS_USE_MAP=on         # Short hand for allowing the required google
#                  # sites to use Google maps (adds many google sites!)
#
###
#   Other feature settings and their defaults
#
# HS_DEFSESSIONTIMEOUT=0   # Default session-timeout if not defined by RADIUS (0 for unlimited)
#
# HS_DEFIDLETIMEOUT=0    # Default idle-timeout if not defined by RADIUS (0 for unlimited)
#
# HS_DEFBANDWIDTHMAXDOWN=0   # Default WISPr-Bandwidth-Max-Down if not defined by RADIUS (0 for unlimited)
#
# HS_DEFBANDWIDTHMAXUP=0      # Default WISPr-Bandwidth-Max-Up if not defined by RADIUS (0 for unlimited)
###
# Centralized configuration options examples
#
# HS_RADCONF=url        # requires curl
# HS_RADCONF_URL=https://coova.org/app/ap/config
# HS_RADCONF=on         # gather the ChilliSpot-Config attributes in
#                  # Administrative-User login
# HS_RADCONF_SERVER=rad01.coova.org        # RADIUS Server
# HS_RADCONF_SECRET=coova-anonymous        # RADIUS Shared Secret
# HS_RADCONF_AUTHPORT=1812           # Auth port
# HS_RADCONF_USER=chillispot               # Username
# HS_RADCONF_PWD=chillispot                # Password
###
#   Firewall issues
#
# Uncomment the following to add ports to the allowed local ports list
# The up.sh script will allow these local ports to be used, while the default
# is to block all unwanted traffic to the tun/tap.
#
HS_TCP_PORTS=”22 80 10000″ //saya membuka port 22 untuk ssh, 80 untuk webinterface EHS dan 10000 untuk webmin.
###
#   Standard configurations
#
HS_MODE=hotspot
HS_TYPE=chillispot
# HS_RADAUTH=1812
# HS_RADACCT=1813
# HS_ADMUSR=chillispot
# HS_ADMPWD=chillispot
###
#   Post-Auth proxy settings
#
# HS_POSTAUTH_PROXY=
# HS_POSTAUTH_PROXYPORT=
#   Directory specifying where internal web pages can be served
#   by chilli with url /www/. Only extentions like .html
#   .jpg, .gif, .png, .js are allowed. See below for using .chi as a
#   CGI extension.
HS_WWWDIR=/etc/chilli/www
#   Using this option assumes ‘haserl’ is installed per-default
#   but, and CGI type program can ran from wwwsh to process requests
#   to chilli with url /www/filename.chi
HS_WWWBIN=/etc/chilli/wwwsh
#   Some configurations used in certain user interfaces
#
HS_PROVIDER=Lestari-Net
HS_PROVIDER_LINK=http://lestari-net.co.cc/
###
#   WISPr RADIUS Attribute support
#
HS_LOC_NAME=”Lestari-Net HotSpot”       # WISPr Location Name and used in portal
#   WISPr settings (to form a proper WISPr-Location-Id)
# HS_LOC_NETWORK=”My Network”      # Network name
# HS_LOC_AC=408               # Phone area code
# HS_LOC_CC=1                 # Phone country code
# HS_LOC_ISOCC=US             # ISO Country code
Setelah di save, jalankan chilli dengan perintah :
$/etc/init.d/chilli start
Seharusnya saat ini server biilling hotspot anda sudah berjalan dengan baik, begitu juga dengan easyhotspotnya. lakukan pengecekan dengan perintah :
$ifconfig
Jika dalam reslut ifconfig telah muncul eth1 dan tun0 dimana Tun0 memiliki ip 10.1.0.1 maka server anda sudah bisa digunakan. Hubungkan sebuah PC dengan kabel LAn ke eth1, dan pastikan PC tersebut menggunakan setting IP otomatis. dan lihat jika PC sudah mendapatkan IP DHCP dari coova chilli dengan ip 10.1.0.x maka coova chilli sudah bekerja dengan baik. Anda tinggal membuka browser dan buka alamat sembarang, disini harusnya anda diredirect ke halaman login, jika tidak anda bisa mengetikkan alamat http://10.1.0.1:3990/ (dalalam beberapa kali ujicoba sering kali coova merespon lambat sehingga user tidak di redirect kehalaman login).
Terakhir, yang harus anda lakukan adalah membuat symlink untuk easyhotspot agar bisa dibuka di browser, lakukan perintah di bawah :
$ln -s /opt/easyhotspot/htdocs /var/www/easyhotspot
Setelah itu silahkan buka http://ip-server-anda/easyhotspot untuk memulai menejemen hotspot anda. Oya, sebelumnya anda harus memastikan tiga file config easyhotspot sudah terisi dengan benar yaitu /opt/easyhotspot/htdocs/system/application/config/config.php, /opt/easyhotspot/htdocs/system/application/config/database.php dan /opt/easyhotspot/htdocs/system/application/config/easyhotspot.php
OPTIONAL :
Anda bisa melakukan perubahan terhadap halaman login dari hotspot anda dengan mengedit file-file yang ada di /etc/chilli/www dan jika anda ingin mudah, anda bisa menggunakan halaman login yang sudah saya buat untuk warnet di tempat saya dan anda tinggal mengutak-atik file berekstensi .tmpl sehingga anda akan mendpatkan tampilan seperti screenshot dibawah ini :

Halaman Login Coova
Untuk menginstallnya anda bisa melakukan perintah dibawah :

$wget http://ndra.gmib26.net/downloads/www.zip
$cp www.zip /etc/chilli
$cd /etc/chilli
$cp –r /etc/chilli/www /etc/chilli/www.bak
$rm –rf /etc/chilli/www
$unzip –a www.zip
Saat ini mestinya anda telah memiliki halaman login seperti screenshot diatas.
Selamat mencoba, semoga tulisan ini bisa sedikit membantu teman-teman sesama newbie. Jika ada sesuatu yang salah, saya tidak menutup diri dari masukan para master sekalian. THANKS.

==========================================================================

tanks to  drg. Fredy Rendra and  Rafeequl