Thursday, April 5, 2012

Instalasi WebHTB Sebagai Manajemen Bandwidth di Ubuntu Server 10.10

WebHTB (Web Hierarchy Token Bucket) adalah sebuah aplikasi berbasis web bersifat open source yang digunakan untuk melakukan manajemen bandwidth guna mendukung QoS (Quality of Service) yang baik. Aplikasi ini dapat memberikan batasan bandwidth pada masing-masing klien. Penggunaan WebHTB berdasarkan rules pada kartu jaringan server, jadi semua lalu lintas data yang melewati kartu jaringan akan segera disaring oleh aplikasi WebHTB.
Topologi yang saya gunakan dalam tutorial ini adalah sebagai berikut: Internet –> Modem –> Router (Ubuntu Server + WebHTB) –> Switch –> Klien. Jika digambarkan akan terlihat seperti ini:
Jadi, bisa dilihat dengan jelas pada gambar topologi diatas, bahwa semua paket dari client yang ingin dilewatkan menuju internet harus melewati PC yang sudah diinstalkan Ubuntu Server 10.10, dimana PC tersebut bertindak sebagai gateway dari client, sebagai router, dan juga sebagai tempat diinstalkannya aplikasi manajemen bandwidth WebHTB, jadi semua paket yang lewat akan tersaring di PC tersebut.
Sebuah aplikasi ada yang membutuhkan dependensi dan ada yang tidak, begitu juga dengan WebHTB. Aplikasi ini membutuhkan dependensi yang akan mendukung kinerjanya dalam membatasi bandwidth client dalam mengakses jaringan yang berada diluar jaringan lokal. Berikut ini adalah paket-paket dependensi yang digunakan untuk mendukung WebHTB:
  1. Apache2, berfungsi sebagai webserver.
  2. Mysql, berfungsi sebagai penyimpan data klien HTB.
  3. PHP, berfungsi sebagai penghubung antara HTB dengan MySQL.
  4. Openssl, berfungsi sebagai keamanan pada Apache2.
  5. SSL-Cert, berfungsi untuk membuat kunci SSL pada Apache2.
Semua dependensi diatas akan dibutuhkan oleh WebHTB dalam menjalankan tugasnya. Jika satu saja tidak terpasang, maka WebHTB tidak akan berjalan dengan sempurna dan dapat dikatakan gagal.
.
Instalasi WebHTB
Instalasi WebHTB bisa dikatakan susah-susah gampang, mungkin bagi sudah familiar dengan sistem di Linux akan terasa mudah, namun bagi yang belum familiar dengan sistem di Linux akan terasa sulit dan kadang sering terjadi kesalahan dan kegagalan.
Berikut ini saya paparkan bagaimana melakukan instalasi WebHTB pada Ubuntu Server 10.10.:
  • Langkah awal yang saya lakukan adalah memperbaharui index dari Ubuntu Server 10.10, agar Ubuntu Server 10.10 yang saya gunakan bisa membaca semua repository Ubuntu pusat. Untuk melakuakannya, pastikan bahwa Ubuntu Server sudah terkoneksi ke internet dan pengguna sudah masuk kedalam mode root, kemudian ketikkan perintah berikut ini # apt-get update. Maka sesaat kemudian Ubuntu akan melakukan indexing ke repository pusat Ubuntu.
  • Setelah selesai, seperti yang sudah saya jelaskan sebelumnya, bahwa aplikasi WebHTB membutuhkan dependensi dalam menunjang kinerja kerjanya, maka langkah selanjutnya yang saya lakukan adalah melakukan instalasi dependensinya. Ketikkan perintah berikut: # apt-get install apache2 mysql-server-5.0 php5 libphp-adodb php5-cli php5-gd php5-snmp php5-mysql php5-xmlrpc kemudian tekan tombol Enter, setelah itu pengguna akan ditanya apakah ingin melanjutkan, tekan saja tombol “Y” kemudian tombol Enter. Proses ini cukup memakan waktu yang lama, dikarenakan cukup banyaknya dependensi yang diinstal. Tunggu proses ini hingga selesai
  • Tahap berikutnya saya mengunduh aplikasi WebHTB dengan mengetikkan perintah: # wget http://nchc.dl.sourceforge.net/project/webhtb/WebHTB%20V2.xx/WebHTB_V2.9/WebHTB_V2.9.bz2. Ukuran aplikasi ini bisa dikatakan kecil, yaitu 214,55 KB.
  • Setelah selesai diunduh dengan waktu yang relatif singkat, maka akan terdapat sebuah berkas yang bernama WebHTB_V2.9.bz2. Lakukan ekstrak pada berkas tersebut, karena berkas WebHTB yang diunduh tersebut masih dalam bentuk terkompres. Untuk melakukan ekstrak, ketik perintah # tar –xvf WebHTB_V2.9.bz2. Ekstraksi tersebut akan menghasilkan sebuah folder yang bernama webhtb. Cut file webhtb ini ke direktori /var/www dengan perintah # mv webhtb/ /var/www.
  • Langkah berikutnya adalah melakukan instalasi paket OpenSSL dan SSL-Cert untuk membuat kunci keamanan Apache, dimana pengguna akan mengakses WebHTB melalui web browser dari https bukan http yang tentunya akan lebih aman. Untuk melakukannya ketikkan perintah # apt-get install openssl ssl-cert. Jika ditanyakan “Do you want to continue?” jawab ya dengan megetikkan “Y” dan diikuti dengan menekan tombol Enter.
  • Proses berikutnya adalah membuat berkas SSL. Namun sebelumnya pengguna harus membuat terlebih dahulu direktori tempat berkas SSL akan ditempatkan. Pada tutorial ini saya membuatnya di /etc/apache2/ dengan nama ssl, jadi yang harus diketikkan adalah # mkdir /etc/apache2/ssl.
  • Setelah itu barulah dilanjutkan dengan membuat berkas SSL-nya dengan mengetikkan perintah # make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem.
  • Setelah mengetikkan perintah tersebut dan menekan Enter, akan langsung muncul tampilan berwarna biru yang meminta pengguna untuk memasukkan nama host (hostname). Karena disini saya menggunakan localhost, jadi saya memasukkan localhost.
  • Setelah itu, aktifkan modul SSL agar sertifikat SSL dikenali oleh Apache2 dengan mengetikkan perintah # a2enmod ssl.
  • Setelah itu lakukan restart terhadap Apache2 dengan perintah /etc/init.d/apache2 force-reload.
  • Selanjutnya adalah menempatkan sertifikat SSL yang sebelumnya sudah dibuat di virtualhost Apache2. Untuk melakukannya jalankan perintah berikut ini: # cp /etc/apache2/site-availabe/default /etc/apache2/site-available/ssl.
  • Langkah berikutnya adalah melakukan pengubahan pada berkas SSL yang berada di /etc/apache2/site-available/ssl. Untuk bisa mengubah berkas tersebut ketikkan perintah berikut: # nano /etc/apache2/site-available/ssl.
  • Pada baris paling atas tambahkan NameVirtualHost *:443 dan untuk satu baris dibawahnya, ubah <VirtualHost *:80> menjadi <VirtualHost *:443>. Lalu tambahkan skrip berikut ini pada baris paling bawah sebelum baris </VirtualHost>:
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/apache.pem
SSLCertificateKeyFile /etc/apache2/ssl/9f129ada
  • Nilai 9f129ada didapatkan dari direktori /etc/apache/ssl, bisa dilihat dengan mengetikkan # ls /etc/apache/ssl. Biasanya nilai ini tidak sama pada satu komputer dengan yang lainnya. Silahkan cek sendiri.
  •  Lakukan juga pengubahan pada berkas /etc/apache2/site-available/default dengan mengetikkan perintah # nano /etc/apache2/site-available/default.
  • Pada baris paling bawah sebelum </VirtualHost> tambahkan skrip berikut : SSLCertificateFile /etc/apache2/ssl/apache.pem
  • Selanjutnya lakukan restart pada Apache2 dengan perintah # /etc/init.d/apache2 force-reload. Kemudian lanjutkan dengan mengaktifkan modul HTTPS untuk mengakses WebHTB dari browser dengan perintah # a2ensite ssl. Kemudian restart kembali Apache dengan perintah # /etc/init.d/apache2 restart.
  • Tahap berikutnya adalah melakukan setup WebHTB. Pada tahap ini dibutuhkan 1 buah PC yang akan digunakan untuk melakukan setup WebHTB melalui web browser. Saya membutuhkan komputer lain yang memiliki web browser karena Ubuntu Server yang saya gunakan memiliki antar muka CLI yang tidak menyediakan web browser. Untuk tahap ini, saya menggunakan PC yang memiliki sistem operasi Windows XP SP2 yang nantinya komputer ini akan menjadi komputer administrator untuk melakukan konfigurasi, monitoring jaringan, dan lain-lain. Komputer administrator ini terlebih dahulu harus diatur alamat IP-nya, caranya adalah klik Start –> Control Panel –> Network Connections –> Local Area Connection –> Properties –> Internet Protocol (TCP/IP) –> Use the following IP address. Berikan parameter sebagai berikut:
IP address : 10.10.1.100
Subnet mask : 255.255.255.0
Default gateway : 10.10.1.254
Preferred DNS server : 192.168.6.254

Altenative DNS server : 8.8.8.8
  • Masih dalam komputer administrator (bukan Ubuntu Server 10.10), buka web browser dan akses alamat https://10.10.1.254/webhtb/setup. Maka akan muncul halaman setup dari WebHTB. Isi dengan parameter sebagai berikut:
MySQL admin user :root
MySQL admin password : adamkurniawan
MySQL WebHTB user : <kosong saja>
MySQL WebHTB password : <kosong saja>
MySQL WebHTB password again : <kosong saja>
MySQL WebHTB database name : webhtb
Default interface : eth1
Penjelasan dari parameter diatas adalah sebagai berikut:
  1. MySQL admin user: Berisi username dari admin MySQL .
  2. MySQL admin password: Password yang digunakan untuk masuk ke MySQL yang sebelumnya sudah diset pada saat awal instalasi.
  3. MySQL WebHTB database name: Nama database yang akan digunakan untuk menyimpan data-data dari WebHTB.
  4. Default interface: Kartu jaringan yang terhubung langsung ke jaringan lokal.
  • Setelah semua data yang diperlukan selesai diisi, klik tombol Submit. Maka akan muncul jendela kecil yang mengatakan bahwa pengguna (dalam hal ini administrator) harus menghapus berkas setup yang berada di direktori /var/www/webhtb/setup pada Ubuntu Server, klik saja Ok.
  • Beralih ke Ubuntu Server 10.10, jalankan perintah untuk menghapus folder setup WebHTB, yaitu # rm –rf /var/www/webhtb/setup.
  • Langkah terakhir dalam instalasi WebHTB adalah mengganti password root sistem dari Ubuntu Server. Jika tidak diganti, maka administrator tidak akan bisa login ke dalam WebHTB. Untuk mengganti password sistem Ubuntu Server ketikkan perintah # passwd root, kemudian ketikkan password baru yang diinginkan sebanyak dua kali. Misalnya saya menggantinya dengan adam2011.
  • Beralih ke komputer yang bersistem operasi Windows XP SP2 yang dijadikan sebagai komputer administrator. Buka web browser dan akses alamat https://10.10.1.254/webhtb. Akan muncul halaman “This Connection is Untrusted”, klik I Understand the Risks, kemudian klik tombol Add Exception.., lalu klik Confirm Security Execption. Maka pengguna akan disodorkan halaman login dari WebHTB, masukkanlah password sistem yang baru saja diganti yaitu adam2011. Maka halaman WebHTB yang digunakan untuk memanajemen bandwidth pun terbuka. Sampai disini Instalasi WebHTB sudah selesai.
Untuk cara penggunaannya akan dilanjutkan pada tutorial selanjutnya, atau jika Anda sudah penasaran, silahkan dicoba sendiri. Selamat belajar…

0 comments :

Post a Comment

--=SILAHKAN BERKOMENTAR=--

Berikan Saran Dan Pendapat Sobat, Syukur - Syukur sobat mau menjadi FOLLOWERS blog ini, HEHEHEHEEE...
Saya Mohon Maaf Bila Dalam Penulisan Artikel Diatas Ada Kalimat atau Kata Yang Salah.. (<> , <>)

JANGAN BERKOMENTAR SPAM .!!!!

TERIMAH KASIH