1. Installasi Radius server
Sebelumnya kita harus menginstall beberapa paket di bawah ini,
wisnu@wisnu:~$ sudo apt-get install apache2 php5 php5-mysql mysql-server mysql-client phpmyadmin
untuk menginstall freeradius sebagai radius server kita harus update
repo di computer kita, hal ini di karenakan paket freeradius dan
paket-paket pendukungnya tidak ada di dalam DVD 1 debian yang saya
gunakan. Untuk penggunaan repository online di usahakan menggunakan
repository online terdekat dengan letak geografis dimana anda tinggal,
menurut info yang saya dapatkan jika semakin jauh repository online yang
kita gunakan maka aksesnya pun juga akan semakin lambat.
wisnu@wisnu:~$ sudo nano /etc/apt/source.list
setting seperti gambar di atas, kemudian ketik perintah
wisnu@wisnu:~$ sudo apt-get update
proses akan memerlukan waktu yang agak lama, bagi yang koneksi
internetnya pas-pasan seperti saya,,, xixixixi maklum Cuma pake modem
smart,,, hehehe
setelah proses selesai, kemudian install freeradius dengan perintah
wisnu@wisnu:~$ sudo apt-get install freeradius freeradius-mysql
langkah selanjutnya adalah membuat database.
wisnu@wisnu:~$ sudo mysql -u root -p123
mysql> create database hotspot;
mysql>quit;
langkah selanjutnya import mysql,
wisnu:~# mysql -u root -p123 hotspot < /etc/freeradius/sql/mysql/schema.sql
wisnu:~# mysql -u root -p123 hotspot < /etc/freeradius/sql/mysql/nas.sql
asumsi : password 123 nama database “hotspot”
kemudian ubah privilegesnya,,,
wisnu@wisnu:~$ sudo mysql -u root -p123
mysql> GRANT ALL PRIVILEGES ON hotspot.* TO 'aji'@'localhost' IDENTIFIED BY 'aji';
mysql> flush privileges;
mysql> quit;
setting freeradius supaya bisa terkoneksi dengan database,
wisnu:~# nano /etc/freeradius/sql.conf
Bagian yang harus di setting adalah login (username untuk masuk
database), password (password untuk masuk database), radius_db (nama
database).
Langkah selanjutnya edit file clients.conf dengan perintah
wisnu:~# nano /etc/freeradius/clients.conf
cari bagian “client localhost” ganti dengan “client 127.0.0.1”,
kemudian cari bagian “secret=testing123”. Pada bagian secret silahkan
ganti sesuai dengan keinginan.
Langkah selanjutnya cek dulu apakah authorisasi user sudah berjalan
di radius server nya, untuk cek coba adduser baru, pada contoh kali ini
saya menggunakan user wisnu.
wisnu:~# radtest wisnu 123 127.0.0.1 0 testing123
Sending Access-Request of id 222 to 127.0.0.1 port 1812
User-Name = "wisnu"
User-Password = "123"
NAS-IP-Address = 192.168.1.1
NAS-Port = 0
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=222, length=20
apabila muncul pesan “Access-Accept packet” maka koneksi radius
server ke user berhasil. Dan server radius sudah berjalan dengan baik.
Langkah selanjutnya kita harus mengubah authorisasi dari user ke database. Edit file radiusd.conf
wisnu:~# nano /etc/freeradius/radiusd.conf
Hilangkan tanda “#” di bagian “$INCLUDE sql.conf”….
kemudian edit file default.
wisnu:~# nano /etc/freeradius/sites-available/default
Hilangkan tanda “#” di bagian yang di cetak tebal…
authorize {
Sql
}
Accounting {
Sql
}
Session {
Sql
}
Setelah selesai, keluar kemudian restart radius server
wisnu:~# /etc/init.d/freeradius restart
langkah selanjutnya adalah menambahkan user ke database.
wisnu:~# mysql -u root -p123
mysql> use hotspot;
mysql> insert into radcheck (UserName, Attribute, Value) VALUES ('wisnuaji','Password','12345');
Query OK, 1 row affected (0.00 sec)
mysql>quit;
restart radius server
wisnu:~# /etc/init.d/freeradius restart
setelah kita menambahkan user, kita cek apakah koneksi radius ke user database sudah berhasil.
wisnu:~# radtest wisnuaji 12345 127.0.0.1 0 testing123
Sending Access-Request of id 210 to 127.0.0.1 port 1812
User-Name = "wisnuaji"
User-Password = "12345"
NAS-IP-Address = 192.168.1.1
NAS-Port = 0
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=210, length=20
2. Installasi Coovachilli
Ok sekarang kita masuk ke tahap ke dua, yaitu installasi coovachilli
sebagai hotspot management. Kita juga bisa menggunakan chillispot,
pfsense atau yang lain. Maaf saya hanya tau 3 software itu untuk
management hotspot… xixixixixi mungkin boleh di lengkapi lagi,,,
ehehehehe.
Ok langsung saja kita menuju ke laptop, xixixi. Langkah yang pertama kita harus download dulu paket coovachilli.deb
Silahkan download di sini
wisnu@wisnu:~$ sudo wget http://ap.coova.org/chilli/coova-chilli_1.0.13-1_i386.deb
kemudian install paket coovachilli yang telah di download tadi.
wisnu@wisnu:~$ sudo dpkg –i coova-chilli_1.0.13-1_i386.deb
kemudian ikuti langkah di bawah ini dengan teliti,,, hehehwisnu:~# cp /etc/chilli/defaults /etc/chilli/config
wisnu:~# mkdir /var/www/hotspot
wisnu:~# cd /var/www/hotspot/
wisnu:/var/www/hotspot# cp /etc/chilli/www/* /var/www/hotspot/
wisnu:/var/www/hotspot# mkdir images
wisnu:/var/www/hotspot# cp /var/www/hotspot/coova.jpg /var/www/hotspot/images/
wisnu:/var/www/hotspot# mkdir uam
wisnu:/var/www/hotspot# cd uam/
wisnu:/var/www/hotspot/uam# vwget http://ap.coova.org/uam/
bash: vwget: command not found
wisnu:/var/www/hotspot/uam# wget http://ap.coova.org/uam/
wisnu:/var/www/hotspot/uam# wget http://ap.coova.org/js/chilli.js
langkah selanjutnya mengaktifkan service coovachilli.
wisnu:~# nano /etc/default/chilli
ubah menjadi seperti di bawah ini,,,,
START_CHILLI=1
CONFFILE="/etc/chilli.conf"
Kemudian edit file /etc/chilli/config seperti gambar di bawah ini,,,
# -*- /bin/sh -*-
#
# 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=192.168.1.1 # HotSpot Network (must include HS_UAMLISTEN)
HS_NETMASK=255.255.255.0 # HotSpot Network Netmask
HS_UAMLISTEN=192.168.1.1 # HotSpot IP Address (on subscriber network)
HS_UAMPORT=3990 # HotSpot Port (on subscriber network)
# HS_DYNIP=
# HS_DYNIP_MASK=255.255.255.0
# HS_STATIP=
# HS_STATIP_MASK=255.255.255.0
# HS_DNS_DOMAIN=
# HS_DNS1=
# HS_DNS2=
###
# HotSpot settings for simple Captive Portal
#
HS_NASID=nas01
HS_UAMSECRET=uamsecret
HS_RADIUS=127.0.0.1
HS_RADIUS2=127.0.0.1
HS_RADSECRET=testing123
HS_UAMALLOW=coova.org
# Put entire domains in the walled-garden with DNS inspection
# HS_UAMDOMAINS=".paypal.com,.paypalobjects.com"
# Optional initial redirect and RADIUS settings
# HS_SSID=<ssid> # To send to the captive portal
# HS_NASMAC=<mac address> # To explicitly set Called-Station-Id
# HS_NASIP=<ip address> # 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=192.168.1.1
# 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=https://\$HS_UAMSERVER/uam/uam
# 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://coova.org/wiki/index.php/CoovaChilli/UAMService
#
HS_UAMSERVICE=https://192.168.1.1/cgi-bin/hotspotlogin.cgi
|
Edit sesuai dengan gambar di atas… hehe
Kemudian download file login page di
http://www.ziddu.com/download/18969437/uam.tgz.html
Extract file uam.tgz… kemudian copy kan ke direktori /var/www/hotspot/uam
Wisnu:~# tar –xzvf uam.tgz
Wisnu:~# cp –r uam /var/www/hotspot/uam
3. Installasi SSL
Langkah selanjutnya adalah instalasi modul apache,,,
wisnu:~# mkdir /var/www/hotspot/cgi-bin
Lalu copy file hotspotlogin.cgi.gz di directori cgi-bin..
wisnu:~# cp /usr/share/doc/coova-chilli/hotspotlogin.cgi.gz /var/www/hotspot/cgi-bin/
setelah itu extract file hotspotlogin.cgi.gz,,,
wisnu:~# cd /var/www/hotspot/cgi-bin/
wisnu:/var/www/hotspot/cgi-bin# gunzip hotspotlogin.cgi.gz
kemudian edit file hotspotlogin.cgi ubah seperti gambar di bawah ini,,,
$uamsecret = "uamsecret";
$userpassword=1;
Kemudian ubah hak akses file hotspotlogin.cgi
wisnu:/var/www/hotspot/cgi-bin# chmod a+x hotspotlogin.cgi
Langkah selanjutnya adalah membuat ssl sertificate. Langkah pertama kita install dulu paket-paket di bawah ini..
wisnu:~# apt-get install openssl ssl-cert libapache2-mod-php5
langkah selanjutnya membuat di rektori ssl,,,
wisnu:~# mkdir /etc/apache2/ssl
langkah selanjutnya generate ssl
wisnu:~#
openssl req $@ -new -x509 -days 365 -nodes -out /etc/apache2/ssl/apache.pem -keyout /etc/apache2/ssl/apache.pem
Country Name (2 letter code) [AU]:
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:
Email Address []:
isi sesuai dengan permintaan di atas,,, hehe
langkah selanjutnya adalah mengubah hak akses file apache.pem
wisnu:~#
chmod 600 /etc/apache2/ssl/apache.pem
wisnu:~# a2enmod ssl
kemudian restart apache,,,
wisnu:~# /etc/init.d/apache2 restart
langkah selanjutnya adalah membuat virtualhost, masuk ke direktori /etc/apache2/sites-available
wisnu:~# cd /etc/apache2/sites-available/
wisnu:/etc/apache2/sites-available# cp default hotspot
edit file hotspot sesuai dengan gambar di bawah ini,,,
Setelah selesai keluar,,,
Langkah selanjutnya adalah enable file hotspot,,,
wisnu:/etc/apache2/sites-available# a2ensite hotspot
kemudian restart apache2,,,
wisnu:/etc/apache2/sites-available# /etc/ini.d/apache2 restart
kemudian di sisi client kita setting networknya dengan dhcp,,,,