Cara Instalasi Server Hotspot pada Linux Ubuntu
Selasa, 07 Desember 2010
, Posted by beye at 21.59
Berikut ini adalah step by step instalasi server hotspot pada Ubuntu menggunakan Chillispot dan Freeradius. Langkah pertama yang terlebih dahulu dilakukan adalah menginstall linux ubuntu sesuai dengan kebutuhan dan memastikan ubuntu tersebut bekerja dengan baik.
- Konfigurasi IP Address di masing-masing Ethernet Card pada Server.
Misalnya pada server terdapat 3 Ethernet Card yaitu :
eth0 : untuk IP Address Public,
eth1 : untuk IP address lokal atau intranet, dan
eth2 : tunnel interface yang digunakan oleh Chillispot.
File Konfigurasi IP Address pada ubuntu terletak pada /etc/network/interfaces, berikut contoh konfigurasinya :
auto eth0iface eth0 inet staticaddress 77.67.76.10netmask 255.255.255.240gateway 77.67.76.1
auto eth1iface eth1 inet staticaddress 192.168.12.25netmask 255.255.255.224
- Setting IP DNS yang diberikan oleh pihak ISP maupun IP DNS Lokal/intranet.
File konfigurasi terletak pada /etc/resolv.conf, berikut contoh konfigurasinya :
domain example.ac.idnamserver 202.155.0.10ataudomain example.ac.idnameserver 192.168.12.10
- Mengaktifkan IP Forwading, sehingga Server berfungsi sebagai gateway dan mampu meneruskan paket data.
File konfigurasi terletak pada /etc/sysctl.conf, hilangkan tanda ‘ # ’ pada baris net.ipv4.conf.default.forwarding=1.
Awalnya seperti ini :#net.ipv4.conf.default.forwarding=1Menjadi :net.ipv4.conf.default.forwarding=1
- Reboot & Pastikan semua konfigurasi berjalan dengan baik, jalankan PING dan NSLOOKUP untuk mengetahui apakah server sudah terhubung ke jaringan intranet maupun internet.
Langkah selanjutya adalah instalasi paket-paket yang dibutuhkan pada server Hotspot, diantaranya :
> Apache Web Server
> Mysql Database Server
> PHP
> SSL Certificate
> Freeradius, dan
> Chillispot
Untuk melakukan instalasi paket-paket yang dibutuhkan pada server, cukup dengan menggunakan sintaks apt-get install, berikut sintaks lengkapnya :
apt-get install apache2 php5 mysql-server libapache2-php5 php5-mysql ssl-cert freeradius freeradius-mysql chillispot
Pada saat instalasi paket, khususnya pada proses instalasi mysql server, Anda akan diminta untuk memasukkan password root mysql yang dikehendaki. Jika anda tidak dimintai untuk memasukkan password atau Anda mengabaikannya, Anda dapat membuatnya dengan perintah:
mysqladmin -u root password ’rahasiabanget’
Begitu juga dengan proses instalasi paket-paket yang lain, jika diminta untuk memasukkan konfigurasi tertentu Anda dapat mengabaikannya. Konfigurasi dapat dilakukan setelah proses instalasi.
- Konfigurasi Apache Web Server
File konfigurasi terletak pada /etc/apache2/apache2.conf, berikut contoh konfigurasi sederhana pada file apache2.conf :
Masukkan baris seperti dibawah ini,ServerName hotspot.example.ac.idatauServerName 192.168.12.25
Restart apache untuk me-reload konfigurasi:
/etc/init.d/apache2 restart
- Konfigurasi SSL pada Web Server
SSL digunakan oleh chillispot untuk menampilkan halaman otentikasi, Berikut dipaparkan langkah-langkah untuk mengaktifkan modul SSL pada Web Server :
# cd /etc/apache2/site-available/
copy file default-ssl menjadi ssl file pada direktory diatas# cd /etc/apache2
buat direktory baru dengan nama ssl# cd /etc/apache2/ssl
buat certificate apache.pem# make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem# vi /etc/apache2/site-available/sslcari tulisan berikut:SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pemdan ganti denganSSLCertificateFile /etc/apache2/ssl/apache.pem
Mengaktifkan module ssl# a2enmod ssl
Mengaktifkan site ssl dengan nama file ssl# a2ensite ssl
Restart /reload apache, cek dengan perintah https://example.ac.id
- Konfigurasi Chillispot
File Konfigurasi terletak pada /etc/chilli.conf, berikut contoh konfigurasinya :
#—/etc/chilli.conf—net 172.16.20.0/24dns1 192.168.12.10dns2 192.168.12.10radiusserver1 127.0.0.1radiusserver2 127.0.0.1radiussecret rahasiabangetdhcpif eth2uamserver https://172.16.20.1/cgi-bin/hotspotlogin.cgiuamsecret rahasiabangetjugauamlisten 172.16.20.1
Keterangan:
> net, mendefinisikan network yang akan digunakan oleh chillispot sebagai penyedia IP Address untuk pengguna hotspot.
> radiussecret, digunakan oleh chillispot untuk berkomunikasi dengan server radius yang didefinisikan pada radiusserver1 maupun radiusserver2.
> dhcpif, interface yang digunakan sebagai tunnel interface oleh chillispot.
> uamserver, mengarah kepada hotspotlogin.cgi sebagai otentikasi user ketika menggunakan layanan hotspot URL menggunakan https untuk enkripsi data.
> uamsecret, digunakan oleh chillispot untuk berkomunikasi dengan uamserver.
> uamlisten, IP address pada tunnel Interface yang didefinisikan pada dhcpif.
- Konfigurasi hotspotlogin.cgi
File awal terletak pada direktori /usr/share/doc/chillispot/. Jika file masih terbungkus dalam bentuk file archieve seperti hotspotlogin.cgi.gz maka ekstrak terlebih dahulu, baru kemudian di-copy menuju direktori /usr/lib/cgi-bin/.
# cd /usr/share/doc/chillispot# lshotspotlogin.cgi.gz# gunzip hotspotlogin.cgi.gz# lshotspotlogin.cgi.gz hotspotlogin.cgi# cp hotspotlogin.cgi /usr/lib/cgi-bin/# cd /usr/lib/cgi-bin/# chmod 755 hotspotlogin.cgi
Edit file hotspotlogin.cgi dan cari baris $uamsecret dan $userpassword, jika ada tanda ‘ # ’ pada baris tersebut maka hapuslah.
$userpassword = 1;$uamsecret = “rahasiabangetjuga”; (disesuaikan dengan chilli.conf)
Beberapa file yang harus dikonfigurasi pada paket Freeradius diantaranya :
> /etc/freeradius/clients.conf
> /etc/freeradius/radiusd.conf
> /etc/freeradius/sql.conf
> /etc/freeradius/sites-enabled/default
- Konfigurasi clients.conf
Konfigurasi pada clients.conf pada initinya adalah mendefinisikan server chillispot yang terhubung dengan freeradius, pada tulisan ini server chillispot maupun freeradius tergabung dalam satu server. Berikut adalah contoh konfigurasinya :
#—clients.conf—client localhost {ipaddr = 127.0.0.1secret = rahasiabanget (disesuaikan dengan chilli.conf)nastype = other}Misal server chillispot terpisah dengan Freeradius:#—clients.conf—client 192.168.12.22/32 {secret = rahasiabanget (disesuaikan dengan konfigurasi pada 192.168.12.22)shortname = ddwrt}
- Konfigurasi radiusd.conf
File radiusd.conf merupakan file konfigurasi utama yang menggabungkan file-file konfigurasi terpisah seperti clients.conf, sql.conf, dan modul-modul yang dibutuhkan oleh server freeradius.
- Konfigurasi sql.conf
Agar freeradius dapat terhubung dengan mysql, maka perlu mendefinisikan server mysql yang digunakan beserta user dan password yang mempunyai privillage pada database freeradius. Hanya ada beberapa baris konfigurasi yang disesuaikan, diantaranya :
#—sql.conf—server = “localhost”;login = “root”; (disarankan untuk tidak menggunakan user root)password = “rahasia”;radius_db = “nama_database”;
- Konfigurasi sites-enabled/default
Untuk mengaktifkan modul-modul pada freeradius dan dalam pembahasan ini adalah modul mysql, file konfigurasi terletak pada /etc/freeradius/sites-enabled/default. Hilangkan tanda ‘ # ’ pada setiap baris yang mengandung kata ‘ sql ’ .
authorize {……sqlnoresetcounter (sesuaikan dengan /etc/freeradius/sql/mysql/counter.conf)…}
accounting {……sqlsql_log……}
session {…sql…}
post-auth {……sqlsql_log…}
- Menambahkan database radius pada mysql
Dalam paket instalasinya freeradius telah menyediakan struktur database standard dari freeradius itu sendiri yaitu pada file /etc/freeradius/sql/mysql/schema.sql. Jika Anda ingin menggunakan Struktur database yang disediakan dari Freeradius berikut langkah-langkahnya :
# cd /etc/freeradius/sql/mysql/# mysql –u user –p nama_database < schema.sql
Jika Anda menggunakan database dari PhpMyPrepaid (Web Portal), importing database standar freeradius diatas tidak digunakan.
- Instalasi PhpMyPrepaid
Paket phpmyprepaid yang digunakan pada tutorial ini adalah phpmyprepaid0.3.3.tgz, paket tersebut dapat langsung didownload dari http://sourceforge.net/projects/phpmyprepaid/files/.
Kita asumsikan file phpmyprepaid0.3.3.tgz telah didownload dan berada pada direktori web server yaitu /var/www.
# cd /var/www# lsindex.html phpmyprepaid0.3.3.tgz
Ektrak file phpmyprepaid0.3.3.tgz# tar –xzvf phpmyprepaid0.3.3.tgz# lsindex.html phpmyprepaid0.3.3.tgz phpmyprepaid0.3.3# mv phpmyprepaid0.3.3 prepaid
Sebelum melanjutkan instalasi phpmyprepaid, terlebih dahulu membuat database yang akan digunakan phpmyprepaid pada Mysql. Misalnya : test.
# mysql -u root -pEnter password:Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 85Server version: 5.1.41-3ubuntu12.6 (Ubuntu)
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.
mysql> create database test;Query OK, 1 row affected (0.00 sec)
mysql> exitBye
Kembali ke instalasi phpmyprepaid, buka browser dan ketikkan
http://example.ac.id/prepaid
Pada General Configuration for Mysql,
Server : localhost
User name : root (tidak disarankan menggunakan root)
Password : ********
Database name : test (contoh database yang dgunakan oleh prepaid)
Klik tombol Save Configuration, dan akan muncul halaman seperti dibawah ini.
Phpmyprepaid akan membuat table sendiri, dan kita akan diminta untuk memasukkan user dan password untuk login sebagai admin pada phpmyprepaid.
Login dengan menggunakan Username dan Password yang telah anda inputkan pada proses sebelumnya.
Currently have 0 komentar: