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 >>