Disini saya akan membahas tentang membangun captive portal di FreeBSD, mungkin sedikit rumit! karena dengan menginstall FreeBSD nya saja anda bakal kebingungan bagi yang pemula. Tapi kalo dengan terus berlatih yakin ko kalian dapat memahaminya. Langsung saja ke intinya ;-)
Ok.
Langkah-langkah pembuatan captive portal adalah sebagai berikut :
1. Sistem operasi Freebsd sudah di install dan
berjalan dengan baik
2. Instal web server beserta SSL-nya, PHP dan
Mysql
3. Download dan install aplikasi chilispot
Download : http://downloads.openwrt.org/sources/
# cd /home/cpa
# wget http://downloads.openwrt.org/sources/chillispot-1.0.tar.gz
# tar –xzvf chillispot-1.0.tar.gz
# cd chillispot-1.0
# ./configure –prefix=/usr/local/chilli
# make && make install
# wget http://downloads.openwrt.org/sources/chillispot-1.0.tar.gz
# tar –xzvf chillispot-1.0.tar.gz
# cd chillispot-1.0
# ./configure –prefix=/usr/local/chilli
# make && make install
4. Konfigurasi aplikasi chilispot
Copy file chilli.conf ke direktori
/etc. Kemudian edit file konfigurasi chilli.conf
# cp /home/rody/chillispot-1.0/doc/chilli.conf /etc/.
# vi /etc/chilli.conf
# vi /etc/chilli.conf
pidfile /var/run/chilli.pid
net 172.16..0/28
dynip 172.16.0/28
dns1 172.16.1.3
domain captport.net
radiuslisten 127.0.0.1
radiusserver1 127.0.0.1
radiusserver2 127.0.0.1
radiusauthport 1812
radiusacctport 1813
radiussecret cpatest
radiusnasid nas01
dhcpif fxp0
uamserver https://captport.net/cgi-bin/hotspotlogin.cgi
uamsecret secretuam
uamlisten 172.16.1.3
uamport 3990
uamallowed 172.16.1.3
net 172.16..0/28
dynip 172.16.0/28
dns1 172.16.1.3
domain captport.net
radiuslisten 127.0.0.1
radiusserver1 127.0.0.1
radiusserver2 127.0.0.1
radiusauthport 1812
radiusacctport 1813
radiussecret cpatest
radiusnasid nas01
dhcpif fxp0
uamserver https://captport.net/cgi-bin/hotspotlogin.cgi
uamsecret secretuam
uamlisten 172.16.1.3
uamport 3990
uamallowed 172.16.1.3
setelah konfigurasi chilispot selesai,
aktifkan fitur SSL pada webserver.
5.
Edit File hotspotlogin.cgi, dan letakkan pada direktori cgi-bin pada
webserver.
# cp /home/cpa/chillispot-1.0/doc/hotspotlogin.cgi
/usr/local/apache2/cgi-bin/.
# cd /usr/local/apache/cgi-bin
# vi hotspotlogin.cgi
# cd /usr/local/apache/cgi-bin
# vi hotspotlogin.cgi
cari baris #$uamsecret dan #$userpassword, setelah itu sesuaikan dengan
chilli.conf dan hilangkan tanda pagar, contoh :
Hilangkan tanda pagar didepannya :
$uamsecret = “sesuaikan dengan uamsecret yang ada pada
chilli.conf”;
$userpassword=1;
$userpassword=1;
6.
Download dan Install Freeradius
Download : http://downloads.openwrt.org/sources/
Download : http://downloads.openwrt.org/sources/
# cd /home/cpa
# wget http://downloads.openwrt.org/sources/freeradius-1.1.2.tar.gz
# tar –xzvf freeradius-1.1.2.tar.gz
# cd freeradius-1.1.2
# ./configure –prefix=/usr/local/radius
# make && make install
# wget http://downloads.openwrt.org/sources/freeradius-1.1.2.tar.gz
# tar –xzvf freeradius-1.1.2.tar.gz
# cd freeradius-1.1.2
# ./configure –prefix=/usr/local/radius
# make && make install
7. Konfigurasi clients.conf
# cd /usr/local/radius/etc/raddb
# vi clients.conf
client 127.0.0.1 {
secret = isinya sama seperti pd file chilli.conf
shortname = localhost
nastype = other
}
8. Konfigurasi radius.conf
Untuk konfigurasi radius.conf, edit
file radius.conf yang berada pada direktori yang sama dengan clients.conf
# vi radiusd.conf
cari baris dibawah ini :
$INCLUDE ${confdir}/sql.conf
$INCLUDE ${confdir}/sql.conf
Kemudian tambahkan beberapa baris
konfigrasi sehingga menjadi seperti ini :
$INCLUDE ${confdir}/sql.conf
sqlcounter noresetcounter {
counter-name = Max-All-Session-Time
check-name = Max-All-Session
sqlmod-inst = sql
key = User-Name
reset = never
query = “SELECT SUM(AcctSessionTime) FROM radacct where UserName=’%{%k}’“
}
sqlcounter noresetcounter {
counter-name = Max-All-Session-Time
check-name = Max-All-Session
sqlmod-inst = sql
key = User-Name
reset = never
query = “SELECT SUM(AcctSessionTime) FROM radacct where UserName=’%{%k}’“
}
Kemudian cari baris berikut dan
sesuaikan dengan konfigurasi yang ada di bawah ini :
accounting {
unix
radutmp
sql
}
unix
radutmp
sql
}
authenticate {
Auth-Type PAP {
pap
}
Auth-Type CHAP {
chap
}
Auth-Type MS-CHAP {
mschap
}
eap
}
Auth-Type PAP {
pap
}
Auth-Type CHAP {
chap
}
Auth-Type MS-CHAP {
mschap
}
eap
}
instantiate {
exec
expr
noresetcounter
}
exec
expr
noresetcounter
}
preacct {
preprocess
acct_unique
suffix
}
preprocess
acct_unique
suffix
}
authorize {
preprocess
chap
mschap
suffix
sql
noresetcounter
}
preprocess
chap
mschap
suffix
sql
noresetcounter
}
session {
sql
}
sql
}
9. Konfigurasi sql.conf
# vi sql.conf
yang perlu di edit ada adalah baris
berikut :
# Connect info
server = “localhost”
login = “user mysql anda”
password = “passwordnya”
# Database table configuration
radius_db = “databaseradius”
server = “localhost”
login = “user mysql anda”
password = “passwordnya”
# Database table configuration
radius_db = “databaseradius”
Pada database di mysql, sesuaikan dengan yang dikonfigurasi
pada sql.conf misalnya “databaseradius”
10. Installasi phpmyprepaid sebagai aplikasi web
based untuk manajemen user dan billing hotspot
download paket
phpmyprepaid0.3.3.tgz
# tar –xzvf phpmyprepaid0.3.3.tgz
# mv phpmyprepaid0.3.3 /usr/local/apache2/htdocs/prepaid
# cd /usr/local/apache2/htdocs/prepaid
# mv phpmyprepaid0.3.3 /usr/local/apache2/htdocs/prepaid
# cd /usr/local/apache2/htdocs/prepaid
# vi config.inc.php
$fpdfdir=”/usr/local/apache2/htdocs/prepaid/fpdf”;
# vi dbconnect.php
Pada hal ini, sesuaikan dengan system
yang telah dibuat
$my_host=”localhost”;
$my_user=”usernya”;
$my_pass=”passwordnya”;
$my_dbase=”databaseradius”;
$my_user=”usernya”;
$my_pass=”passwordnya”;
$my_dbase=”databaseradius”;
Setelah semua selesai, akses di browser dengan mengetikkan http://ipaddressataudomain/prepaid/, tabel-tabel pada
database radius akan tercreate sendiri dan kita akan diminta username dan
password untuk masuk login. Apabila sudah selesai, cobalah buat user beserta
password pada phpmyprepaid tersebut.
11. Menjalankan daemon chillispot dan freeradius
# /usr/local/chilli/sbin/chilli start &
# /usr/local/radius/sbin/radius start &
Sekian~ semoga bermanfaat yaaa!! :-)
0 komentar:
Posting Komentar