Lingkage program

Install squid (diskd caching)

Posted on: December 3, 2006

Untuk Nginstall yg pasti harus download squid nya dulu😀 (pake yg tar.gz aja biar gak repot)
Untuk versi stabil terbaru adalah versi 2.6 stable yang dapat di download di squid-cache.org. Di versi terbaru ini terdapat beberapa perubahan baik core maupun config nya. Untuk changelog lebih jelas dapat di buka di http://www.squid-cache.org. Dalam hal ini saya masih menggunakan versi stabil 2.5.14 yaitu versi 2.5 keluaran yang terakhir.
#wget http://www.squid-cache.org/Versions/v2/2.5/squid-2.5.STABLE14.tar.gz
Extract squid tersebut
#tar -zxvf squid-2.5.STABLE14.tar.gz -C /usr/local/src (sembarang mau ditaruh di mana hasil ekstraknya squid).
Masuk ke direktori ekstrak squid tersebut
#cd /usr/local/src/squid-2.5.STABLE14
Buat group dan user yang akan di gunakan untuk menjalankan squid
#groupadd squid_
#useradd -c “SQUID PROXY CACHE” -d /dev/null -s /bin/false -g squid_ squid_
Configure dan install squid
#./configure –prefix=/squid –enable-gnuregex –with-pthreads \
–enable-storeio=diskd –enable-removal-policies=heap \
–enable-delay-pools –enable-snmp –disable-wccp \
–enable-default-err-language=English –disable-ident-lookups \
–disable-hostname-checks –enable-kill-parent-hack –disable-internal-dns \
–with-large-files –enable-large-cache-files –enable-auth=basic \
–enable-basic-auth-helpers=NCSA
#make && make install
Keterangan :
–enable-auth=basic \
–enable-basic-auth-helpers=NCSA
Digunakan jika proxy squid akan digunakan dengan menggunakan authentikasi user.

Tanda # didepan perintah maksudnya adalah root di dalam bash bukan comment.
Setelah instalasi selesai dan tidak terdapat kesalahan, langkah berikutnya adalah mengatur konfigurasi squid, bukalah file /etc/squid.conf dengan editor teks favorit anda (vi, pico, dll), file ini adalah file konfigurasi squid.

#ln -s /squid/etc/squid.conf /etc/squid.conf
#pico -w /etc/squid.conf (Silahkan edit dengan editor kesukaan anda)
Carilah baris yang berisi perintah berikut :

#http_port 3128 ( atau sesuka anda )

Perintah ini akan membuat proxy HTTP menggunakan port 3128 yang merupakan port default untuk squid. Aktifkan dengan menghilangkan tanda #. Anda dapat membuat nilai port HTTP proxy ini sesuai dengan selera anda, tetapi jangan arahkan ke port 80, terutama jika anda juga menjalankan Web Server, karena Web Server juga memakai port tersebut.

Langkah berikutnya, carilah baris perintah berikut :

#cache_mem 64 MB

Perintah tersebut digunakan untuk membatasi banyaknya memori komputer yang akan digunakan squid untuk menyimpan sementara obyek-obyek yang di cache. Batasan ini tidak ketat, suatu waktu jika squid membutuhkan memori lebih, dia dapat menggandakan memori yang dipakainya. Aktifkan baris ini dan ubahlah ukuran cache ini menjadi sebanyak yang anda inginkan, yang harus anda pertimbangkan adalah banyaknya memori yang dimiliki oleh komputer anda.

Berikutnya, carilah baris yang berisi perintah berikut :

# LOGFILE PATHNAMES & CACHE DIRECTORIES
# ————————————-

Setting berikut ini digunakan untuk mendefinisikan alokasi penyimpanan web cache kita. Setting yang pertama adalah :

#cache_dir /cache 10001 16 256

Nilai yang ada diatas adalah nilai default squid, jika anda ingin merubahnya maka aktifkan perintah ini.

Parameter pertama /cache adalah nama direktori tempat kita akan menyimpan file-file cache. Anda dapat mengubah parameter ini ke direktori manapun, tetapi yang harus diperhatikan squid tidak akan menciptakan direktori baru, jadi bila parameter ini akan diubah, pastikan direktori tujuannya sudah ada dan squid mempunyai hak akses untuk menulis pada direktori tersebut.

Parameter selanjutnya, yang bernilai 10001 adalah banyaknya ruang pada hard disk (dengan satuan Mega Byte) yang akan digunakan squid untuk menyimpan file-file cache nya. Ubahlah sesuai dengan kebutuhan anda.

Parameter selanjutnya, disebut dengan Level-1, adalah banyaknya direktori yang akan dibuat oleh squid dalam direktori cache nya. Sebaiknya penulis menyarankan untuk tidak mengubah parameter ini.

Parameter terakhir, yang disebut dengan Level-2, adalah banyaknya direktori level kedua, yaitu direktori yang dibuat di dalam tiap direktori level pertama diatas.

Langkah berikutnya, carilah perintah berikut :

# ACCESS CONTROLS
# ——————–

Baris perintah berikut ini digunakan untuk mendefinisikan daftar hak akses dalam jaringan anda, squid menyebutnya dengan Access Control Lists (ACL). Anda dapat mendefinisikan beberapa ACL disini. Dalam bagian access controls ini, carilah baris perintah berikut :

#Default configuration:
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR
# CLIENTS
#
http_access deny all

Yang perlu anda lakukan disini adalah mendefinisikan ACL kita sendiri, kita non aktifkan perintah terakhir dan tambahkan satu baris perintah berikut :

http_access allow all

Sehingga akan menjadi seperti ini :

#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR
# CLIENTS
#
# http_access deny all
http_access allow all

sampai disini squid anda sudah selesai di setting, langkah berikutnya adalah untuk memastikan bahwa direkktori yang akan di gunakan sudah diatur kepemilikannya dengan benar. Misal file direktori var/logs atau lainnya.

Sebelum squid dapat berjalan, anda harus menciptakan direktori swap. Lakukanlah dengan menjalankan perintah :

#/squid/sbin/squid -z

Perintah ini hanya perlu dijalankan satu kali saja ketika squid pertama kali akan dijalankan pada komputer anda.

Cek dulu konfigurasi squid sudah benar atau belum
#/squid/sbin/squid -k parse

Kalo masih terdapat kesalahan atau error silahkan di edit kembali konfigurasinya.

Untuk menjalankan squid gunakan perintah :
#/squid/sbin/squid -sYD

Untuk membuat squid jalan sendiri setiap kali booting maka tambah kan perintah di atas di /etc/rc.d/rc.local

Sampai disini anda sudah melakukan instalasi, setting dan mengaktifkan squid, hal terakhir yang harus dilakukan adalah mengarahkan browser milik komputer client ke port proxy server kita sesuai dengan yang kita pakai pada setting diatas. Mudah bukan?

Untuk contoh squid.conf

####################################
# SQUID PROXY CACHE #
# IBANEZ YUSUF ANDI AJI CHRISTIAN #
# 10 JUNI 2006 #
####################################

http_port 192.168.6.1:3128
http_port 127.0.0.1:3128

icp_port 3130
icp_query_timeout 0
mcast_icp_query_timeout 2000
dead_peer_timeout 10 seconds

hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY

cache_mem 128 MB
cache_swap_low 98
cache_swap_high 100
maximum_object_size 256 MB
maximum_object_size_in_memory 32 KB
ipcache_size 1024
ipcache_low 90
ipcache_high 95
fqdncache_size 4096
cache_replacement_policy heap LFUDA
memory_replacement_policy heap GDSF
store_dir_select_algorithm round-robin

cache_dir diskd /cache/cache-1 10001 16 256 Q1=64 Q2=72
cache_dir diskd /cache/cache-2 10001 16 256 Q1=64 Q2=72
cache_dir diskd /cache/cache-3 10001 16 256 Q1=64 Q2=72

cache_access_log /squid/var/logs/squid/access.log
cache_log /squid/var/logs/squid/cache.log
cache_store_log none
mime_table /squid/etc/mime.conf
pid_filename /squid/var/run/squid.pid
emulate_httpd_log off
log_mime_hdrs off
log_fqdn off
log_ip_on_direct off
logfile_rotate 1
log_icp_queries off
debug_options ALL,1

ftp_user anonymous@
ftp_list_width 32
ftp_passive on
ftp_sanitycheck on

cache_dns_program /squid/libexec/dnsserver
dns_children 32
dns_nameservers 127.0.0.1

diskd_program /squid/libexec/diskd

#request_header_max_size 10 KB
#request_body_max_size 1 MB

refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
##REFRESH PATTERN
refresh_pattern -i \.(class|css|js|gif|jpg)$ 10080 100% 43200 override-expire
refresh_pattern -i \.(jpe|jpeg|png|bmp|tif)$ 10080 100% 43200 override-expire
refresh_pattern -i \.(tiff|mov|avi|qt|mpeg)$ 10080 100% 43200 override-expire
refresh_pattern -i \.(mpg|mpe|wav|au|mid)$ 10080 100% 43200 override-expire
refresh_pattern -i \.(zip|gz|arj|lha|lzh)$ 10080 100% 43200 override-expire
refresh_pattern -i \.(rar|tgz|tar|exe|bin)$ 10080 100% 43200 override-expire
refresh_pattern -i \.(hqx|pdf|rtf|doc|swf)$ 10080 100% 43200 override-expire
refresh_pattern -i \.(inc|cab|ad|txt|dll)$ 10080 100% 43200 override-expire
refresh_pattern -i \.(asp|acgi|pl|shtml|php3|php)$ 2 20% 4320 reload-into-ims
#refresh_pattern -i \.(htm|html)$ 2 20% 4320 reload-into-ims
refresh_pattern -i \? 2 20% 4320 reload-into-ims
refresh_pattern -i cgi-bin 2 20% 4320 reload-into-ims
refresh_pattern http://.*\.kompas\.com/ 0 20% 4320
refresh_pattern http://.*\.mobstar\.cc/ 0 20% 4320
refresh_pattern -i ^http://.*\.yahoo\.com/ 0 20% 4320
refresh_pattern -i ^http://.*\.indosat\.net\.id/ 0 20% 4320
refresh_pattern -i ^http://.*\.friendster\.com/ 0 20% 4320
refresh_pattern . 960 90% 43200 reload-into-ims

quick_abort_min 12 KB
quick_abort_max 12 KB
quick_abort_pct 98
negative_ttl 1 minutes
positive_dns_ttl 3 hours
negative_dns_ttl 2 minutes
forward_timeout 4 minutes
connect_timeout 1 minutes
peer_connect_timeout 1 minutes
pconn_timeout 120 seconds
shutdown_lifetime 10 seconds
read_timeout 15 minutes
request_timeout 5 minutes
persistent_request_timeout 1 minute
client_lifetime 60 minutes
half_closed_clients off
reload_into_ims on
pipeline_prefetch on
vary_ignore_expire on

acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl lan src 192.168.6.0/255.255.255.0
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT

acl blokir url_regex -i “/squid/etc/blokir”
acl diijinkan url_regex -i “/squid/etc/akses” ( Jangan lupa untuk membuat file nya ! )
acl warnet src 192.168.6.161-192.168.6.175/32
acl virus dst 204.177.92.204/32 64.191.99.145/32
acl gator dstdom_regex gator hot_indonesia.exe
acl exploit urlpath_regex winnt/system32/cmd.exe?
acl BADPORTS port 7 9 11 19 22 23 25 110 119 513 514

# Password pengguna bypass ACL
#auth_param basic program /squid/libexec/ncsa_auth /squid/etc/htpasswd
#auth_param basic children 5
#auth_param basic realm Masukkan Password Akses Internet !
#auth_param basic credentialsttl 2 hours
#auth_param basic casesensitive off
#acl password proxy_auth REQUIRED

no_cache deny blokir
http_access deny blokir all
http_access allow diijinkan
http_access deny virus
http_access deny gator
http_access deny exploit
http_access deny BADPORTS
http_access allow localhost
http_access allow warnet
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access deny all
http_reply_access allow all
icp_access deny all
miss_access allow all
always_direct allow localhost warnet
always_direct deny all

header_access From deny all
header_access Referer deny all
header_access Server deny all
header_access WWW-Authenticate deny all
header_access Link deny all
header_access Via deny all
header_access X-Forwarded-For deny all
header_access Accept-Encoding deny all

cache_mgr admin@mutu-gading.textile.comAlamat Email inidilindungi dari bot spam, Anda Harus Mengaktifkan Javascript Untuk Melihatnya
cache_effective_user squid_
cache_effective_group squid_
visible_hostname mutu-gading.textile.com
unique_hostname mutu-gading.textile.com

httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on

cachemgr_passwd disable shutdown
cachemgr_passwd all
buffered_logs off
offline_mode off
memory_pools off
icp_hit_stale on
query_icmp on
coredump_dir /squid
forwarded_for on
ignore_unknown_nameservers on
ie_refresh on

2 Responses to "Install squid (diskd caching)"

enable-removal-policies=heap
itu fungsinya apa bro?:-/
sori aku lagi blajar nich..he.he..

install squid on freebsdmempunyai keuntungan dengan fitur diskd yang

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


  • Order Xtrasize: Hi there, all is going well here and ofcourse every one is sharing facts, that's in fact fine, keep up writing.
  • chatroulette: I am curious to find out what blog system you're using? I'm experiencing some small security issues with my latest site and I would like to find s
  • 3:00 AM: Hello! Do you know if they make any plugins to protect against hackers? I'm kinda paranoid about losing everything I've worked hard on. Any suggest

Categories

%d bloggers like this: