Monday, May 7, 2012

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


Dalam artikel ini 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

Artikel Terkait :

No comments:

Post a Comment

Pengunjung yang terhormat, Silakan tinggalkan jejak Anda