Kemudian kita akan mengatur besarnya memory dengan keyword cache_mem. Keyword ini mendefinisikan besarnya memory yang digunakan squid untuk menangani objek-objek di dalam memory. Objek-objek tersebut berupa bagian-bagian data seperti grafik, sound atau web page. Karena semua bagian-bagian data tersebut disimpan dalam blok-blok sebesar 4 Kb, kita harus mendefinisikan cache_mem ini kelipatan dari 4 Kb. Secara default cache memory yang digunakan squid adalah 8 Mb. Nilai ini rasanya cukup aman. Perlu diperhatikan bahwa nilai ini bukanlah jumlah total memory yang squid gunakan. Nilai ini hanya untuk cachenya saja. Sedangkan prosesnya membutuhkan beberapa megabytes memory lagi. Pada saat squid server bekerja pada load yang berat, keseluruhan memory yang digunakan bisa 2 kali atau 3 kali lipat dari memory yang didefiniskan di sini. Dengan kata lain kalau kita mendefinisikan memory untuk cache di squid sebesar 8 Mb, maka bersiap-siaplah squid kita akan menggunakan total memory sebesar 24 Mb pada saat load squid sedang berat. Di bawah ini adalah contoh option yang mendefinisikan jumlah memory untuk cache di squid.conf.
cache_mem   8 MB

Bagian berikutnya yang perlu di-configure adalah maximun_object_size. Keyword ini mendefinisikan ukuran maksimum objek yang akan disimpan oleh squid. Objek yang ukurannya lebih besar dari ukuran yang didefinisikan di sini tidak akan disimpan ke dalam harddisk. Nilainya di definisikan dalam satuan KB, defaultnya adalah 4096 Kb atau sebesar 4 Mb.
maximum_object_size   4096 KB

Squid juga menyimpan Full Qualified Domain Names (FQDNs). Artinya Squid melakukan DNS lookup ke site yang dituju kemudian menyimpan IP address-nya. Sehingga saat berikutnya ada request ke host tersebut, Squid akan mengambil dari cache. Hal ini sangat membantu bila kita tidak mempunyai DNS server sendiri atau DNS server kita sangat lambat terutama bila sitenya sering diakses dari network kita. Nilai defaultnya adalah 1024, tetapi kita dapat saja merubahnya sesuai kebutuhan.
fqdncache_size   1024

Keyword berikutnya yang sangat penting adalah cache_dir. Keyword ini mendefinisikan lokasi direktori cache squid kita, ukurannya dan jumlah direktory yang berada di dalamnya. Kita dapat mendefinisikan dalam beberapa direktory jika kita ingin menggunakan multiple harddisk. Direktori yang didefinisikan dibawah ini harus dimiliki oleh user dan group squid berjalan dan squid mempunyai akses untuk menulis di direktori tersebut.
cache_dir   ufs /var/spool/squid 100 16 256
Di atas adalah default dari konfigurasi squid. Di sana didefinisikan type direktorinya, ufs. parameter berikutnya adalah lokasi direktorinya yaitu /var/spool/squid. Parameter berikutnya adalah jumlah disk space maksimum dalam MB di direktori tersebut. Dalam contoh di atas kita gunakan 100 MB maksimum tapi kita dapat merubah sesuai dengan kebutuhan kita.Parameter berikutnya adalah adalah parameter subdirektori level-1 yang mendefinisikan jumlah subdirektori yang berada di bawah direktori /var/spool/squid tersebut. Nilai defaultnya adalah 16 direktori. Parameter berikutnya adalah parameter subdirektori level-2 yang mendefinisikan jumlah subdirektori di bawah subdirektori yang pertama. Nilai defaultnya adalah 256. Berarti kita punya 4096 direktori di bawah /var/spool/squid.

Keyword berikutnya adalah cache_access_log yang mendefinisikan file log setiap ada request dari client. Masih ingat kita membuat direktori /var/log/squid pada artikel sebelumnya? Kita medefinisikan file lognya sebagai berikut:
cache_access_log /var/log/squid/access.log

Log berikutnya adalah file log untuk cachenya yang digunakan untuk menyimpan informasi log secara general.
cache_log   /var/spool/squid/cache.log

Ada log yang lain yang tidak begitu penting yaitu tentang storage manager yang mendefinisikan informasi-informasi tidak begitu penting seperti objek yang telah ditolak oleh squid, yang di simpan dan lamanya objek itu disimpan. Karena kebanyakan orang tidak begitu memperdulikan hal ini maka kita disable option ini dengan:
cache_store_log   none

Keyword yang penting berikutnya mendefinisikan lokasi tabel MIME. File table MIME ini harus terletak pada direktori yang sama dengan file squid.conf, jadi keyword mime_table tersebut didefinisikan sebagai berikut:
mime_table   /etc/squid/mime.conf

Selanjutnya kita akan mendefinisikan lokasi file untuk PID (Process ID) squid. Kebanyakan system file ini berada pada direktori /var/run. Jadi kita mendefinisikan keword pid_filename seperti berikut:
pid_filename   /var/run/squid.pid

Kita juga dapat mendefinisikan debug_option untuk log file squid. Nilai defaultnya (dan direkomendasikan) adalah ALL, 1, yang membuat level debug untuk semua section dan menggunakan log dengan level terendah (1). Nilai level debug tertinggi adalah 9 tetapi jika kita menggunakan nilai ini bersiap-siaplah untuk menghadapi file log yang sangat besar.
debug_options ALL, 1

Kita juga dapat menambahkan FQDNs ke dalam log cache_access_log dengan mendefinisikan keyword log_fqdn. Keyword ini mempunyai dua nilai yaitu off dan on. Sebaiknya jangan kita buat on untuk keyword yang satu ini karena squid akan melakukan DNS lookup pada setiap IP yang diakses. Karena kita tidak ingin browser berjalan lebih lambat dan kita tidak terlalu butuh informasi ini maka kita definisikan sesuai defaultnya, off.
log_fqdn   off

Option lain yang mungkin perlu diperhatikan adalah setting password untuk anonymous login ke ftp server. Kita bisa mengganti squid@ dengan sesuatu yang lebih bermakna seperti mailto:?
ftp_user   mailto:someone@mydomain.com

Secara default squid melakukan DNS lookup menggunakan DNS server yang sudah didefinisikan di system (/etc/resolv.conf). Kita dapat mengganti DNS server khusus bagi squid untuk melakukan DNS lookup dengan mendefinisikan keyword dns_nameservers dan menambahkan lebih dari satu DNS server di sini.
dns_nameserver   10.0.0.1 192.168.0.1

Supaya Squid berjalan dengan baik dan aman kita harus menjalankan squid sebagai user biasa yang unprivileged (tidak punya akses istimewa seperti root). Seperti sebelumnya dibahas, kita akan menjalankan squid sebagai user squid dan group squid. Oleh karena itu perlu kita definisikan pada keyword berikut:
cache_effective_user   squid
cache_effective_group   squid
Saat kita menjalankan squid pertama kali (start), kita harus menjalankannya dari privileged user seperti root. Setelah program squid ini berjalan, squid secara otomatis akan merubah user id dan group id (uid dan gid) ke user dan group yang di definisikan di cache_effective_user dan cache_effective_group tersebut. Cara seperti ini mirip dengan beberapa server lainnya (misal seperti apache). Yang mesti diingat adalah user dan group yang didefinisikan tadi harus sudah ada saat akan menjalankan squid untuk pertama kali.

Nah.. sekarang kita sudah menyelesaikan tahap pengisian keyword-keyword utama. Tahap selanjutnya adalah mengkonfigurasi access control. Mari kita baca artikel berikutnya tentang access control pada file squid.conf ini..

Access Control pada Squid

Squid menyediakan web access control yang powerfull. Dengan mengkonfigurasi bagian ini kita dapat mengkontrol siapa saja yang dapat mengunjungi site tertentu dan site-site apa saja yang tidak boleh dikunjungi, jam berapa saja mereka boleh mengakses web site tersebut, port berapa saja yang dapat digunakan dan lain sebagainya. Pada artikel ini saya akan membahas mengenai konfigurasi access control tersebut sebagai lanjutan artikel sebelumnya.

Pertama yang perlu kita lakukan untuk mengkonfigurasi access control ini adalah dengan memberikan nama untuk setiap acl dan mendefinisikan type access controlnya. Syntax yang digunakan untuk acl tersebut adalah:
acl [aclname] [acltype] [string1] [string2] ...

aclname adalah nama access control yang akan didefinisikan.
acltype adalah type access control yang isinya salah satu dari yang berikut: src (source), dst

 

<< previous                next >>

1