.:My Black Corner:.

Friday, August 03, 2007

squid-2.6.STABLE12 Installasi dan konfigurasi sebagai proxy filtering, cache server, dan bandwidth limiter

Salam opensource..!
Saya rencanakan artikel ini di bagi ke beberapa bagian. Untuk artikel yang pertama ini saya khususkan pada cara installasi, konfigurasi sederhana dan bagaimana cara menggunakan squid. Untuk mendapatkan squid bisa di download di sini. Dalam artikel ini saya menggunakan squid 2.6 STABLE 12. Berikut adalah cara installasi squid paket tarball. Selalu menggunakan root user dalam meng-install.
root# tar xfvz squid-2.6.STABLE12.tar.gz -C /usr/local/share
root# cd /usr/local/share
root# ./configure --prefix=/usr/local/squid --sysconfdir=/etc/ --sbindir=/usr/local/squid/sbin --bindir=/usr/local/squid/sbin --enable-linux-netfilter --enable-delay-pools --enable-snmp --enable-cache-digest --enable-useragent-log --enable-arp-acl --enable -gnuregex --enable-icmp --enable-htcp --enable-ssl --enable-large-cache-files --enable-carp --with-pthreads --enable-removal-policies=heap --enable-arp-acl --with-large-files --enable-forw-via-db --enable-leakfinder --enable-storeio=diskd,ufs --enable-truncate --enable-err-languages=English --enable-default-err-languages=English
root# make
root# make install


Apabila sudah diinstall maka yang perlu diperhatikan adalah letak dari file squid.conf yang ada di /etc/squid.conf dan letak file-file yang dibutuhkan squid di /usr/local/squid/.

Buat direktori cache:
root# mkdir --mode=777 /usr/local/squid/var/cache/
root# chown -Rf squid:squid /usr/local/squid/var/cache/


Buat user squid:
root# useradd –d /usr/local/squid/var/cache/ -r –s /dev/null squid >/dev/null 2>&1

Buat file kosong access.log dan cache.log:
root# touch /usr/local/squid/var/logs/access.log
root# touch /usr/local/squid/var/logs/cache.log
root# chown -Rf squid:squid /usr/local/squid/var/logs/
root# chmod -Rf 777 /usr/local/squid/var/cache/

Download file squid.conf.tar.gz di sini. Lalu ekstrak file tersebut di /etc/.
root# tar xfvz squid.conf.tar.gz -C /etc/

Setelah meng-ekstrak file squid.conf.tar.gz di /etc/ langkah selanjutnya adalah membuat direktori /usr/local/squid/etc/squid/. Direktori ini akan menjadi tempat rule file manajemen akses untuk browsing dari client.
root# cd /usr/local/squid
root# mkdir etc
root# mkdir squid
root# chown -Rf squid:squid /usr/local/squid/etc/


Langkah selanjutnya adalah membuat rule berupa file-file yang isinya adalah nama-nama domain yang kita ijinkan/tidak untuk di browsing oleh komputer client. Atau untuk lebih gampangnya silahkan download file-file tersebut disini. Kemudian ekstrak file tersebut di /usr/local/squid/etc/squid/. Setelah di ekstrak akan berisi 8 file dengan nama masing-masing: domains_agressif, domains_hacking, domains_warez, noporn, porn, urls_agressif, urls_hacking, dan urls_warez. Ubah kepemilikan file-file tersebut:
root# chown -Rf squid:squid /usr/local/squid/etc/

File-file ini berhubungan dengan blok konfigurasi "Manajemen Akses" di /etc/squid.conf. Penjelasan, dalam blok "Manajemen Akses" ada baris sbb:
acl porn url_regex "/usr/local/squid/etc/squid/porn"
http_access deny porn


Maksudnya adalah kita membuat acl atau rule pada URL address yang dibuka di komputer client yang melewati proxy, dengan rule yang disimpan pada /usr/local/squid/etc/squid/porn. Pada baris kedua, http_access deny [nama_acl] berarti menolak semua list domain yang telah dideklarasikan oleh 'acl [nama_acl]', apabila komputer-komputer client membuka salah satu rule pada file porn (nama_acl), yang terletak di /usr/local/squid/etc/squid/.

Begitu pula sebaliknya, masih dalam blok "Manajemen Akses" sbb:
acl noporn url_regex "/usr/local/squid/etc/squid/noporn"
http_access allow noporn

Berarti kita membuat acl dengan nama 'noporn' dan rule-nya disimpan di /usr/local/squid/etc/squid/noporn. Sedangkan http_access allow [nama_acl] adalah syntax untuk mengijinkan komputer client membuka rule [nama_acl].

Blok "Manajemen Akses" di /etc/squid.conf ini berfungsi sebagai filtering browsing. Hal ini berlaku pada komputer client yang melewati proxy squid. Ini dapat mencegah user pada client membuka alamat situs-situs yang tidak kita inginkan untuk dibuka.

Untuk menjalankan squid untuk pertama kali kita harus membuat cache terlebih dahulu dengan perintah:
root# /usr/local/squid/sbin/squid -z

Apabila pada saat pembentukan cache kita mengalami masalah folder cache tidak bisa ditulis oleh squid, maka cek kembali hak kepemilikan terhadap file tersebut. Atau lakukan perintah dibawah ini, serta ulangi langkah diatas.
root# chown -Rf squid:squid /usr/local/squid/*

Cek apakah service squid sudah berjalan, dengan perintah:
root# /usr/local/squid/sbin/squid -NCdl

atau dengan perintah:

root# /usr/local/squid/sbin/squid -sYD

Jika ditemukan kesalahan konfigurasi akan terlihat dengan perintah ini. Jika konfigurasi sudah fix, silahkan terminate squid dengan menekan Ctrl+C. Kemudian jalankan squid dengan perintah:
root# /usr/local/squid/sbin/squid -D

Apabila kita ingin squid jalan setiap kali kompi restart, ketikan command berikut:
root# echo "/usr/local/sbin/squid -z" >> /etc/rc.local

root# echo "/usr/local/sbin/squid start" >> /etc/rc.local

(akan ada penambahan/revisi pada tutorial ini)



posted by .:CyberColombuzz:. at 4:08 PM

4 Comments:

Good posting .....
skalian mau nanya nih?
knapa yah di guts daya ga bisa download torrent.
apa ada setingan yang salah.
Mohon pencerahan ..

Best Reggards ..
arrie16@gmail.com

Sunday, November 18, 2007 10:09:00 PM  

Kemungkinan jaringan disana mem-block traffic p2p (block torrent).

Thursday, January 17, 2008 3:59:00 PM  

Kalau squid nya suka mati sendiri kenapa yah?

Monday, March 02, 2009 7:55:00 AM  

Squid suka mati sendiri? kemungkinan ada bentrok dengan aplikasi yang laen atau emang ada "aplikasi luar" yang mematikan itu. CMIIW

Monday, March 02, 2009 8:00:00 AM  

Post a Comment

<< Home