Setting SQUID
Download source dari
squid
#wget http://www.squid-cache.org/Versions/v2/2.6/squid-2.6.STABLE16.tar.gz
#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).
#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
#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
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.
#./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
#make && make install
Keterangan tambahan :
–enable-auth=basic \
–enable-basic-auth-helpers=NCSA
Digunakan jika proxy squid akan digunakan dengan menggunakan authentikasi user.
–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.
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.
Atau copy konfigurasi yang telah saya edit pribadi dan edit sesuai dengan kebutuhan :
#cd /etc
#wget http://air-putih.web.id/download/server/contoh.conf
#mv contoh.conf squid.conf
Rubahlah konfigurasi default squid.conf di sesuaikan dengan kebutuhan.
Jangan lupa untuk membuang yang kira kira tidak perlu dan membebani server.
Atau copy konfigurasi yang telah saya edit pribadi dan edit sesuai dengan kebutuhan :
#cd /etc
#wget http://air-putih.web.id/download/server/contoh.conf
#mv contoh.conf squid.conf
agar squid dapat
berjalan transparan maka untuk squid versi 2.6 keatas dapat memberikan opsi :
–> http_port 3128 transparent
di dalam confignya.
–> 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
#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
#/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
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
#/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
#/squid/sbin/squid -sYD
Jika perintah sudah
dijalankan bisa diihat log di /var/log/messages :
#tail -f /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
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
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
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
#chmod +x /etc/rc.d/rc.nat
Jalankan transparan :
#/etc/rc.d/rc.nat
#/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
#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?
Untuk contoh squid.conf
:
dapat dilihat di http://air-putih.web.id/download/server/contoh.conf
dapat dilihat di http://air-putih.web.id/download/server/contoh.conf
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
- 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
konfigurasi contoh
diatas tidak harus di copi sama persis tetapi tentunya di sesuaikan dengan
kondisi dan keperluan.