Tuesday, November 27, 2012

Instalasi & Konfigurasi Squid3 Di Ubuntu Server




Tutorial yang membahas squid3 sudah banyak sekali di internet dan mudah sekali diketemukan, tetapi ada beberapa tutorial yang malah membingungkan bagi para pemula yang masih mencoba mengunakannya.

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

9 comments:

  1. hmm harus pake WinSCP juga ya.

    ReplyDelete
  2. tidak harus menggunakan winscp @selai pake command nano juga bisa winscp itu hanya tools gui saja

    ReplyDelete
    Replies
    1. iya benar, tdk harus mengunakan WinSCP, ini hanya info bagi pemula yang masih binggung kalau hanya pakai terminal doang.

      Bisa pakai terminal saja tanpa menggunakan WinSCP, atau bisa dikombinasikan...terserah enaknya mau gimana..

      Delete
  3. kalo menurut om, mana lebih baiknya, squid 2.7 atau squid3 ini ya?, sekarang saya masih make yang 2.7 tapi agak ragu untuk ganti ke squid3

    ReplyDelete
    Replies
    1. kalau kmu sdh nyaman dg versi yang 2.7 ya sy sarankan tetap gunakan itu sj dulu, kalo mau coba yg versi 3 jgn lupa di backup dulu yg lama.

      Delete
  4. kepengin belajar proxy nih bg andii wong,selama ini saya tergantung dengan org lain

    ReplyDelete
  5. kok begini ya bg hasil nya

    ERROR
    The requested URL could not be retrieved

    The following error was encountered while trying to retrieve the URL: http://www.google.co.id/

    Access Denied.

    Access control configuration prevents your request from being allowed at this time. Please contact your service provider if you feel this is incorrect.

    Your cache administrator is webmaster.

    Generated Sat, 14 Jun 2014 11:24:54 GMT by proxy (squid)

    ReplyDelete
    Replies
    1. http access utk localnetnya sdh di allow belum om?
      misal :
      acl lan_A src 192.168.1.0/24
      http_access allow lan_A

      saat lkukan perintah squid3 -k reconfigure, kira2 ada error kgk?

      Delete
  6. yang di seting cuma squid.cofya saja?
    games pb sama youtube bisa hit tidak?

    ReplyDelete
N.B.
1. Berkomentarlah dengan sopan.
2. Dilarang membuat spam, terutama yang mengandung SARA/ Pornografi/ Judi dan Iklan.