Hotspot dengan Chillispot + Freeradius + Phpmyprepaid
Install linux ubuntu nya dulu
Setelah selesai installasi login ke ubuntu seperti biasa.
Biar bisa masuk ke root ketik “sudo su” (tanpa tanda kutip), kemudian masukin lagi passwordnya. Lihat perbedaannya. kalo user biasa ditandai dengan $ tapi kalo root ditandai dengan # .
buat dulu password root nya dengan perintah
#passwd root
(buat password root sesuai keinginan)
(masukin password yang dibuat tadi sekali lagi)
Edit konfigurasi untuk eth1 sebagai berikut
#nano /etc/network/interfaces
–isi tulisan ini bagian paling bawah dari interfaces—
# The secondary network interface
auto eth1
iface eth1 inet dhcp
– berakhir di atas tulisan ini—
– untuk eth0 di setting ip nya sesuai dengan koneksi internet/ jaringan yg terhubung sama internet
Simpan dan keluar dengan cara menekan ctrl+x ketik y kemudian tekan enter Alasan menggunakan dhcp karena nanti yang akan memberikan ip dari chillispot.
masukkin dns yang dikasih oleh isp, caranya:
#nano /etc/resolv.conf
— isi dengan perintah berikut dibawah –
nameserver 202.155.0.10
nameserver 202.155.0.15
– berakhir diatas dari tulisan ini –
simpan dengan menekan ctrl+x tekan y kemudian enter
contoh diatas adalah permisalan dns 1 dan dns 2 nya.
edit file sysctl.conf caranya:
#nano /etc/sysctl.conf
cari tulisan berikut:
# net.ipv4.conf.default.forwarding=1
hilangkan tanda pagar nya jadi:
net.ipv4.conf.default.forwarding=1
simpan dan keluar dengan perintah:
ctrl+x, ketik y dan tekan enter
Masukin perinta berikut di rc.local dengan cara:
#nano /etc/rc.local
hapus exit=0
– masukan tulisan berikut dibagian paling bawah rc.local —
echo “1″ > /proc/sys/net/ipv4/ip_forward
– berakhir diatas tulisan ini –
simpan dan keluar dengan perintah:
ctrl+x, ketik y dan tekan enter
Reboot / restart linux ubuntunya dengan perintah “reboot” (tanpa tanda kutip).
Install program – program yang dibutuhkan
#apt-get install unzip
#apt-get install fakeroot
#apt-get install ssh
#apt-get install build-essential
#apt-get install rrdtool
#apt-get install snmp
#apt-get install mysql-server
#apt-get install apache2 php5 php5-mysql
#apt-get install ssl-cert
#apt-get install freeradius freeradius-mysql
#wget http://www.chillispot.info/download/chillispot_1.0_i386.deb
#dpkg –i chillispot_1.0_i386.deb
Ket: Sewaktu menginstall mysql-server anda akan dimintai password untuk root mysql. Jika anda tidak dimintai untuk memasukkan password anda dapat membuatnya dengan perintah: #mysqladmin -u root password ’sangatrahasia’
buat file options di folder network dengan perintah
#nano /etc/network/options
– tulis sebagai berikut –
ip_forward = yes
– berakhir diatas tulisan ini –
simpan dan keluar dengan perintah: ctrl+x, ketik y dan tekan enter
restart network dengan perintah
#/etc/init.d/networking restart
Edit file apache2.conf sbb:
#nano /etc/apache2/apache2.conf
– dibagian paling bawah nya ditulis –
ServerName 192.168.10.10
– berakhir diatas tulisan ini –
Simpan make perintah: Ctrl+x ketik y dan tekan enter
ip address 192.168.10.10 hanya permisalan doang, ini tergantung dari eth0 ip anda
Restart apache2 nya:
#/etc/init.d/apache2 restart
Edit file php.ini sbb:
#nano /etc/php5/apache2/php.ini
Cari tulisan:
; extension=msql.so
Hilangkan tanda titik koma nya dan ganti msql.so menjadi mysql.so sbb:
extension=mysql.so
Cari juga tulisan berikut:
post_max_size = 8M
Ubah 8M menjadi 16 M:
post_max_size = 16M
Simpan dengan perintah:
Ctrl+x ketik y kemudian enter
ambil paket phpmyprepaid dan letakkan di folder /var/www dan ekstrak
#cd /var/www
#rm –rf apache2-default
#wget http://downloads.sourceforge.net/phpmyprepaid/phpmyprepaid04b3.tgz?modtime=1187550638&big_mirror=0
#tar –zxvf phpmyprepaid04b3.tgz
install program phpmyprepaid
Untuk menginstall phpmyprepaid, anda perlu menggunakan komputer desktop lain dalam satu jaringan yang terinstall mozilla firefox. Alasannya karena ada beberapa tampilan yang tidak bisa ditampilkan di web browser lain selain mozilla. Satu lagi, nyettingnya make ssh dong, biar gak repot.
Buka mozilla firefox dan arahkan addressnya ke :
http://192.168.10.10/phpmyprepaid/www/install/setup.php
aku inget lagi, ip address 192.168.10.10 hanya permisalan doang, ini tergantung dari settingan eth0 ip address anda.
Klik start.
Pilih I accept dan klik next lagi.
Perhatikan dan edit konfigurasi seperti berikut:
PhpMyPrepaid install directory : /var/www/phpmyprepaid
FreeRADIUS binary files directory : /usr/sbin
FreeRADIUS config files directory : /etc/freeradius
FreeRADIUS Dictionary directory : /usr/share/freeradius
FreeRADIUS start/stop/restart/status script : /etc/init.d/freeradius
RRDTOOL binary path : /usr/bin/rrdtool
Sudo binary path : /usr/bin/sudo
System log file path : /var/log/messages
FreeRADIUS radius.log file path : /var/log/freeradius/radius.log
Radclient command : /usr/bin/radclient
MySQL client command : /usr/bin/mysql
snmpwalk command : /usr/bin/snmpwalk
snmpget command : /usr/bin/snmpget
Klik next
Disini anda diminta untuk mem verifikasi konfigurasi.. jika ada yang belum periksa kembali apa yang kurang, dan klik recheck.. jika sudah…
Klik next lagi
Pada bagian ini anda akan diminta untuk mengkonfigurasi database, anda dapat mencontoh sebagai berikut:
Root password for Mysql : sangatrahasia
PhpMyPrepaid Database Name (phpmyprepaid) : phpmyprepaid
PhpMyPrepaid Database Password : sangatrahasia
Confirm Password : sangatrahasia
Database location (localhost) : localhost
FreeRADIUS location (localhost).
Not applicable by now : localhost
FreeRADIUS version.
Not applicable by now : 1.X
Klik next lagi
Pada bagian ini anda akan diminta untuk mengkonfigurasi user interface yaitu sebagai super administrator dalam memanajemen phpmyprepaid, anda dapat mencontoh sebagai berikut:
Administrator login for PhpMyPrepaid : yoga
Administrator password for PhpMyPrepaid : sangatrahasia
Confirm Password : sangatrahasia
Administrator name for PhpMyPrepaid : yoga
Administrator surname for PhpMyPrepaid : yoga
Administrator email for PhpMyPrepaid : yoga@yahoo.comThis e-mail address is being protected from spam bots, you need JavaScript enabled to view it
Administrator language for PhpMyPrepaid.
Only english is supported by now. : es
Klik next
Pada bagian ini merupakan informasi yang dilaporkan oleh phpmyprepaid dalam membuat database pada mysql
Klik next
Anda akan diminta untuk memasukkan lokasi daerah anda, contohnya sebagai berikut:
Location name : The Batavia Hotel
Location Domain : batavia-hotel.com
Location Country Code : Indonesia
Location Area code : –
Location City : Jakarta
Klik next
Installasi finish, silahkan klik interface
Pertama anda diminta untuk menghapus folder install dan mengubah hak akses folder www menjadi 755. (arti mengenai 755 cari aja di google yach, bukan disini tempatnya untuk ngejelasin itu).
#rm –rf /var/www/phpmyprepaid/www/install
#chmod 755 /var/www/phpmyprepaid/www
refresh mozilla firefox anda, anda akan melihat tampilan perbedaannya…
Setting chillispot
edit file chilli.conf
#nano /etc/chilli.conf
– contoh yang harus disetting –
net 192.168.100.0/24
dns1 202.93.32.146
dns2 202.93.32.147
radiusserver1 127.0.0.1
radiusserver2 127.0.0.1
radiussecret sangatrahasia
dhcpif eth1
uamserver https://192.168.100.1/cgi-bin/hotspotlogin.cgi
uamsecret sangatrahasia
uamlisten 192.168.100.1
– berakhir diatas tulisan ini –
Simpan pake perintah:
Ctrl+x tekan y kemudian enter
Ket:
- uamlisten 192.168.100.1 disini adalah ip address eth1 yang akan dimasukkan oleh chillispot
- net 192.168.100.0/24 adalah ip address dhcp yang diberikan oleh chillispot kepada user, mulai dari 192.168.100.2 – 192.168.100.254
Buat file hotspotlogin.cgi di folder cgi-bin:
#cp /usr/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
#nano hotspotlogin.cgi
– cari tulisan berikut –
# $uamsecret = “sangatrahasia”;
dan
# $userpassword=1;
——————————
Hilangkan tanda pagarnya menjadi:
$uamsecret = “sangatrahasia”;
dan
$userpassword=1;
Simpan make perintah:
Ctrl+x tekan y kemudian enter
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
edit file chilli.conf
Buat file hotspotlogin.cgi di folder cgi-bin:
Aktifkan firewall chillispot dan buat firewallnya agar diaktifkan setiap kali server restart:
Setting freeradius
Edit file clients.conf
#nano /etc/freeradius/clients.conf
– cari konfigurasi berikut dan modifikasi menjadi seperti ini –
client 127.0.0.1 {
secret = sangatrahasia
shortname = localhost
nastype = other
}
– berakhir diatas tulisan ini –
Simpan make perintah:
Ctrl+x tekan y kemudian enter
Setting file sql.conf
#nano /etc/freeradius/sql.conf
– cari konfigurasi berikut dan edit –
# Connect info
server = “localhost”
login = “phpmyprepaid”
password = “sangatrahasia”
# Database table configuration
radius_db = “phpmyprepaid”
edit file radiusd.conf
Setting file sql.conf
edit file radiusd.conf
#nano /etc/freeradius/radiusd.conf
– cari konfigurasi berikut –
“$INCLUDE ${confdir}/sql.conf”
tambahkan dibawahnya sehingga menjadi menjadi:
“$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 dan setting menjadi seperti ini dengan cara menghilangkan tanda pagarnya, selain itu berikan tanda pagar untuk yang lain –
accounting {
unix
radutmp
sql
}
– cari juga untuk instantiate, setting dengan menghilangkan tanda pagar, seperti berikut, dan dibawah expr tambahkan noresetcounter –
instantiate {
exec
expr
noresetcounter
}
– cari juga pada bagian authorize, setting dengan cara yang sama, dan dibagian bawah sql tambahkan tulisan noresetcounter –
authorize {
preprocess
chap
mschap
suffix
sql
noresetcounter
}
simpan dengan ctrl+x tekan y kemudian enter
Konfigurasi sertifikasi
#cd /etc/apache2
#mkdir ssl
#make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem
Contoh jawaban pertanyaan seputar SSL:
- Country Name: ID
- State Or Province Name: Riau
- Locality Name : Pekanbaru
- Organization Name : Hotspot Pekanbaru
- Organization Unit Name : Engineering hotspot pekanbaru
- Host Name : localhost – Email Address : yoga@yahoo.comThis e-mail address is being protected from spam bots, you need JavaScript enabled to view it
Aktifkan dengan cara:
#a2enmod ssl
#/etc/init.d/apache2 force-reload
Buat dan mengenable file ssl :
#cd /etc/apache2/sites-available/
#nano ssl
– copy konfigurasi berikut –
NameVirtualHost *:443
ServerAdmin webmaster@localhost
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/apache.pem
DocumentRoot /var/www/
Options FollowSymLinks
AllowOverride None
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
# This directive allows us to have apache2’s default start page
# in /apache2-default/, but still have / go to the right place
# Commented out for Ubuntu
#RedirectMatch ^/$ /apache2-default/
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
ServerSignature On
Alias /doc/ “/usr/share/doc/”
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
– berakhir diatas tulisan ini –
simpan dengan ctrl+x tekan y kemudian enter
Kemudian di enable dengan cara:
#a2ensite ssl
#/etc/init.d/apache2 reload
#/etc/init.d/apache2 restart
konfigurasi database mysql yang udah dibuat oleh phpmyprepaid tadi
#mysql –u root –p
(masukkan password mysql yang dibuat tadi)
>show databases;
>GRANT ALL PRIVILEGES ON phpmyprepaid.* to ‘phpmyprepaid’@'localhost’ IDENTIFIED BY ’sangatrahasia’;
>FLUSH PRIVILEGES;
Setiap user yang dibuat oleh registrasi phpmyprepaid menggunakan time, jika anda ingin membuat registrasi member tanpa time anda dapat membuat dengan cara:
>use phpmyprepaid;
>INSERT INTO radcheck (UserName, Attribute, Value) VALUES (’yoga’, ‘User-Password’, ’sangatrahasia’);
>quit;
Ket:
Member ini khusus untuk kita aja, masa tukang buat hotspotnya musti dibatasin koneksi internetnya oleh phpmyprepaid. Nggak lucu kan…
Restart semua system yang dikonfigurasi
#/etc/init.d/apache2 restart
#/etc/init.d/mysql restart
#/etc/init.d/chilli restart
#/etc/init.d/freeradius restart Atau biar lebih enakan, kalo aku sich biasanya reboot servernya dengan perintah
#reboot setelah itu colok kan kabel UTP ke eth1 masuk ke switch dan di test ke pc / laptop ato dr radio wireless di set ssid dan di colok ke eth1 , pc / laptop di set dynamic untuk tcp-ip nya
dah deh … bakalan dpt ip dr server hotspot dan setiap kali mo brows pasti akan di redirect ke login page chillispot
Buat sebuah tiket di phpmyprepaid dengan mozilla firefox
(contoh http://192.168.10.10/phpmyprepaid/www)
Coba browsing internet ke alamat apa saja dengan program browser kesayangan anda, jika sukses, maka browsing akan diredirect dan dimintai login dan password oleh chillispot, masukkan login dan password yang dibuat oleh phpmyprepaid tadi. Jika berhasil maka anda sudah bisa browsing internet
Ket:
Anda juga bisa menggunakan username dan password member yang anda buat di mysql yang diterangkan pada nomor 10. Username dan password yang dibuat disana bersifat permanen dan tanpa limit waktu.
- by : t3ll0
No comments:
Post a Comment