>Squid + mysql_auth di Ubuntu

>

Squid merupakan aplikasi pengaturan cache proxy server yang dikembangkan dari dana hibah NSF grant (NCR-9796082), dari sini proyek ini terus dikembangkan sejak kemunculannya di awal tahun 1990.
Squid memiliki banyak manfaat dalam aplikasi jaringan internet. Kali ini kita akan membahasa bagaimana menggunakan squid untuk mengidentifikasi setiap user yang terhubung ke internet menggunakan autentikasi user yang tersimpan pada tabel mysql.
Sebagai langkah awal adalah instalasi squid :
– pada ubuntu (debian) hal ini dapat dilakukan dengan menggunakan perintah
apt-get install squid
Instalasi dan konfigurasi mysql_auth
– aplikasinya dapat didownload di alamat ini.
– ekstrak file tersebut dengan perintah :
tar -xvzf mysql_auth-0.8.tar.gz
– masuk ke folder mysql_auth-0.8
– buka file Makefile dan edit baris berikut ini agar menunjuk pada lokasi library mysqlclient dan file include mysql.h
CFLAGS = -I/usr/local/include/mysql/ -L/usr/lib/
– kemudian juga pada baris berikut ini agar bisa menujuk ke lokasi squid yang telah diinstal sebelumnya :
$(INSTALL) -o nobody -g nogroup -m 755 mysql_auth /usr/lib/squid/mysql_auth $(INSTALL) -o root -g root -m 700 mypasswd /usr/local/bin/mypasswd $(INSTALL) -o nobody -g nogroup -m 644 $(CONF) /usr/lib/squid/mysql_auth.conf $(INSTALL) -o nobody -g nogroup -m 644 $(CONF) /usr/lib/squid/mysql_auth.conf.default
– teruskan dengan mengedit file src/define.h dengan menyesuaikan lokasi file mysql_auth.conf diatas
#define CONFIG_FILE “/usr/lib/squid/mysql_auth.conf
– terakhir pada file src/mysql_auth.conf dengan mengubah pada baris berikut ini agar dapat menunjuk pada lokasi real dari mysqld.sock
mysqld_socket /var/run/mysqld/mysqld.sock
– kompilasi dan install mysql_auth dengan perintah berikut ini :
make clean all install
– instalasi skrip database mysql dari mysql_auth
mysql -u root -p
mysql> \. script/create_script
mysql> insert into data values(‘user1’, ‘pwduser1’);
– setelah berhasil terinstall, uji apakah mysql_auth dapat bekerja dengan perintah berikut ini :
./mysql_auth
user1pwduser1
OK
– edit file squid.conf yang biasanya terletak di /etc/squid atau /etc
tambahkan konfigurasi berikut ini pada bagian auth_param
###########################################
#This is used for MySQL authentication
auth_param basic program /usr/lib/squid/mysql_auth
auth_param basic children 5
auth_param basic realm Cikapundung Internet Authentication
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
###########################################
tambahkan lagi baris berikut ini pada bagian acl
acl acl_password proxy_auth REQUIRED
acl acl_cika proxy_auth “/etc/proxy/user.list”
acl allow_sites dstdom_regex -i “/etc/proxy/allow.sites”
acl block_sites dstdom_regex -i “/etc/proxy/block.sites”
terakhir tambahkan baris berikut ini pada bagian http_access sebelum http_access deny all
http_access allow acl_password
http_access allow allow_sites
http_access allow localhost
http_access deny block_sites !acl_cika
http_access deny all
– restart server squid dengan menggunakan command (untuk ubuntu) :
/etc/init.d/squid restart
– tes konfigurasi klien dengan mengatur proxy servernya menggunakan alamat ip server ini dan port 3128.

Referensi :
http://www.indiangnu.org/2007/squid-with-mysql-authentication/
http://wiki.squid-cache.org/ConfigExamples/Authenticate/Mysql
http://www.cyberciti.biz/tips/linux-setup-transparent-proxy-squid-howto.html

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