Selasa, 12 April 2011

Membuat sendiri sistem kuota ala Speedy


  paket kuota speedy imagesAnda pernah merasa jengkel, karena kapasitas internet anda terbatas? mungkin hal itu serign dialami oleh para pengguna telkom speedy, terutama yang menggunakan kuota 50 jam atau kuota pemakaian. Kali ini kartolo mencoba untuk menjelaskan cara membuat dan setting kuota internet ala speedy, dengan pembatasan berdasarkan waktu dan kapasitas pemakaian tentunya.

Bagi anda yang awam tentang kuota internet, sebagai contoh : user A di berikan batas waktu pemakaian 8 jam, dan 50 MB perharinya. Walaupun sebelum 8 jam kapasitasnya sudah full maka pengguna terpaksa menunggu hari berikutnya untuk bisa kembali bermain. Untuk setting kuota internet ini, kita tidak perlu khawatir, karena anda bisa mengikuti dan menyesuaikan dengan setting yang telah saya gunakan.

System quota ini menggunakan sebuah paket aplikasi tambahan, Squish. Yang penulis gunakan adalah squish versi 0.0.18. Cara ini kita praktikkan menggunakan linux, tepatnya distro fedora core 4, yang didalamnya telah terinstall paket squid. Berikut adalah peralatan yang kita butuhkan nantinya :

- gd-2.0.33-2.i386.rpm
- perl-GD-2.35-1.fc4.i386.rpm
- squish-0.0.18.tar.gz


Download dulu paket-paket di atas dengan ketik:

# wget http://h1.ripway.com/ilmuwebsite2/gd-2.0.33-2.i386.rpm
# wget http://h1.ripway.com/ilmuwebsite2/perl-GD-2.35-1.fc4.i386.rpm
# wget http://h1.ripway.com/ilmuwebsite2/squish-0.0.18.tar.gz

Kemudian Install paket gd-2.0.33-2.i386.rpm, dan perl-GD-2.35-1.fc4.i386.rpm

# rpm –ivh gd-2.0.33-2.i386.rpm
# rpm –ivh perl-GD-2.35-1.fc4.i386.rpm

Setelah itu ekstrak file squish-0.0.18.tar.gz :
# tar –xzvf squish-0.0.18.tar.gz

Terdapat sebuah direktori baru disana, squish-0.0.18, kemudian masuk kedalamnya, kemudian install :
# cd squish-0.0.18
# make install

Pindah ke direktori di mana squish berada :
# cd /usr/local/squish/

Kemudian jalankan option run pada file squish.pl, ini dilakukan untuk membuat sebuah tampilan awal dari pemakaian bandwith :

# ./squish.pl –install

Dengan fasilitas crontab tambahkan sebuah perintah baru untuk daemon crond :

# crontab -e
5,10,15,20,25,30,35,40,45,50,55 * * * * /usr/local/squish/squish.cron.sh

Kemudian tekan ESC :x !

Jalankan perintah baru tersebut untuk pertama kalinya :


# /usr/local/squish/squish.cron.sh

Kemudian kita tambahkan authentikasi ncsa_auth pada file konfigurasi squid.conf yang terletak di /etc/squid/squid.conf :

# nano /etc/squid/squid.conf
# baris ini ditambahkan di area authentikasi

auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours

# yang ini ditambahkan pada area acl
acl ncsa proxy_auth REQUIRED

# kemudian simpan
Setelah itu edit di bagian bawah baris kalimat ini

### added by squish (begin)

Menjadi seperti ini :

# acl’s for squish – autodetected, sometimes
acl SQUISHLOC dst ns.multimedia.com
acl SQUISHED1 proxy_auth -i “/etc/squid/squished”

#acl SQUISHED2 ident “/etc/squid/squished”
acl SQUISHED3 src “/etc/squid/squished”
acl password proxy_auth REQUIRED

# Error info that says you’re squished
deny_info http://ns.multimedia.com/squish/?squished& SQUISHED1

# deny_info http://ns.multimedia.com/squish/?squished& SQUISHED2
deny_info http://nd.multimedia.com/squish/?squished& SQUISHED3

# HTTP access controls for squish

http_access allow SQUISHLOC
http_access allow password !SQUISHED1
http_access deny SQUISHED1

# http_access deny SQUISHED2

http_access deny SQUISHED3

### added by squish (end )

http_access allow ncsa


Kemudian, edit file konfigurasi httpd :

# nano /etc/httpd/conf/httpd.conf
# tambahkan baris berikut di paling bawah dari file konfigurasi tersebut :

include /usr/local/squish/apache-squish.conf

Kemudian edit file apache-squish.conf :
# nano /usr/local/squish/apache-squish.conf

Edit file tersebut menjadi seperti ini :
Alias /squish “/usr/local/squish/”


Options +ExecCGI
AddHandler cgi-script .cgi
DirectoryIndex squish.cgi
AllowOverride None
Order allow,deny
Allow from all


Di bagian terakhir, anda cukup membuat user yang diperbolehkan untuk mengakses internet, dengan membuat sebuah file yang berisi user yang diperbolehkan login :

# htpasswd /etc/squid/passwd mamang

Berikan permission r untuk user lain agar file /etc/squid/passwd dapat dibaca oleh apache.

# chmod o+r /etc/squid/passwd

Kemudian restart service squid dan httpd :

# service squid restart
# service httpd restart

Untuk melakukan pembatasan pemakaian pada user, silahkan edit file konfigurasi squish.conf

# nano /etc/squid/squish.conf

squish.conf:
# This file contains data formatted as follows:
#
# Blank lines and hashed stuff is for comments
# user amount/period
# bandwidth: 999[kmG]b / period: day, week, month
# time: 999[smh] / period: day, week, month
#
# Whitelist entries – they can have as much as they like

192\.168\.99\.44 25h/day
192\.168\.97\.43 25h/day

mamang 12h/day 120Mb/day

# Poor guy:
root 1h/day 1Mb/day 2Mb/week

# Catchall — people and IP’s not matched by the above rules
.* 4h/day 20Mb/day 20h/week 100Mb/week


Selesai, begitulah garis besarnya, dengan begitu kita dapat membagi sendiri kuota pemakaian user tanpa perlu khawatir akan kelebihan pemakaian dsb


sumber : http://kartolocyber.blogspot.com

Tidak ada komentar:

Posting Komentar