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.
Ini adalah tulisan lanjutan dari Instalasi Ubuuntu Server 10.10, Konfigurasi IP Address Ubuntu Server 10.10, dan Penggunaan Squid Sebagai Proxy Server Di Ubuntu Server 10.10.
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:
- Apache2, berfungsi sebagai webserver.
- Mysql, berfungsi sebagai penyimpan data klien HTB.
- PHP, berfungsi sebagai penghubung antara HTB dengan MySQL.
- Openssl, berfungsi sebagai keamanan pada Apache2.
- 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:
- MySQL admin user: Berisi username dari admin MySQL .
- MySQL admin password: Password yang digunakan untuk masuk ke MySQL yang sebelumnya sudah diset pada saat awal instalasi.
- MySQL WebHTB database name: Nama database yang akan digunakan untuk menyimpan data-data dari WebHTB.
- 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…
Mau copy paste? Baca ini dulu ya…
http://kurniawanadam.wordpress.com/copyright/








mantap gan….dituggu kelanjutannya
okeoke…
aku melu…
hehehe…
mantap gan …
Makasi mas
mas kalo saya ga pake apache,tapi pake nginx bisa ga?
thanks ya mas
Bisa saja mas, tapi saya kurang tahu caranya
Terima kasih Mas Adam.
Semua informasinya sangat membantu.
Semoga ilmunya berkah.
Oke sama-sama…
Amin ya Rabbal Alamin…
Makasi ya mas adam atas bantuannya selama ini..
Blog ini sangat bermutu dan bermanfaat..
semoga ilmunya bisa bertambah dengan seiringnya waktu..
amien..
semoga makin sukses gan..
Wis, jangan gitu ah sob…
Ane juga masih belajar kok, sama-sama belajarnya kita
Amin sob, semoga skripsinya juga sukses ya
Amien. Amien..
makasih doa nya sob..
okeoke, sama-sama sob…
Oke Sob bagus….. Tapi Tlong Doonk buatkan artikel mengenai Setting & Konfigurasi Samba Swat……lagi belajar Samba soalllnya…oh ya…..bila perlu tambahkan konfigurasi Mikrotik pada Linux Ubuntu Server 10.10
Yobb……
Andhika Nugraha ( IT Networking )
Wah, Samba Swat saya juga belum belajat itu sob, mungkin kedepan akan ada…
Makasi atas sarannya ya sob…
Mas adam kalo misalnya kejadiannya seperti ini menangani nya bagaimana?
eth0 = dari modem
eth1 = untuk sharing ke client
yang jadi pertanyaan saya.
untuk interface LAN yang ada di webhtb itu, yang dipake eth0 apa eth1?
makasih mas,
Yang digunakan eth1 donk sob, kan itu yang mengarah ke jaringan lokalnya
Hallo…….
Waduhh Sbnernya Artikelnya Perintahnya Lengkap Gak Sichhh……????
Kok Saya Coba – Coba dari Sini Gak Bisa Ya…..
Mengenai
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.
SAMA…
Ekstraksi tersebut akan menghasilkan sebuah folder yang bernama webhtb. Cut file webhtb ini ke direktori /var/www dengan perintah # mv webhtb/ /var/www
Tolong Ya….Berikan Perintahnya Yang Sempurna….
kayanya ada yg KURANG Printahnya…
Thank’s….
InsyaAllah lengkap kok mas…
Mungkin mas yang salah mengetikkannya…
Coba mas masuk dulu ke dalam mode root mas…
Untuk membuat direktori atau folder, perintahnya “mkdir letak_folder/nama_folder” tanpa tanda petik..
Untuk meng-cut file dengan perintah “mv /letak_file[spasi]/direktori_tujuan” tanpa tanda petik..
mas adam, kok pas dilangkah terakhir yang login ke webhtbnya tidak bisa masuk ya?
Jangan lupa ubah password rootnya mas…
sama saya juga gk bisa mas.. udah rubah pasw root berulang kali tetap saja gk bisa.
pastikan ip client sudah bisa ping ke ip webhtb.
kemana nehhh…yang Punya Blog…gmna Nasibnya WebHTB …..Perintah Artikelnya kurang lengkap…boy….lebih baik ANDA Coba dulu…
Saya sudah coba mas makanya saya tuliskan disini…
Mungkin mas yang belum memahami perintah dasarnya..
Saya rasa saya sudah menuliskannya dengan baik.
Oh ya….Trima kasih Banyak Ya…..
Disaya jalan kok, coba lakukan dengan teliti, dan liat2 referensi lainnya. Kalau ada salah itu wajar namanya kan sama2 belajar, apalagi ini gratis lagi.
mas , mau tanya sudah semua aku ikutin cara y diatas, pas mau browsing, https://10.1.1.1 yg muncul malah it works!
apa yg kurang mas
tolong pencerahannya
kenapa mas mau browsing https://192.168.x.x yg muncul it work!
itu kenapa apa ada yg kurang , tolong pencerahannya
mas mau browsing https://192.168.10.x yg muncul it work!
itu kenapa, apa ada yg kurang ,
tolong pencerahannya
mas saya dah coba tapi apakah da masalah dengan ini
waktu saya restart pada saat terakir ini muncul nya yang ini :
Restarting web server apache2
[Fri Sep 23 22:10:19 2011] [warn] NameVirtualHost *:443 has no VirtualHosts
[Fri Sep 23 22:10:19 2011] [warn] NameVirtualHost *:443 has no VirtualHosts
[Fri Sep 23 22:10:19 2011] [warn] NameVirtualHost *:443 has no VirtualHosts
[Fri Sep 23 22:10:19 2011] [warn] NameVirtualHost *:80 has no VirtualHosts
… waiting [Fri Sep 23 22:10:20 2011] [warn] NameVirtualHost *:443 has no VirtualHosts
[Fri Sep 23 22:10:20 2011] [warn] NameVirtualHost *:443 has no VirtualHosts
[Fri Sep 23 22:10:20 2011] [warn] NameVirtualHost *:443 has no VirtualHosts
[Fri Sep 23 22:10:20 2011] [warn] NameVirtualHost *:80 has no VirtualHosts
[ OK ]
mas tlg kasih tau apa maksud nya itu NameVirtualHost nya has not VirtualHost >>??
Makasih buat tutorialnya mas,,
saya udah berhasil instal web htb, namu belum bisa masuk/login ke manajemen bandwidth nya.
jadi waktu dimasukkan password root, hanya berputar2 aja tuh indikatornya. tapi gak berhasil masuk. kira2 dimana ya salahnya?
as info, saya tadinya edit passwd root berada di root@bambang:-#
terus saya menuju ke browser dan udah muncul menu login, sewaktu dimasukkan passwd yang udah diganti gak bisa login juga.
lantas saya edit lagi passwd root dengan masuk ke /var/www sesuai yang digambar diatas.
update passwd berhasil, namun masih gak bisa login juga.
mohon kiranya bantuannya…
Thanks before.
saya sudah coba dan berhasil pada ubuntu 10.10, hanya ada perubahan pada kalimat /etc/apache2/site-available/default tidak ada folder nya, yg benar /etc/apache2/sites-available/default
lainnya lancar jaya.
Mas Adam terima kasih ya tutornya. sangat bagus dan simple, sya baru satu bulan terjun di linux…..maaf ya mas adam kenapa linux kog koneksinya lemot di banding lewat windows……adakah trik2 khusus di linux..umumnya dan ubuntu khususnya…saya jadi gak begitu semgat jadinya, seperti semula..
mantab mas adam …. semoga ilmu yang sudah di bagi bermanfaat bagi kami2 yang ingin belajar ubuntu server, terutama saya ….. hehehe Thanks
salam dari saya
Makasi juga mas atas kunjungannya
mas adam klu jaringan saya kayak gini
eth0 = dari modem
eth1 = untuk sharing ke client1
eth2 = untuk sharing ke client2
gimana setingannya untuk eth1 dan eth2 ?
maaf mas masih newbi yg mau belajar ubuntu server
oiya ubuntu server apa bisa dibuat login hotspot kayak di mikrotik ?
Mas sy pakai videocache 1.9.2 + lusca, kenapa hit videonya ke limit ya?
tapi cuma hit youtubnya aja, makasih
tanks,, yaw,, informsinya,,
mas adam terimakasih untuk panduannya… saya sudah berhasil melakukan semua seting, hanya saja sya terkendala pada waktu akan login ke htb nya.. kenapa passwd yang sudah diganti pada root tidak bisa digunakan.. tapilan lodingnya selalu berputar2….
Mantap Mas Adam Tutorialnya Full Alias Komplit, Ikutan belajar ya Mas Adam.
Sukses selalu.
Arman TSM
Oh iya Maaf Mas Adam, ada yg lupa soalnya terkesima tutorial Mas Adam jadi mau nanya jadi lupa, begini Mas bagaimana cara melihat hasil cache di proxy ubuntu server dengan squid dan squid saya hasilnya spti di bawah ini:
fthewasteland.com//assets/structure/rubble/rubble-flatroad-b.swf?v=81 – DIRECT/1
25.160.18.90 application/x-shockwave-flash
1329547774.772 3063 192.168.0.101 TCP_MISS/200 12896 GET http://e.cdn.empireso
fthewasteland.com//assets/structure/rubble/rubble-flatroad-b.swf?v=81 – DIRECT/1
25.160.18.90 application/x-shockwave-flash
1329547775.038 3879 192.168.0.101 TCP_MISS/200 25244 GET http://b.cdn.empireso
fthewasteland.com//assets/effects/tumbleweed-02/particles-tumbleweed-02.swf?v=81
– DIRECT/125.160.18.90 application/x-shockwave-flash
1329547775.422 1 192.168.0.101 TCP_NEGATIVE_HIT/204 231 GET http://lbpix.cr
owdstar.com/0s.gif?activityOrder=19&gameUserID=1381574&estimatedServerTime=13295
47773&Action=HUD_BUTTON_CLICK::mod_radio&UserID=100001020778493&SessionID=67ae31
13478c359b988334686be4c67d&Game=Wasteland&Env=PROD&Host=Facebook&Platform=Facebo
ok&Timestamp=1329547779&CohortID=starting-template-relic-3&action_item=132928616
9&src=&plc=&crv=&sub=&loc=&lan=&pfm=&refID=0&tier=1&alliance_id= – NONE/- -
1329547775.445 1 192.168.0.101 TCP_NEGATIVE_HIT/204 231 GET http://lbpix.cr
owdstar.com/0s.gif?activityOrder=20&gameUserID=1381574&estimatedServerTime=13295
47773&Action=MODULE_LOAD_REQ::mod_radio&UserID=100001020778493&SessionID=67ae311
3478c359b988334686be4c67d&Game=Wasteland&Env=PROD&Host=Facebook&Platform=Faceboo
k&Timestamp=1329547779&CohortID=starting-template-relic-3&action_item=1329286169
&src=&plc=&crv=&sub=&loc=&lan=&pfm=&refID=0&tier=1&alliance_id= – NONE/- -
1329547775.576 3000 192.168.0.101 TCP_MISS/200 31699 GET http://g.cdn.empireso
fthewasteland.com//assets/structure/rubble/rubble-skyscraper-j.swf?v=81 – DIRECT
apa maksud dan artinya TCP_MISS, TCP_NEGATIVE_HIT, TCP_MEM_HIT,
Bagaimana agar squid sy bisa performance / kerjanya maksimal jika ada yg hrs di edit bagian mana? dan perintah untuk melihat space hardisk caranya gimana Mas,
segai info spek pc sy:
AMD 2 core, memory 2gb hardisk, 250 gb dan untuk cache 150
Maaf Mas banyak nanya…
Salam sukses