Live Journal

All About Log

Installasi squid + delay pools di Ubuntu 6.10

Filed under: linux

Setelah postingan saya tentang Error installing squid!!!, akhirnya saya sudah bisa menginstall 2.6.STABLE.12 dari source. Setelah saya cari2 masalahnya.. ternyata saya blom menginstal g++ (g++-4.1 libc6-dev libstdc++6-4.1-dev linux-libc-dev), terima kasih kk google, setelah saya install package tersebut.. dengan mudahnya saya “./configure” si squid emoticon. Jadi klo teman2 menemukan masalah seperti postingan saya ttg Error installing squid!!!, coba aja dulu install package g++. Siapa tau bisa.. Temen dari forum linux, dia menyarankan menginstall libc6-dev. Di coba saja, soalnya kan masih 1 package dari g++.

ghoz@ghoz-desktop:~$ sudo apt-get install g++

Pada postingan saya terdahulu tentang Installasi squid di Fedora Core 6 kan tidak ada tentang delay polls dan tuning squid, nah sekarang ini pada penginstall squid di Ubuntu box, saya akan mencoba menggunakan delay polls.

Pada penginstallan squid di Ubuntu box akan sedikit berbeda, kenapa berbeda..??! karena secara default root di Ubuntu tidak diaktifkan dan kita tidak menggunakan root utk penginstallannya. Sekarang akan kita mulai untuk penginstall squid (2.6.STABLE.12) di Ubuntu box Qu.. D . Sebenernya cara2nya tidak jauh berbeda dengan penginstallan squid di Fedora Core 6 saya. Topologi masih sama kya yang dulu, neh dia topologinya :
Clik here to see the real size

Saya meletakkan squid saya di folder /home/ghoz/ . Tp biasanya seh temen2 yang lain meletakkan squidnya itu di /usr/local. Saya meletakkan squid di folder /home/ghoz cmn iseng2 aja koq D (soalnya kan dipake buat sendiri doang).

ghoz@ghoz-desktop:~$ pwd
/home/ghoz
ghoz@ghoz-desktop:~$ wget http://www.squid-cache.org/Versions/v2/2.6/squid-2.6.STABLE12.tar.gz
ghoz@ghoz-desktop:~$ tar -zxvf squid-2.6.STABLE12.tar.gz
ghoz@ghoz-desktop:~$ cd squid-2.6.STABLE12/
ghoz@ghoz-desktop:~/squid-2.6.STABLE12$ pwd

/home/ghoz/squid-2.6.STABLE12

Membuat user untuk menjalankan squid, jadi tidak perlu root untuk menjalankan squid lalu tidak usah memberikan shell kepada usernya.

ghoz@ghoz-desktop:~/squid-2.6.STABLE12$ sudo useradd -d /usr/local/squid/ -r -s /dev/null squid > /dev/null 2>&1

Sekarang kita meng-configure squid kita.. agar menjadi seperti yang kita mau.

ghoz@ghoz-desktop:~/squid-2.6.STABLE12$ ./configure –prefix=/home/ghoz/squid-2.6.STABLE12 \
–exec-prefix=/home/ghoz/squid-2.6.STABLE12 –enable-gnuregex \
–enable-icmp –enable-snmp \
–enable-delay-pools –enable-cache-diggest \
–enable-removal-policies=heap –enable-default-err-languages=English \
–enable-err-languages=English –enable-async-io=24 \
–with-aufs-threads=24 –with-pthreads
–with-aio –with-dl \
–enable-storeio=aufs,diskd –enable-epoll \
–enable-kill-parent-hack –disable-ident-lookups \
–disable-wccp –disable-wccpv2 \
–enable-htcp

Keterangan :
– “prefix” dan “exec-prefix” diatas harap di samakan dimana teman2 meletakkan squidnya.
– Klo temen2 ingin tau keterangan dari optional packages di atas ini, temen2 bisa baca di Installasi squid di Fedora Core 6 dan membuka helpnya untuk penjelasan lebih lengkapnya.

ghoz@ghoz-desktop:~/squid-2.6.STABLE12$ ./configure –help

Sekarang kita membuat binary dari si squid

ghoz@ghoz-desktop:~/squid-2.6.STABLE12$ make
ghoz@ghoz-desktop:~/squid-2.6.STABLE12$ sudo make install

Nah, sekarang ini saatnya konfigurasi squid.conf nya.. Ayooo kita konfig squid kita agar menjadi hebat kuat dan bertenaga.. (lah, kya minuman extra joss). hehehe..

ghoz@ghoz-desktop:~/squid-2.6.STABLE12$ sudo nano /home/ghoz/squid-2.6.STABLE12/etc/squid.conf

Ini isi squid.conf yang telah saya tambahkan dan sisanya adalah default.

http_port 3128
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?# LOGFILE PATHNAMES AND CACHE DIRECTORIES
# —————————————————————————–
cache_dir diskd /home/ghoz/squid-2.6.STABLE12/var/cache 1000 8 256 # << Sesuaikan dengan kebutuhan anda
access_log /home/ghoz/squid-2.6.STABLE12/var/logs/access.log squid
cache_log /home/ghoz/squid-2.6.STABLE12/var/logs/cache.log
log_fqdn off
buffered_logs off

# OPTIONS FOR TUNING THE CACHE
# —————————————————————————–
refresh_pattern /.gif 4320 50% 43200
refresh_pattern /.jpg 4320 50% 43200
refresh_pattern /.jpeg 4320 50% 43200
refresh_pattern /.png 4320 50% 43200
refresh_pattern ^http://www.friendster.com/.* 720 100% 10080
refresh_pattern ^http://mail.yahoo.com/.* 720 100% 10080
refresh_pattern ^http://*.yahoo.*/.* 720 100% 7200
refresh_pattern ^http://*.google.com/.* 720 100% 10080
refresh_pattern ^http://www.telkomspeedy.com/.* 720 100% 28800
refresh_pattern ^http://*.blogsome.com/.* 720 80% 10080
refresh_pattern ^http://*.wordpress.com/.* 720 80% 10080
refresh-pattern ^http://detik.com/.* 720 90% 2880
refresh_pattern ^ftp: 14400 90% 43200 reload-into-ims
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320 reload-into-ims

quick_abort_min 0 KB
quick_abort_max 0 KB
quick_abort_pct 95

# ACCESS CONTROLS
# —————————————————————————–
acl my_network src 192.168.1.0/24
acl SSL_ports port 443 563
#acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 443 563 # https
#acl Safe_ports port 488 # gss-http
#acl Safe_ports port 591 # filemaker
#acl Safe_ports port 777 # multiling http
http_access allow manager localhost my_network
http_access allow my_network

acl download url_regex -i \.mp3
acl download url_regex -i \.3gp
acl download url_regex -i \.avi
acl download url_regex -i \.mpg
acl download url_regex -i \.mpeg
acl download url_regex -i \.wav
acl download url_regex -i \.flv
acl download url_regex -i \.swf

# DELAY POOL PARAMETERS (all require DELAY_POOLS compilation option)
# —————————————————————————–
delay_pools 2
delay_class 1 3
delay_parameters 1 -1/-1 -1/-1 8000/8000
delay_access 1 allow my_network download
delay_access 1 deny all
delay_class 2 2
delay_parameters 2 -1/-1 -1/-1
delay_access 2 allow my_network
delay_access 2 deny all

# ADMINISTRATIVE PARAMETERS
# —————————————————————————–
cache_effective_user squid

# MISCELLANEOUS
# —————————————————————————–
logfile_rotate 5
reload_into_ims on
store_dir_select_algorithm round-robin

# ADMINISTRATIVE PARAMETERS
# —————————————————————————–
cache_mgr youremail@host.com
visible_hostname localhost

Pada bagian delay pools tersebut saya mempunyai rules sebagai berikut:
– Saya membuat 2 buah delay pools.
– pools kategori 2 (delay_class 2 2) untuk mendefinisikan overall bandwidth yang akan didapat.
– pools kategori 3 (delay_class 1 3) untuk mendifinisikan aturan tambahan bila user ingin men-download file-file yang telah di definisikan di access list (ACL) dengan bandwidth maksimal 64Kbits/sec or 8Kbyte/sec.

Maklumlah saya kan pake ADSL di rumah, trus yang pake internet cmn saya ma temen2 saya… jadinya rules tersebut emang cocok ama kebutuhan saya saat ini. Tapi, utk temen2 yang mempunyai networks yang banyak, rule departement yang banyak.. nah, disesuaikan saja yah. temen2 bisa membaca tentang delay pools disini : Manajemen Bandwidth Di Squid Menggunakan Delay Pools dan Penjelasan ttg Delay Pools. Saya juga membaca ttg Delay Pools dari website tersebut. Ayooo.. Kita lanjutin konfigurasinya squidnya..!!!

Memberikan hak pada user squid untuk menjalankan prosesnya, dan memberikan hak terhadap folder squid (/home/ghoz/squid-2.6.STABLE12)

ghoz@ghoz-desktop:~/squid-2.6.STABLE12$ sudo chown -R squid:squid /home/ghoz/squid-2.6.STABLE12/

Kita mengaktifkan terlebih dahulu cache kita.

ghoz@ghoz-desktop:~/squid-2.6.STABLE12$ /home/ghoz/squid-2.6.STABLE12/sbin/squid -z

Jika muncul pesan error, pahamilah terlebih dahulu dari message yang ditampilkan. Apabila message yang ditampilkan ketika pembuatan cache kita error.. periksalah owner dan permission dari folder tersebut (home/ghoz/squid-2.6.STABLE12/var/cache or /home/ghoz/squid-2.6.STABLE12/var/logs), dan periksa juga apakah ada folder cache di dalam home/ghoz/squid-2.6.STABLE12/var/. Biasanya kita menggunakan command dibawah ini untuk mengatasi masalah tersebut.

ghoz@ghoz-desktop:~/squid-2.6.STABLE12$ sudo chmod 777 /home/ghoz/squid-2.6.STABLE12/var/logs

Disini saya menjalankan squid tanpa DNS test, check swap yg telah kita create dan No daemon (proses tidak jalan di belakang layar)

ghoz@ghoz-desktop:~/squid-2.6.STABLE12$ /home/ghoz/squid-2.6.STABLE12/sbin/squid -SND
ghoz@ghoz-desktop:~/squid-2.6.STABLE12$ /home/ghoz/squid-2.6.STABLE12/sbin/squid start

Saatnya kita lihat apakah prosesnya sudah jalan??

ghoz@ghoz-desktop:~/squid-2.6.STABLE12$ sudo netstat -pln | grep squid

Bila tampilan ada yang percis2 seperti dibawah ini, berarti squid telah berjalan.
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 18047/(squid)
udp 0 0 0.0.0.0:3130 0.0.0.0:* 18047/(squid)
udp 0 0 0.0.0.0:3401 0.0.0.0:* 18047/(squid)
udp 0 0 0.0.0.0:4827 0.0.0.0:* 18047/(squid)
udp 0 0 0.0.0.0:32992 0.0.0.0:* 18047/(squid)

Kalau squid kita sudah jalan.. bukalah browser teman2.. dan masukkan IP beserta port dari squid yang telah kita konfigur sebelumnya. Klo sudah, coba browsing.. bila pagenya terbuka, maka squid kita telah berjalan dengan baik.

Akhirnya selesai juga pembuatan transparent proxy kali ini. Hihihi… Klo ada tambahan atau kekurangan di dalamnya.. Harap langsung di tanggapi saja yah lewat comments.

Best Regards,

Your friend

Sumber: http://ghozali.blogsome.com/2007/05/07/instalasi-squid-delay-pools-di-ubuntu-610/

4 responses to “Installasi squid + delay pools di Ubuntu 6.10

  1. iful February 15, 2009 at 5:38 pm

    mas saya minta tolong ya ni saya nyoba scrip seperti yang di atas tapi kok hasilnya ada yang g sukses.
    saiful@ServerSMK:~/squid-2.6.STABLE12$ ./configure –prefix=/home/ghoz/squid-2.6.STABLE12 \
    > –exec-prefix=/home/ghoz/squid-2.6.STABLE12 –enable-gnuregex \
    > –enable-icmp –enable-snmp \
    > –enable-delay-pools –enable-cache-diggest \
    > –enable-removal-policies=heap –enable-default-err-languages=English \
    > –enable-err-languages=English –enable-async-io=24 \
    > –with-aufs-threads=24 –with-pthreads
    configure: error: invalid variable name: –prefix
    saiful@ServerSMK:~/squid-2.6.STABLE12$ –with-aio –with-dl \
    > –enable-storeio=aufs,diskd –enable-epoll \
    > –enable-kill-parent-hack –disable-ident-lookups \
    > –disable-wccp –disable-wccpv2 \
    > –enable-htcp

    • azwar April 9, 2010 at 4:06 pm

      pengalaman saya setiap ilmu yang didapat dari suatu situs tentu 30% sampai dengan 40% rumusnya dirahasiakan atau dibuat berdasarkan rumus saja. contoh
      kemudian masukan localhost itu pada proxy kita. senarnya localhost itu adalah nama dari komputer kita. tapi itu tidak dijelaskan atau disembunyikan maksudnya oleh pembuat situs. itu baru satu masalah. jadi dalam satu bahasan atau lebih dari satu masalah yang sengaja disembunykan oleh pembuat situs jadi jangan terlalu percaya jika kita coba apa yang dibuat oleh pembuat program yang kita coba akan berjalan m u l u s ha ha ha

  2. iful February 15, 2009 at 5:39 pm

    da pa ya mas saya kok bingung. tolong saya di carikan kesalahannya dimana?

  3. iDiots February 19, 2009 at 3:42 pm

    @iful

    mas main copas ya.. itu ga bisa copas harus kita ketik yang — nya.. mungkin kesalahannya disana..🙂

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

%d bloggers like this: