Next Previous Contents

3. Instalasi dan konfigurasi Squid

Sebelum mengkonfigurasi squid, buatlah sebuah user untuk menghandle daemon squid, misalnya adalah user squid:

[root@darkside asfik]# adduser -d /no/home -s /no/shell squid

Ada baiknya user ini dikunci saja :

[root@darkside asfik]# passwd -l squid

Pindah ke direktori untuk menyimpan source yang telah dibuat sebelumnya, kemudian download squid versi 2.5.x yang paling baru (kebetulan pada waktu itu squid versi stable untuk 2.5 adalah squid-2.5.STABLE6):

[root@darkside asfik]# cd src
[root@darkside src]# wget http://www.squid-cache.org/Versions/v2/2.5/squid-2.5.STABLE6.tar.gz 

Ekstrak source squid, pindah ke source squid, konfigurasi kemudian lakukan kompilasi. Anda dapat menambahkan opsi lain sesuai dengan kebutuhan anda pada waktu melakukan perintah ./configure :

[root@darkside src]# tar -xzvf squid-2.5.STABLE6.tar.gz 
[root@darkside src]# cd squid-2.5.STABLE6
[root@darkside squid-2.5.STABLE6]# ./configure \ 
--prefix=/usr/local/squid-2.5.STABLE6 \ 
--enable-auth="ntlm,basic" \ 
--enable-basic-auth-helpers="winbind" \ 
--enable-ntlm-auth-helpers="winbind" \ 
--enable-external-acl-helpers="winbind_group"
[root@darkside squid-2.5.STABLE6]# make 
[root@darkside squid-2.5.STABLE6]# make install

Buat simbolik link direktori squid-2.5.STABLE6 ke direktori squid pada direktori /usr/local :

[root@darkside squid-2.5.STABLE6]# cd /usr/local 
[root@darkside local]# ln -s squid-2.5.STABLE6 squid

Selanjutnya ada melakukan percobaan program helper dari squid apakah bisa berhubungan dengan daemon winbindd. Misalnya adalah dengan contoh domain: DARKSTAR, username: Asfihani, password: rahasia. Perhatikan penulisan dengan format DOMAIN\Username password :

[root@darkside asfik]# /usr/local/squid/libexec/wb_auth -d 
/wb_auth[19383](wb_basic_auth.c:183): basic winbindd auth helper build Aug 19 2004, 23:38:08 starting up... 
DARKSTAR\Asfihani rahasia 
/wb_auth[19383](wb_basic_auth.c:121): Got 'DARKSTAR\Asfihani rahasia' from squid (length: 24). 
/wb_auth[19383](wb_basic_auth.c:54): winbindd result: 1 
/wb_auth[19383](wb_basic_auth.c:57): sending 'OK' to squid OK

Jika konfigurasi anda benar, maka helper akan mengirimkan string OK (bukan ERR) kepada squid seperti pada output baris terakhir contoh diatas. Jika tidak, maka jangan meneruskan langkah anda berikutnya.

Langkah berikutnya adalah mengkonfigurasi squid untuk authentikasi ke W2K AD. Saya tidak akan membahas konfigurasi-konfigurasi squid secara menyeluruh, hanya bagian-bagian yang berhubungan dengan authentikasi dan ACL (Access Control List) saja. Edit file squid.conf :

[root@darkside asfik]# vi /usr/local/squid/etc/squid.conf

Tambahkan atau ubah pada bagian berikut ini. sesuaikan daemon squid dengan user yang telah dibuat sebelumnya :

cache_effective_user squid

Beritahu squid untuk menggunakan helper yang telah kita konfigurasi:

auth_param ntlm program /usr/local/squid/libexec/wb_ntlmauth 
auth_param ntlm children 5 
auth_param ntlm max_challenge_reuses 0 
auth_param ntlm max_challenge_lifetime 2 minutes 
auth_param basic program /usr/local/squid/libexec/wb_auth
auth_param basic children 5 
auth_param basic realm Squid proxy-caching web server 
auth_param basic credentialsttl 2 hours

Buatlah ACL untuk user yang telah sukses authentikasi dengan W2K AD di squid :

acl AuthorizedUsers proxy_auth REQUIRED 
http_access allow all AuthorizedUsers

Jika sudah selesai, ganti kepemilikan direktori var pada squid sesuai dengan user yang menjalankan daemon squid :

[root@darkside asfik]# chown -R squid:squid /usr/local/squid/var/ 

Buatlah direktori swap squid :

[root@darkside asfik]# /usr/local/squid/sbin/squid -z

Jalankan daemon squid :

[root@darkside asfik]# /usr/local/squid/sbin/squid

Periksa apakah daemon squid dengan helpernya sudah berjalan dengan baik. Sekarang waktunya mencoba dengan browser kesayangan anda. Masukkan IP atau hostname server squid beserta portnya (default adalah 3128) pada konfigurasi proxy browser anda. Jika anda menggunakan workstation yang telah login pada sebuah domain di AD dan browser yang anda gunakan adalah Microsoft Internet Explorer, maka popup window TIDAK akan muncul untuk menanyakan username dan password. Namun anda bisa melihat pada file log squid domain dan user yang authentikasi tersebut dicatat. Jika anda menggunakan browser non Microsoft Internet Explorer, maka akan muncul popup window yang menanyakan username dan password. Masukkan DOMAIN\Username pada username dan password yang sesuai pada password.

Jika segalanya berjalan lancar, ada baiknya menambahkan pada file rc.local�perintah untuk menjalankan squid :

[root@darkside asfik]# echo "/usr/local/squid/sbin/squid" >> /etc/rc.local

Selamat, Anda telah selesai mengkonfigurasi squid untuk authentikasi pada sebuah domain di W2K AD.


Next Previous Contents