Hotspot dengan Chillispot + Freeradius + Phpmyprepaid

Install linux ubuntu nya dulu

  1. Setelah selesai installasi login ke ubuntu seperti biasa.
  2. 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 # .
  3. buat dulu password root nya dengan perintah
    • #passwd root
    • (buat password root sesuai keinginan)
    • (masukin password yang dibuat tadi sekali lagi)
  4. 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.
  5. 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.
  6. 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
  7. 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
  8. Reboot / restart linux ubuntunya dengan perintah “reboot” (tanpa tanda kutip).
  1. 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’
  2. 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
  3. 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
  4. 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
  5. ambil paket phpmyprepaid dan letakkan di folder /var/www dan ekstrak
  6. 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…
  7. 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:
  8. 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
  9. 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
    • <virtualhost *:443>
    • ServerAdmin webmaster@localhost
    • SSLEngine On
    • SSLCertificateFile /etc/apache2/ssl/apache.pem
    • DocumentRoot /var/www/
    • <directory />
    • Options FollowSymLinks
    • AllowOverride None
    • </directory>
    • <directory /var/www/>
    • 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/
    • </directory>
    • ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    • <directory “/usr/lib/cgi-bin”>
    • AllowOverride None
    • Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
    • Order allow,deny
    • Allow from all
    • </directory>
    • 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/”
    • <directory “/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
    • </directory>
    • </virtualhost>
    • — 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
  10. 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…
  11. 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.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s