Disini akan saya paparkan secara sederhana agar lebih mudah dipahami yaitu tentang bagaimana instalasi dan konfigurasi squid3. Dari pengalaman saya konfigurasinya tidak begitu jauh berbeda dari versi squid dibawahnya misal squid 2.7 Stable7.
Persiapan :
1. Putty
Diperlukan untuk me-reconfigure konfigurasi squid melalui terminal via remote.
2. WinSCP
Memudahkan dalam mengakses, mem-backup & mengedit squid3.conf. File konfigurasi squid3 berada dalam folder /etc/squid3
Langkah-langkahnya sebagai berikut :
1. Backup-lah terlebih dahulu konfigurasi atau folder squid lama dengan winSCP, simpanlah di komputer lain, misalnya laptopmu.
2. Login sebagai root di ubuntu server lewat putty , lalu instal squid3 dengan cara ketik di terminal :
# apt-get install squid3
bagi yang telah memakai squid versi lama misalnya squid 2.7, tenang saja karena folder squid yang lama tidak akan hilang atau tertimpa. Nanti akan ada dua folder : squid dan squid3, untuk amannya di backup dulu seperti langkah 1.
Tunggu prosesnya hingga selesai, untuk sementara koneksi internet di jaringan akan terputus.
3. Jika instalasi sudah selesai, akseslah folder squid3 lewat winSCP kemudian copy paste file konfigurasi squid3 yang asli dan pada file copy tersebut berikan nama default dibelakangnya contoh : squid.conf.default.
Di dalam folder /etc/squid3/
squid.conf
File diatas ini di backup dengan cara di-copy paste dan file copy-nya dirubah menjadi squid.conf.default
4. Buka file squid.conf dengan winSCP, lalu konfigurasi seperti dibawah ini :
Carilah tag-tag berikut dengan dengan Ctrl+F :
# TAG: acl
Lalu sesuaikan dengan ( tambahkan ) jaringan lokal Anda.
Misalnya :
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl nama_jaringan_lokal src IP_Network # Tambahkan jaringan lokal, misal : acl local_a src 10.5.50.0/24
# TAG: http_access
Bolehkan akses untuk jaringan lokal diatas.
Misalnya :
#Recommended minimum configuration:
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access allow SSL_ports
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access allow local_a # Letakan saja disini dan di set "allow"
http_access allow CONNECT !ssh_ports
http_access deny all
# TAG: http_port
Lalu hapus tanda pagar dan tambahkan dibelakangnya transparent.
Misalnya :
# Squid normally listens to port 3128
#http_port 3128
http_port 3128 transparent # hilangkan tanda pagar lalu tambahkan "transparent"
Ket :
- 3128 adalah port default service squid, ini bisa diubah bila di inginkan.
- transparent berfungsi untuk membuat squid otomatis dapat diakses oleh user tanpa harus mengarahkan ( men-setting ) browser setiap user untuk diarahkan ke squid.
# TAG: cache_mem (bytes) :
cache_mem 8 MB # defaultnya 8 MB dan ini sudah cukup.
Ket :
- Kalau mau berekperimen masih bisa kamu atur besaran nilainya, namun harus disesuaikan dengan besarnya RAM komputermu...jangan asal-asalan, karena ada persentasenya sebagusnya berapa.
- Berkaitan dengan maximum_object_size_in_memory
# TAG: maximum_object_size_in_memory (bytes) :
maximum_object_size_in_memory 8 KB # ini nilai defaultnya.
Ket :
- Ini artinya yang melebihi 8 KB akan otomatis tersimpan di Hardisk. Jika di set terlalu besar maka akan mempengaruhi TCP_MEM_HIT.
- Berkaitan dengan cache_mem.
# TAG: memory_replacement_policy :
#memory_replacement_policy lru
memory_replacement_policy heap GDSF
# TAG: cache_replacement_policy :
#cache_replacement_policy lru
cache_replacement_policy heap LFUDA
# TAG: cache_dir# Uncomment and adjust the following to add a disk cache directory.
cache_dir ufs /var/spool/squid3 7000 16 256
Ket :
- Kalkulasinya ukuran cache ini harus tepat disesuaikan dengan beberapa hal.
- Semakin besar cache-nya belum tentu bagus malahan akan membuat pencarian file yang tersimpan menjadi lebih lama.
- Pakai dulu ukuran defaultnya, sembari diamati baru kemudian di besarkan ukuran cache_dir-nya jika memang diperlukan.
- Letak direktorinya di /var/spool/squid3.
# TAG: minimum_object_size (bytes)#Default:
minimum_object_size 0 KB
Ket :
- Besaran minimum file yang akan disimpan oleh squid, sebagusnya memang di set 0 KB.
# TAG: maximum_object_size (bytes)#Default:
maximum_object_size 4096 KB
Ket :
- Besaran maksimum file yang akan tersimpan di squid, sebaiknya di set agak besar seperti 128 MB.
# TAG: cache_swap_low (percent, 0-100)#Default:
cache_swap_low 90
# TAG: cache_swap_high (percent, 0-100)#Default:
cache_swap_high 95
# TAG: logfile_rotate#Default:
logfile_rotate 1
Ket :
- Akan berguna jika sudah menginstal Sarg dan Calamaris
# TAG: refresh_pattern
Tambahkan refresh_pattern berikut sesudah refresh_pattern default
refresh_pattern -i .(class|css|js|gif|jpg)$ 10080 100% 43200 ignore-no-cache ignore-no-store reload-into-ims override-expire
refresh_pattern -i .(jpe|jpeg|png|bmp|tif)$ 10080 100% 43200 ignore-no-cache ignore-no-store reload-into-ims override-expire
refresh_pattern -i .(tiff|mov|avi|qt|mpeg)$ 10080 100% 43200 ignore-no-cache ignore-no-store reload-into-ims override-expire
refresh_pattern -i .(mp3|3gp|mpg|mpe|wav|au|mid)$ 10080 100% 43200 ignore-no-cache ignore-no-store reload-into-ims override-expire
refresh_pattern -i .(exe|iso|tar|rar|zip|gz|arj|lha|lzh)$ 10080 100% 43200 ignore-no-cache ignore-no-store reload-into-ims override-expire
refresh_pattern -i .(rar|tgz|tar|exe|bin|vpx)$ 10080 100% 43200 ignore-no-cache ignore-no-store reload-into-ims override-expire
refresh_pattern -i .(hqx|pdf|rtf|doc|swf)$ 10080 100% 43200 ignore-no-cache ignore-no-store reload-into-ims override-expire
refresh_pattern -i .(inc|cab|ad|txt|dll)$ 10080 100% 43200 ignore-no-cache ignore-no-store reload-into-ims override-expire
Ket :
- Diatas adalah contoh rule refresh_pattern tambahan, tidak dipakai juga tidak apa-apa.
- Bagian ini untuk membuat kinerja sistem cache lebih optimal dan efesien.
- Sebaiknya refresh_pattern-nya diterapkan satu-persatu sembari melihat kinerja squidnya dalam sehari penuh terutama pada saat User lagi ramai, lalu keesokan harinya baru ditambahkan refresh_pattern yang lainnya, dst.
- Semakin banyak rule refresh_pattern-nya belum tentu membuat kinerja sistem cache squid makin bagus, malahan bisa sebaliknya dikarenakan terlalu banyaknya rule yang harus dibaca squid saat proses cache sedang berlangsung.
# TAG: quick_abort_min (KB)#Default:
quick_abort_min 16 KB
# TAG: quick_abort_max (KB)#Default:
quick_abort_max 16 KB
# TAG: quick_abort_pct (percent)#Default:
quick_abort_pct 95
# TAG: read_ahead_gap buffer-size#Default:
read_ahead_gap 16 KB
# TAG: positive_dns_ttl time-units#Default:
# positive_dns_ttl 6 hours
positive_dns_ttl 1 hour
# TAG: negative_dns_ttl time-units#Default:
# negative_dns_ttl 1 minutes
negative_dns_ttl 1 minute
# TAG: store_avg_object_size (kbytes)
#Default:
store_avg_object_size 13 KB
# TAG: dns_nameserversdns_nameservers 203.130.193.74 203.130.208.18 202.134.0.155 202.134.1.5 8.8.4.4 8.8.8.8
Ket :
- Di atas mengunakan dns telkom speedy & google.
- Gantilah dns server sesuai dengan yang diberikan oleh ISP anda.
# TAG: ipcache_size (number of entries)#Default:
#ipcache_size 1024
ipcache_size 4096
# TAG: ipcache_low (percent)#Default:
ipcache_low 90
# TAG: ipcache_high (percent)# The size, low-, and high-water marks for the IP cache.
#Default:
ipcache_high 95
# TAG: fqdncache_size (number of entries)# Maximum number of FQDN cache entries.
#Default:
#fqdncache_size 1024
fqdncache_size 4096
# TAG: reload_into_ims on|off# see also refresh_pattern for a more selective approach.
#Default:
reload_into_ims on
SIMPAN..jika konfigurasi sudah selesai.
5. Buatlah swap squid3, matikan dahulu service squid melalui terminal putty dengan :
# /etc/init.d/squid3 stop
- Lalu lanjutkan dengan # squid3 -z
- Tunggulah sampai prosesnya selesai.
6. Jika pembuatan swap squid sudah berhasil, hidupkan kembali service squid dengan :
# squid3 start
7. Terakhir, untuk memastikan telah berjalan dengan sukses atau belum, monitorlah lalu lintas squid3 dengan :
# tail -f /var/log/squid3/access.log