1. PC yang memenuhi spek 64 bit tentunya
2. PC yang sudah terinstall Ubuntu Server atau Desktop versi 64 bit
3. Backup squid.conf anda
4. Minuman penambah smangat
Oke kita mulai, pertama nubie menggunakan cara nubie yaitu dengan compiler GCC adapun dengan build-essential akan dibahas selanjutnya
1. Untuk mengcompile SQUID dibutuhkan Compilernya (disini Nubie menggunakan GCC 4.4.1), ketik perintah brikut di terminal
Code:
apt-get install gcc
untuk menggunakan build-essential (paket lengkap dengan G++), bisa di donlot dan install menggunakan cara berikut
Code:
apt-get install build-essential
Code:
cat /proc/cpuinfo
Catat informasi CHOST dan CFLAGS nya (sesuai dengan informasi cpu anda di ubuntu tadi), contoh nubie menggunakan AMD Athlon 64 X2, maka nubie memperoleh informasi CHOST dan CFLAGSnya
Code:
CHOST="x86_64-pc-linux-gnu" CFLAGS="-march=k8 -O2 -pipe"
Code:
cd /tmp wget http://www.squid-cache.org/Versions/v2/2.7/squid-2.7.STABLE9.tar.bz2 tar xvf squid-2.7.STABLE9.tar.bz2 cd squid-2.7.STABLE9
disini nubie akan menjelaskan sesuai dengan kemampuan dan pengalaman nubie, mohon bantuannya
- Jika ingin menggunakan option configure Squid sebelumnya atau yg sudah ada gunakan perintah squid -v dan catat option2 yang digunakan
- Jika ingin menggunakan option yang lain bisa menggunakan option configure dari Bro Siber (again Thanks to u)
Quote:
./configure --prefix=/usr --exec_prefix=/usr --bindir=/usr/sbin --sbindir=/usr/sbin --libexecdir=/usr/lib/squid --sysconfdir=/etc/squid \ --localstatedir=/var/spool/squid --datadir=/usr/share/squid --enable-async-io=24 --with-aufs-threads=24 --with-pthreads --enable-storeio=aufs \ --enable-linux-netfilter --enable-arp-acl --enable-epoll --enable-removal-policies=heap --with-aio --with-dl --enable-snmp \ --enable-delay-pools --enable-htcp --enable-cache-digests --disable-unlinkd --enable-large-cache-files --with-large-files \ --enable-err-languages=English --enable-default-err-language=English --with-maxfd=65536 |
-enable-async-io opsi ini untuk mengaktifkan asynchronous I/O – sangat penting untuk menghentikan squid melakukan blocking pada baca/tulis ke harddisk.
-enable-useragent-log berguna agar squid mencatat useragent di entri log – berguna jika anda menggunakan lynx untuk melakukan debug kecepatan squid.
-enable-snmp aktifkan ini jika anda ingin menampilkan statistik squid dalam bentuk grafik.
-enable-cache-digests harus diaktifkan jika anda menggunakan cache peer.
-enable-storeio="aufs" adalah alernatif penyimanan metode I/O. AUFS adalah Asynchronous, memiliki performa yang signifikan ketimbang UFS atau diskd.
-enable-removal-policies="heap,lru" adalah pilihan opsi untuk removal policies, dan saya memilih menggunakan “heap LFUDA”, atau anda juga bisa menggunakan “LRU”.
-with-maxfd=16384 digunakan agar squid tidak terblokir apabila dalam keadaan load tinggi.
-enable-poll untuk meningkatkan performa squid.
-disable-ident-lookups menghentikan squid dari melihat ident di setiap koneksi, bisa juga untuk mencegah serangan DOS yang dapat mematikan squid server, yang biasanya dengan cara membuka ribuan koneksi.
-enable-truncate memerintahkan squid untuk selalu menggunakan truncate() ketimbang unlink() ketika menghapus file cache.
-enable-delay-pools jika anda ingin mengatur bandwidth koneksi, gunakan opsi ini.
Ok siap mengcompile, ketik perintah berikut di terminal
Quote:
CHOST="x86_64-pc-linux-gnu" \ CFLAGS="-march=k8 -O2 -pipe" \ ./configure --prefix=/usr --exec_prefix=/usr --bindir=/usr/sbin --sbindir=/usr/sbin --libexecdir=/usr/lib/squid --sysconfdir=/etc/squid \ --localstatedir=/var/spool/squid --datadir=/usr/share/squid --enable-async-io=24 --with-aufs-threads=24 --with-pthreads --enable-storeio=aufs \ --enable-linux-netfilter --enable-arp-acl --enable-epoll --enable-removal-policies=heap --with-aio --with-dl --enable-snmp \ --enable-delay-pools --enable-htcp --enable-cache-digests --disable-unlinkd --enable-large-cache-files --with-large-files \ --enable-err-languages=English --enable-default-err-language=English --with-maxfd=65536 |
- diatas adalah contoh, nilai CHOST, CFLAGS sesuai dengan informasi CPU anda !
- nilai ./configure hukumnya sunnah
- jangan sampai salah mengetikkan ejaan, contoh enable-err-languages menggunakan "s" sedangkan yang di enable-default-err-language tidak menggunakan "s" tanya dah ma orang bule
5. Install dah, ketik perintah berikut di terminal
Code:
sudo make && make install
7. Edit squid.conf sesuai dengan kebutuhan (IP dan Cache)
8. Ambil alih hak direktori cache dulu "chown -R proxy.proxy /namadirektoricache"
9. lakukan juga pada file access.log "chown -R proxy.proxy /var/log/squid/access.log" dan storeurl.pl "chown -R proxy.proxy /etc/squid/storeurl.pl" dan "chmod 755 /etc/squid/storeurl.pl"
10. Build cache [ squid -f /etc/squid/squid.conf -z ]
11. Restart SQUID
Code:
/etc/init.d/squid restart
Sekarang anda berhasil mengcompile dan menggunakan squid terbaru anytime anywhere
10. Cek versi squid dan squidclient
squid -v
squidclient mgr:info | less
nb : jika squidclient belum terupdate atau masih versi yg lama, coba restart ubuntu anda ( sudo reboot )
11. Cek config anda dari error
squid -k parse
12. Bagi yang bermasalah dengan init.d/squid bisa dilihat di postingan ini
Credit : FMI