Kira-kira beberapa bulan yang lalu, saya mencoba mencicipi
layanan speedy personal, dan nggak kerasa, baru sekitar 10 hari, bandwithnya
sudah overquota, lebih 7 mB kalo nggak salah. Padahal penulis sendiri waktu itu
hanya diberikan jatah 1 GB perbulannya. Wekzz !! Maklum penulis termasuk orang
yang rakus dalam pemakaian bandwith. :D. Download download ... !!! Terpaksa merogok kocek saku sang mahasiswa yang notebenenya selalu bokek. Tapi berhubung sakunya bolong mau bagaimana lagi, terpaksa pemakaian internet di rumah dicabut. :(~ Kali ini penulis mencoba untuk menjelaskan sebuah system quota ala speedy, dengan pembatasan berdasarkan waktu dan kapasitas pemakaian tentunya.
Kita ambil contoh
: user A di berikan batas waktu pemakaian 5 jam, dan 20 MB perharinya. Walaupun
sebelum 5 jam kapasitasnya sudah full maka sang user terpaksa menunggu hari
berikutnya untuk bisa kembali bermain. Istilah kerennya yakni Squished. System quota ini menggunakan sebuah paket aplikasi tambahan, Squish. Yang penulis gunakan adalah
squish versi 0.0.18. Di tutorial ini penulis menggunakan 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 :
# 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/"
<Directory
"/usr/local/squish/">
Options +ExecCGI
AddHandler cgi-script .cgi
DirectoryIndex squish.cgi
AllowOverride None
Order allow,deny
Allow from all
</Directory>
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
Ya cukup sekian,
apabila ada yang ditanyakan langsung saja ke :
alkemail@gmail.com
Greetz : b_scorpio,
phi_, ryuzaki, safril, dan semua staff ilmuwebsite.com yang tidak bisa disebutkan satu persatu :D~~
Sumber dari situs Ilmu Website dalam kategori jaringan dengan judul Sistem Quota ala Speedy dengan Squish
Tidak ada komentar:
Posting Komentar