Monday, 2 April 2007

Instalasi squid Proxy di slackware

Instalasi squid Proxy di slackware

Download source dari squid
#wget http://www.squid-cache.org/Versions/v2/2.6/squid-2.6.STABLE16.tar.gz

Extract squid tersebut
#tar -zxvf squid-2.6.STABLE16.tar.gz -C /usr/local/src (sembarang mau ditaruh di mana hasil ekstraknya squid).

Masuk ke direktori ekstrak squid tersebut
#cd /usr/local/src/squid-2.6.STABLE16
Buat group dan user yang akan di gunakan untuk menjalankan squid
#groupadd _squid
#useradd -c “SQUID PROXY CACHE” -d /dev/null -s /bin/false -g _squid _squid
saya memberi tanda _ di depan squid biar keren seperti style BSD hehehe meski ada alasan tertentu sih demi security aja.

Configure dan install squid
#./configure \
–prefix=/squid/ –sysconfdir=/etc/ –enable-gnuregex –enable-async-io=16 \
–with-aufs-threads=16 –with-pthreads –with-aio –with-dl \
–enable-storeio=aufs –enable-removal-policies=heap –enable-delay-pools \
–disable-wccp –enable-cache-digests –enable-default-err-languages=English \
–enable-err-languages=English –enable-linux-netfilter –disable-ident-lookups \
–disable-hostname-checks –enable-underscores –enable-snmp –enable-useragent-log \
–disable-wccpv2 –enable-epoll –disable-internal-dns –enable-htcp
Keterangan opsi :
–enable-async-io=16 dan –with-aufs-threads=16 di sesuaikan dengan kemampuan mesin server
Untuk pentium III dengan ram 128 kebawah dapat menggunakan 8
Untuk pentium III ram 128 s/d PIV 1,8 Ghz ram 256 dapat menggunakan 16
Untuk pentium IV ram 256 1,8 s/d PIV 2,4 ram 256 dapat menggunakan 24
Untuk pentium di atasnya atau sekelasnya dapat menggunakan 32
Pilihan diatas hanya sebuah perkiraan penulis karena penulis hanya menggunakan P4 ram 256 saja.

Kompile source
#make && make install

Keterangan tambahan :
–enable-auth=basic \
–enable-basic-auth-helpers=NCSA
Digunakan jika proxy squid akan digunakan dengan menggunakan authentikasi user.

Tanda # didepan perintah maksudnya adalah root di dalam bash bukan comment.
Setelah instalasi selesai dan tidak terdapat kesalahan, langkah berikutnya adalah mengatur konfigurasi squid, bukalah file /etc/squid.conf dengan editor teks favorit anda (vi, pico, dll), file ini adalah file konfigurasi squid.

#pico -w /etc/squid.conf (Silahkan edit dengan editor kesukaan anda)
Rubahlah konfigurasi default squid.conf di sesuaikan dengan kebutuhan.
Jangan lupa untuk membuang yang kira kira tidak perlu dan membebani server.

agar squid dapat berjalan transparan maka untuk squid versi 2.6 keatas dapat memberikan opsi :
–> http_port 3128 transparent
di dalam confignya.

Sebelum squid dapat berjalan, anda harus menciptakan direktori swap dan membuat file log maupun direktori yang di butuhkan. Lakukanlah dengan menjalankan perintah :

#mkdir /var/log/squid
#touch /var/log/squid/access.log <= ini berfungsi membuat file bernama access.log
#touch /var/run/squid.pid
#chown -R _squid._squid /squid/cache/ <= mengubah kepemilikan direktori ke user _squid dan grup _squid
#chown -R _squid._squid /var/run/pid
#chown -R _squid._squid /var/log/squid/access.log

Perintah ini hanya perlu dijalankan satu kali saja ketika squid pertama kali akan dijalankan pada komputer anda.
#/squid/sbin/squid -z

Jika keluar message seperti :
2007/09/20 14:10:22| Creating Swap Directories
#
Dan langsung masuk ke konsole lagi tanpa keterangan error berarti pembuatan swap anda berhasil, bisa dilihat di dalam direktori /squid/cache akan terbentuk beberapa direktori random yang terdiri dari angka angka ajaib
Cek dulu konfigurasi squid sudah benar atau belum
#/squid/sbin/squid -k parse

Kalo masih terdapat kesalahan atau error silahkan di edit kembali konfigurasinya.

Untuk menjalankan squid gunakan perintah :
#/squid/sbin/squid -sYD

Jika perintah sudah dijalankan bisa diihat log di /var/log/messages :
#tail -f /var/log/messages

Jika muncul message :

Sep 20 15:16:27 proxy squid[3152]: 0 Objects expired.
Sep 20 15:16:27 proxy squid[3152]: 0 Objects cancelled.
Sep 20 15:16:27 proxy squid[3152]: 0 Duplicate URLs purged.
Sep 20 15:16:27 proxy squid[3152]: 0 Swapfile clashes avoided.
Sep 20 15:16:27 proxy squid[3152]: Took 1.6 seconds ( 0.0 objects/sec).
Sep 20 15:16:27 proxy squid[3152]: Beginning Validation Procedure
Sep 20 15:16:27 proxy squid[3152]: Completed Validation Procedure
Sep 20 15:16:27 proxy squid[3152]: Validated 0 Entries
Sep 20 15:16:27 proxy squid[3152]: store_swap_size = 0k
Sep 20 15:16:27 proxy squid[3152]: storeLateRelease: released 0 objects

dan ketika di liat proses nya berjalan seperti :

#ps aux|grep squid

muncul :

squid 3152 0.9 0.8 10836 4500 ? Sl 15:16 0:00 (squid) -sDY
squid 3153 0.0 0.1 1904 596 ? Ss 15:16 0:00 (dnsserver)
squid 3154 0.0 0.1 1904 592 ? Ss 15:16 0:00 (dnsserver)
squid 3155 0.0 0.1 1904 596 ? Ss 15:16 0:00 (dnsserver)
squid 3156 0.0 0.1 1900 596 ? Ss 15:16 0:00 (dnsserver)
squid 3157 0.0 0.1 1904 596 ? Ss 15:16 0:00 (dnsserver)
squid 3158 0.0 0.0 1508 300 ? Ss 15:16 0:00 (unlinkd)
root 3177 0.0 0.1 2000 636 pts/0 R+ 15:17 0:00 grep squid

seperti tersebut maka saya ucapkan selamat anda telah berhasil menginstall sebuah proxy server. Jika ada keterangan error berarti belum nasib anda. Edit kembali konfigurasi sesuai kesalahan error didalam log.

setting transparan iptables nya :
Buat file transparannya biar mudah memanggilnya :
#pico /etc/rc.d/rc.nat
isi dengan :
# Redirect proxy
for SQUID in 80 3128 444 3127 3129
do
iptables -t nat -A PREROUTING -p tcp –dport $SQUID -j REDIRECT –to-ports 3128
done

–> Hal diatas memiliki maksud semua port yang menuju ke 80,3128,444,3127,3129 di larikan ke port 3128 dimana port 3128 adalah port yang kita setting di dalam file squid.conf tsb. BIsa saja kita membuat port lain seperti 444, 1984, 2007 atau lain lain.

Buatlah file agar dapat di eksekusi
#chmod +x /etc/rc.d/rc.nat

Jalankan transparan :
#/etc/rc.d/rc.nat

Untuk membuat squid jalan sendiri setiap kali booting maka tambah kan perintah di atas di /etc/rc.d/rc.local
#pico /etc/rc.d/rc.local
tambahkan baris :
# Squid Proxy Cache
/squid/sbin/squid -sYD
# Transparan Proxy
/etc/rc.d/rc.nat

Sampai disini anda sudah melakukan instalasi, setting dan mengaktifkan squid. Mudah bukan?
Semua diatas telah di di test dan berjalan dengan baik dengan asumsi :
- Partisi Cache berada di /squid/cache dengan partisi ext3 dan kapasitas 10 GB
- Dengan menggunakan komputer Intel(R) Pentium(R) 4 CPU 1.70GHz Ram 256 MB
- Linux Slackware 12 ( Dikompile dengan kernel 2.6.22.6 ) - Tutorial Kompile / upgrade kernel sudah saya jelaskan sebelumnya.
- Dengan menggunakan format partisi ext3

created : http://arhamlawa.wordpress.com/