SQUID Proxy Server

Salah satu solusi untuk mempercepat akses internet selain menambah lebar bandwith adalah dengan mebuat web-cache internal. Linux mempunyai suatu program yang unique, high-speed, top quality web-cache yaitu Squid. Tidak hanya sebagai web-cache, tetapi Squid juga berfungsi sebagai proxy server.

Apa sih proxy server itu?.. Proxy server adalah sebuah program yang menerima request dari client seperti web browser atau ftp client dan meneruskan requst tersebut ke internet server yang dituju. Jadi seakan-akan client merasa langsung berhadapan dengan internet server yang dituju, padahal datanya di arahkan dulu ke proxy server kemudian oleh proxy server dilanjutkan ke internet server yang dituju.

Terus apa kelebihannya sistem dengan proxy ini? Apabila kita menggunakan sistem ini, data yang di-request dari client akan diarahkan ke proxy server kemudian dilanjutkan ke internet server. Saat data dari internet server datang maka data akan diarahkan oleh Internet Server ke proxy server (bukan langsung ke web browser/ftp client). Kemudian proxy server melanjutkannya ke client yang merequest dan juga menyimpan kopinya sebagai web-cache di harddisk. Apabila ada user lain yang merequest data yang sama lagi, maka proxy server dapat mengambilkan data tersebut dari harddisknya dan mengirimkannya ke user tanpa harus mengambil dari internet server yang dituju lagi. Bayangkan kalau request ini terjadi berpuluh atau beratus kali maka kita bisa mereduksi penggunaan bandwith kita secara signifikan.

Tetapi beberapa hal yang perlu di ingat bahwa Squid hanya menyimpan data web (web-only cache). Artinya data yang di simpan hanya yang menggunakan protokol HTTP. Squid tidak akan menyimpan data multimedia seperti real audio, FTP atau yang lainnya yang bukan menggunakan portokol HTTP. Squid dapat menyimpan FTP request apabila FTP request tersebut diarahkan sebagai protokol HTTP. Demikian juga dengan WAIS dan Gopher. Selain itu Squid juga dapat menyimpan secure SSL transactions dengan menggunakan protokol HTTP.

Instalasi Squid
Squid dapat diinstall dalam 2 cara. kita dapat meng-compile nya sendiri atau menggunakan paket siap pakai (RPM atau DEB tergantung distribusi linux kita). Yang perlu diingat adalah kita menjalankan squid sebagai unprivileged user. Artinya Squid jangan berjalan dengan user root. Beberapa orang memilih squid berjalan sebagai user nobody dan group nogroup. Tetapi sangat dianjurkan untuk menjalankan Squid dengan user dan groupsnya sendiri artinya Squid sebaiknya berjalan sebagai user squid dan group squid.

Pertama siapkan dulu paket squidnya baik paket RPM atau paket DEB atau dari source codenya. Cobalah download versi STABLE terakhir dari squid ini di homepagenya squid. Kalau menggunakan paket RPM yang harus kita lakukan hanya dengan menjalankan:
rpm -ivh [paketsquid.rpm]

Kalau kita mendownload source filenya (misal: squid-2.3.STABLE4-src.tar.gz), letakkan file ini di direktori /usr/local/src kemudian extract filenya.
mv squid-2.3.STABLE4-src.tar.gz /usr/local/src/
cd /usr/local/src
tar xvzf squid-2.3.STABLE4-src.tar.gz


nanti akan ada direktori baru squid-2.3.STABLE4 di dalam /usr/local/src/ yang isinya semua source file untuk instalasi squid. Secara default, squid akan di install ke dalam directori /usr/local. Tetapi supaya lebih sedikit nampak terintegrasi dengan sistem linux kita, kita gunakan direktori /usr daripada /usr/local. Mari kita pindah direktori dulu ke /usr/local/src/squid-2.3.STABLE4 kemudian jalankan configure seperti berikut:
./configure --prefix=/usr --exec-prefix=/usr --bindir=/usr/sbin --libexecdir=/usr/lib/squid --localstatedir=/var --sysconfigdir=/etc/squid --enable-snmp --enable-heap-repalcement

Command tersebut diatas hanya satu baris dan tidak terpisah, karena kolomnya tidak cukup makanya nampak ada lebih dari satu baris di browser anda. Command diatas memerintahkan squid untuk diinstall di direktori /usr dan menaruh file binarinya di /usr/sbin. Kita menggunakan direktori /var sebagai tempat menyimpan data cache dan direktori /etc/squid untuk tempat file-file konfigurasi. Kita simpan yang lainnya di /usr/lib/squid. Option --enable-snmp gunanya untuk menjalankan fungsi Simple Network Monitoring Protocol (SNMP) di squid sehingga kita dapat menjalankan program/utility yang menggunakan SNMP untuk monitoring proxy server kita. Option --enable-heap-replacement meminta squid untuk menggunakan algoritma cache-replacement yang lebih efisien dari pada algortima LRU yang standar.

Langkah berikutnya adalah menjalankan command make untuk kompilasinya
make

Kompilasi ini membutuhkan beberapa menit tergantung dari kecepatan komputer kita. Setelah selesai, install squid dengan menjalankan command:
make install

Command ini akan menginstall semua komponen Squid pada tempatnya yang sudah di tentukan tadi. Langkah berikutnya adalah membuat direktori dimana Squid akan menyimpan file-file cachenya dan file lognya.
mkdir -p /var/spool/squid
mkdir -p /var/log/squid

Sebelum menjalankan command dibawah ini tambahkan dulu user squid dan group squid dengan perintah
useradd squid dan groupadd squid. Kemudian kita berikan pemilik dan groups untuk direktori tadi.
chown squid.squid /var/spool/squid
chown squid.squid /var/log/squid


Kalau ingin menjalankan squid sebagai user nobody dan group nogroup modifikasilah command di atas tersebut.

 Mengkonfigurasi Squid

Apabila Squid sudah terinstall di komputer kita, maka yang perlu diperhatikan adalah bagaimana mengkonfigurasi squid kita sehingga dapat berjalan dengan smooth. Pada artikel berikut ini saya akan membahas beberapa konfigurasi Squid dengan mengupas file squid.conf sebagai bagian lanjutan artikel sebelumnya.

Pertama, pindahlah lokasi direktori kerja anda ke /etc/squid. Di direktori ini ada beberapa file. Tetapi yang paling penting, dan yang hanya dibahas, adalah file squid.conf. bukalah file squid.conf ini dengan editor favorit anda (atau dengan menggunakan editor vi seperti pada artikel saya yang dulu).
Squid dapat beroperasi dengan hanya menggunakan default yang ada. Kalau ada keyword yang hilang, squid akan menggunakan nilai default keyword yang hilang tersebut. Jadi secara teoritis kita bisa saja menjalankan squid dengan file squid.conf yang kosong tetapi saya tidak merekomendasikannya. Dengan mengkonfigurasi squid melalui file squid.conf ini kita bisa mendapatkan hasil kerja squid yang lebih optimal. Silahkan mencoba dan mengutak-atik file squid.conf ini sesuai dengan kebutuhan kita.

Bagian pertama yang perlu di-configure adalah port untuk squid ini.Squid menggunakan keyword http_port untuk mendefinisikan port berapa squid berjalan dan hostname atau ip address yang squid gunakan. Kita bisa hanya mendifinisikan portnya saja atau dapat pula menambahkan hostname/ip address dengan syntax [hosname|IP]:[port]. Secara default port yang digunakan adalah 3128, maka kita akan definisikan:
http_port   3128

 

next >>

1