------------------------------------------------------------------------------------------------
Untuk sistem operasi yang saya gunakan :
1. Ubuntu 8.04 Hardy Heron dengan paket LAMP(minimal 2 ethernet card)
2. Putty untuk remote server dari client
3. Webmin untuk mempermudah edit file.
Topologi jaringan yg saya pakai:
internet ---- modem --------ubuntu server ------- switch ------- AP dan/atau LAN
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
auto eth1
Pastikan juga /etc/resolv.conf setting DNS dari Server nya benar
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.
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
Step Instalasi :
1. CakePHP
2. YFi CakePHP Application
3. YFi View Component
4. FreeRADIUS
5. Coova Chilli
1. Install CakePHP, Download versi terbaru CakePHP di http://cakephp.org.
yang saya pakai versi cake_1.2.4.8284.tar.gz
Copy, extract di direktori apache. Default ubuntu di /var/www
Code:
sudo cp cake_1.2.4.8284.tar.gz /var/www
cd /var/www
sudo tar -xzvf cake_1.2.4.8284.tar.gz
Buat symbolic link
Code:
cd /var/www
sudo ln -s ./cake_1.2.4.8284 ./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-2.tar.gz
extract di direktori "/var/www/c2".
Code:
sudo cp yfi_cake-Beta-2.tar.gz /var/www/c2
cd /var/www/c2
sudo tar -xzvf yfi_cake-Beta-2.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' dan "/usr/local/etc/raddb/rlm_perl_modules/conf/setting.conf" 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.0.2/c2/yfi_cake/users/
Kalau yang ditampilkan adalah halaman login, berarti setting sudah benar:D selamat ya..
3. Install YFi Viewer Component
Download viewer component disini saya gunakan versi yfi-Beta-2.tar.gz
extract di directory default apache2 “/var/www "
Code:
sudo cp yfi-Beta-2.tar.gz /var/www
cd /var/www
sudo tar -xzvf yfi-Beta-2.tar.gz
Tes Viewer Component
Masukkan alamat berikut di browser : http://127.0.0.1/yfi
Atau http://192.168.0.2/yfi jika dari Komputer client.
Jika instalasi berhasil, akan keluar splash page dan kemudian halaman login. 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.x. (sip.. )
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.6.tar.gz
cd freeradius-server-2.1.6
./configure
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.
Code:
sudo mv /usr/local/etc/raddb /usr/local/etc/raddb.orig
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
Edit file “/usr/local/share/freeradius/dictionary"
cari "$INCLUDE dictionary.chillispot", kalau belum ada tambahkan
Perhatikan posisi untuk insert data, cari baris berikut
Code:
$INCLUDE dictionary.xedia
$INCLUDE dictionary.xylan
Kalau belum ada "$INCLUDE dictionary.chillispot", Masukkan data berikut di bawah "dictionary.xylan"
Code:
#---YFI HOTSPOT------
$INCLUDE dictionary.chillispot
#--END YFI HOTSPOT---
#
# And finally the server internal attributes.
#
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=196.168.0.1
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
Halaman Login
Disini saya menggunakan login page coova_json
install svn:
Code:
sudo apt-get install subversion
Download halaman login melalui svn
Code:
svn co https://hotcakes.svn.sourceforge.net/svnroot/hotcakes/yfi_cake/setup/coova_json coova_json
Copy folder coova_json ke direktori apache " /var/www "
Code:
sudo cp -R coova_json /var/www/coova_json
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.. 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 bisa bernafas lega..
2. Coba browsing ke, misal www.google.com. Akan keluar halaman splash ( keren ga??)
3. Kemudian diarahkan ke halaman login: hs_land.php (siipp... )
4. Login dengan user dvdwalt@ri dan password dvdwalt@ri.
5. Jika akses diterima, akan nongol www.google.com
Yup, tahap instalasi Finish
Rekan2 yg sudah coba silahkan explore fitur2 dari YFI Hotspot Manager. Jangan lupa dishare yah... thanks
Update : mengatasi " kick user off " yg ga jalan.
1. edit "/etc/init.d/chilli". Tambahkan script agar coova chilli listen COA port=3799
PATH=/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/sbin/chilli
DAEMON_ARGS="--coaport 3799 --conf /etc/chilli.conf" ## script yg ditambahkan
NAME=chilli
DESC=chilli
CONFFILE=/etc/chilli.conf
OPTS="--pidfile /var/run/$NAME.pid"
2. Edit " /etc/chilli.conf ", untuk mengaktifkan COA di port 3799.
# TAG COA Port
coaport 3799 ## baris tebal adalah baris yg ditambahkan
include /etc/chilli/main.conf
include /etc/chilli/hs.conf
include /etc/chilli/local.conf
3. Restart daemon chilli
sudo /etc/init.d/chilli restart
Silahkan dicoba lewat yfi manager, selamat ber-Free Kick User off ria..
Semoga bermanfaat, Thanks..
SUMBER : http://opensource.telkomspeedy.com/forum/viewtopic.php?id=8439
0 comments:
Post a Comment
Silahkan Jika ada Keluhan Atau Kurang Jelas!
Komentar anda merupakan inspirasi Kami