………………….., Saya berasumsi Ubuntu anda sudah terinstal dengan baik di komputer anda, dan terhubung ke internet.
Sistem yang digunakan memiliki 2 interface, yaitu eth0 dan eth1.
eth0 terhubung ke internet dan eth1 terhubung ke jaringan internal hotspot yang anda miliki.
Diharapkan yang baca artikel ini sudah mahir menggunakan editor teks. Bisa menggunakan nano atau vi. Tergantung selera
Server FreeRadius+Chillispot+PhpMyPrepaid selanjutnya akan saya sebut “Server” saja.
Topologi jaringan nya adalah sebagai berikut:
Internet — (eth0) Server Anda (eth1) — Access Point — > Laptop User
Pada kasus saya, internetnya merupakan jaringan internal kantor saya yang networknya 192.168.212.0/24, sedangkan jaringan internal hotspot saya diset pada network 10.3.11.0/24
Mari kita mulai langkah2nya
1. Buat eth0 terkoneksi ke internet. Sangat mudah jika interfacenya di set static. Berikut adalah isi dari /etc/network/interfaces saya. Konfigurasi untuk eth1 tidak usah diisi karena nanti eth1 diberi setingan DHCP dari Chillispotnya
auto lo
iface lo inet loopback
iface eth0 inet static
address 192.168.212.41
netmask 255.255.255.0
gateway 192.168.212.1
auto eth0
2. Pastikan juga isi dari /etc/resolv.conf benar supaya setting DNS dari Server nya benar
3. Edit file /etc/sysctl.conf. Uncomment bagian ini agar Kernel Ubuntu dapat forwarding packet
# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1
Lalu load ulang sysctl dengan mengetik
#sysctl -p
4. Install program yang dibutuhkan
apt-get install unzip fakeroot ssh build-essential rrdtool snmp apache2 php5 php5-mysql ssl-cert freeradius freeradius-mysql chillispot mysql-server-5.0 php5-common php5-gd php-pear php-db libapache2-mod-php5
Ga semua program di atas dibutuhin sih.. Cuman menurut panduan yang gw baca sih ditulisnya begitu hehe..
5. Buat File di /etc/network/option. Trus isi dengan
ip_forward = yes
Sebenernya sih ngga usah, karena langkah ini tuh sama dengan langkah no.5. Lagi2 karena panduan yang gw baca ini hehe..
6. Edit file /etc/apache2/apache2.conf
tambahkan di bagian bawah file nya:
ServerName 192.168.212.41
IP address ini adalah IP address eth0 anda.
7. Edi file /etc/php5/apache2/php.ini
Cari tulisan:
; extension=msql.so
Hapus tanda titik koma nya dan ganti msql.so jadi mysql.so
extension=mysql.so
Cari juga tulisan:
post_max_size = 8M
Ganti 8M menjadi 16M
post_max_size = 16M
8. Download paket phpmyprepaid lalu letakkan di folder /var/www dan ekstrak
#cd /var/www
#tar -xzvf phpmyprepaid04RC2.tgz
9. Sebelum menginstall PhpMyPrepaid, ubah dulu akses folder dari folder di bawah ini ke 777
#chmod 777 /var/www/phpmprepaid/www
10. Buat table phpmyprepaid di mysql anda.
#mysql -u root -p
mysql> CREATE DATABASE phpmyprepaid;
mysql> GRANT ALL PRIVILEGES ON phpmyprepaid.* to ‘phpmyprepaid’@’localhost’ IDENTIFIED BY ‘passphpmyprepaid-mysql-gwa’;
mysql> exit
11. Install Program PhpMyPrepaid
Buka Mozilla Firefox dan arahkan addressnya ke :
http://192.168.212.41/phpmyprepaid/www/install/setup.php
Saya ingatkan lagi, 192.168.212.41 adalah ip address eth0 yang terhubung ke internet
Klik start
Konfigurasi yang harus dipastikan benar adalah sebagai berikut:
PhpMyPrepaid install directory : /var/www/phpmyprepaid
FreeRADIUS binary files directory : /usr/sbin
FreeRADIUS config files directory : /etc/freeradius
FreeRADIUS dictionary directory : /usr/share/radius
FreeRADIUS start/stop/restart/status script : /etc/init.d/freeradius
FreeRADIUS radius log file path : /var/log/freeradius/radius.log
RRDTOOL binary path : /usr/bin/rrdtool
Sudo binary path : /usr/bin/sudo
System log file path : /var/log/messages
Radclient command : /usr/bin/radclient
MySQL client commmand : /usr/bin/mysql
snmpwalk command : /usr/bin/snmpwalk
snmpget command : /usr/bin/snmpget
Lalu konfigurasi di halaman selanjutnya adalah sebagai berikut
Root password for MySQL : passroot-mysql-gwa
PhpMyPrepaid Database Name (phpmyprepaid) : phpmyprepaid
PhpMyPrepaid Database Password : passphpmyprepaid-mysql-gwa
Confirm Password : passphpmyprepaid-mysql-gwa
Database location (localhost) : localhost
FreeRadius location (localhost) : localhost
FreeRadius version : 1.X
Lalu konfigurasi di halaman selanjutnya adalah sebagai berikut
Administrator login for PhpMyPrepaid : userlogin-phpmyprepaid-gw
Administrator password for PhpMyPrepaid : passlogin-phpmyprepaid-gw
Confirm Password : passlogin-phpmyprepaid-gw
Administrator name for PhpMyPrepaid : ngadimin
Administrator surname for PhpMyPrepaid : Ngadimin Ganteng
Administrator email for PhpMyPrepaid : ngadimin@ganteng.com
Administrator language for PhpMyPrepaid : en
12. Konfigurasi paska instalasi PhpMyPrepaid
Hapus folder instalasi
#rm -rf /var/www/phpmyprepaid/www/install
Ubah Hak Akses foldernya kembali
#chmod 755 /var/www/phpmyprepaid/www
Setting Chillispot
1. Buka /etc/chilli.conf. Isi konfigurasi minimal sebagai berikut
net 10.3.11.0
dns 202.46.240.99
radiusserver1 127.0.0.1
radiussecret passsecretnya-radius-gw
dhcpif eth1
uamserver https://10.3.11.1/cgi-bin/hotspotlogin.cgi
uamsecret pass-secret-uam-gw
uam listen 10.3.11.0
2. Buat file hotspotlogin.cgi di folder cgi-bin
#cp /sr/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
3. Edit file /usr/lib/cgi-bin/hotspotlogin.cgi
Uncomment 2 buah baris, sehingga menjadi seperti di bawah ini
$uamsecret = “pass-secret-uam-gw”;
$userpassword=1;
4. 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
Setting FreeRadius
1. Edit file /etc/freeradius/clients.conf
Cari konfigurasi berikut dan modifikasi menjadi seperti ini
client 127.0.0.1 {
secret = pass-client-radius-testing123-gw
shortname = localhost
nastype = other
}
2. Edit file /etc/freeradius/sql.conf
#Connect Info
server = “localhost”
login = “phpmyprepaid”
password = “passphpmyprepaid-mysql-gwa”
#Database table configuration
radius_db = “phpmyprepaid”
3. Edit file /etc/freeradius/radiusd.conf
Cari konfigurasi berikut
$INCLUDE ${confdir}/sql.conf
Dan tambahkan baris di bawahnya sehingga menjadi sebagai berikut
$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}’”
}
Cari konfigurasi untuk accounting, instantiate, dan authorize. Lalu setting menjadi seperti di bawah ini dengan cara menghilangkan tanda pagarnya.
Selain itu, berikan tanda pagar untuk yang lain.
accounting {
unix
radutmp
sql
}
instantiate {
exec
expr
noresetcounter
}
authorize {
preprocess
chap
mschap
suffix
sql
noresetcounter
}
Setting Certificate
1. Konfigurasi Sertifikasi
#cd /etc/apache2
#mkdir ssl
#make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem
Lalu jawab pertanyaan-pertanyaan nya hehe…
2. Aktifkan dengan cara
#a2enmod ssl
#/etc/init.d/apache2 force-reload
3. Lalu buat file ssl dengan meng-copy dari default
#cd /etc/apache2/sites-available
#cp default ssl
4. Lalu edit /etc/apache2/sites-available/ssl. Ubah bagian awalnya jadi seperti ini
NameVirtualHost *:443
<VirtualHost *:443>
ServerAdmin webmail@localhost
SSLEngine On
SSLCertificateFIle /etc/apache2/ssl/apache.pem
DocumentRoot /var/www/
5. Kemudian di enable dengan cara
#a2ensite ssl
#/etc/init.d/apache2 reload
#/etc/init.d/apache2 restart
6. Restart semua aplikasi
#/etc/init.d/apache2 restart
#/etc/init.d/mysql restart
#/etc/init.d/chillispot restart
#/etc/init.d/freeradius restart
Setelah itu, colok Access Point ke eth1. Lalu laptop user dihubungkan ke Access Point tersebut.
Setelah tersambung, coba cek dulu apakah laptop user dah dapet IP address dari chillispotnya apa belum
Nah kalo udah tersambung, coba browsing ke situs mana saja, user laptop akan teredirect ke halaman login.
Sekian semoga bermanfaat,,,