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) 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
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
Pastikan paket LAMP telah ter-install
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:
untuk mengubah skala file gambar, Install imagemagick.
Mulai versi Beta-3, Yfi Manager Hotspot sudah support multi bahasa
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
Rename direktori hasil ekstrak, agar lebih simpel (misal:cake_1.2.6)
Buat symbolic link
Enable beberapa modul apache: rewrite, deflate untuk kompresi, dan headers untuk memodifikasi http header. Modul tersebut diperlukan untuk meningkatkan performance dan kecepatan web aplikasi..
Edit file "/etc/php5/apache2/php.ini"
Pada baris :
ubah dengan
Edit file /etc/apache2/apache2.conf
Masukkan script dibawah ini:
Reload Apache
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".
Setting Database
Buat database 'yfi' dengan username dan password default 'yfi' (default).
Untuk settingan default gunakan perintah ini :
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:
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 "
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. nice work..
Coba log in dengan salah satu user default berikut:
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.. )
sebelum compile FreeRadius, pastikan package berikut sudah terinstall:
Download FreeRADIUS source code Download FreeRADIUS
Lakukan tes dengan perintah berikut untuk menjalankan freeRadius dengan debug mode:
Ctrl+c untuk keluar.
Buat FreeRADIUS otomatis berjalan saat boot
Setup FreeRADIUS agar bisa diakses oleh YFi, ganti raddb freeradius dgn raddb YFI
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:
Masukkan data berikut dibawahnya
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.
Kalau tidak ada error, jalankan FreeRADIUS melalui startup script
YFi menggunakan beberapa script yang harus dijalankan secara periodik. Copy Cron Script berikut ke cron sistem.
5. Install CoovaChilli
Download CoovaChilli di http://www.coova.org/Download
Versi pada saat ini CoovaChilli-1.0.14. Untuk Ubuntu bisa lewat:
install : (CoovaChilli akan diinstall di folder "/etc/chilli")
Konfigurasi CoovaChilli
copy file " /etc/chilli/defaults " ke "/etc/chilli/config "
Ubah option di file " /etc/chilli/config "
Edit file " /etc/default/chilli " ubah nilai ke 1
Start-up coova chilli
Firewall Setting
Tambahkan baris berikut di bagian akhir file "/etc/chilli/up.sh ",
Tambahkan coa port pada file /etc/init.d/chilli, cari pada bagian ini :
Tambahkan --coaport 3799 untuk keperluan "Kick User off"
Halaman Login
Disini saya menggunakan login page coova_json
Copy folder coova_json ke direktori apache " /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.. 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
" Padukan dengan squid Transparent Proxy"
Berikut iptables yg saya gunakan untuk meredirec client HotSpot ke squid (squid satu server dengan captive portal)
Semoga bermanfaat, Thanks..
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) 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
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
Code:
sudo tasksel
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
Code:
sudo apt-get install imagemagick
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
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
Buat symbolic link
Code:
cd /var/www sudo ln -s ./cake_1.2.6 ./c2
Code:
sudo a2enmod rewrite sudo a2enmod deflate sudo a2enmod headers sudo /etc/init.d/apache2 reload
Pada baris :
Code:
output_buffering = Off
Code:
output_buffering = 4096
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 #-----------------------------------------
Code:
sudo /etc/init.d/apache2 reload
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
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;
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
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
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. 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
YFi Hotspot Manager merupakan front-end dari mysql database yang digunakan oleh FreeRADIUS. Yang dipakai adalah versi radius terbaru yaitu 2.1.8 (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
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
Code:
sudo /usr/local/sbin/radiusd –X
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 .
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
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
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
Jalankan freeRadius dengan debug mode untuk memastikan tidak ada error.
Code:
sudo /usr/local/sbin/radiusd -X
Code:
sudo /etc/init.d/radiusd start
Code:
sudo cp /var/www/c2/yfi_cake/setup/cron/yfi /etc/cron.d/
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
Code:
sudo dpkg -i coova-chilli_1.0.14-1_i386.deb
copy file " /etc/chilli/defaults " ke "/etc/chilli/config "
Code:
sudo cp /etc/chilli/defaults /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
Code:
START_CHILLI=1
Code:
sudo /etc/init.d/chilli start
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
Code:
OPTS="--pidfile /usr/local/var/run/$NAME.pid"
Code:
OPTS="--pidfile /usr/local/var/run/$NAME.pid --coaport 3799" ## Tambahkan coa port
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
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
" 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
Last edited by xeon (21-04-2010 21:44:40)
untuk lucid bisa menggunakan versi SVN dan db dipatch mysql4 to 5
untuk lucid bisa menggunakan versi SVN dan db dipatch mysql4 to 5
No comments:
Post a Comment