Belajar sendiri, trial dan error alias otodidak tentu lebih memperoleh kepuasan jika berhasil.
Saya juga demikian.
Banyak kombinasi sebetulnya antara OS Server dengan Squid sebagai proxy cache, namun saya lebih suka dengan Ubuntu.
Anda bisa mengunakan tutorial menginstall Ubuntu Server yang menurut anda lebih anda fahami. Videonya juga banyak di Youtube. Kalau saya belajarnya dari : Install Ubuntu Untuk Server Squid.
Sebenarnya pentingkah mencache HTTPS?
Bagi saya : Ya!, sangat penting.
Alasannya : Koneksi ADSL yang masih di bawah 10 Mb dan banyak web saat ini menggunakan port 443 alias SSL untuk transaksi data, termasuk media sosial seperti Facebook dan Twitter. Pada jam-jam sibuk Warnet yang saya kelola akan sangat lemot. Facebook loadingnya lama karena tiap PC mengaksesnya. Padahal jika dipikir-pikir orang yang sama akan mengakses halaman yang sama berulang kali tiap hari dan komputer client meminta data yang sama ke internet tiap hari. Menyia-nyakan bandwidth saja.
Lalu bukankah HTTPS itu diciptakan untuk keamanan?
Pada dasarnya Squid melakukan SSL bump sebagai tindakan pembajakan. Sertifikat asli milik (misalnya) facebook ditimpa dengan milik Squid agar Squid bisa mencache file-file grafis yang menguras bandwith itu ke dalam hardisk server. Terpaksa. Kalau mode HTTP biasa sih normal saja.
Spesifikasi Komputer yang saya gunakan:
Core2Duo 2,0 GHz, RAM 2 GB DDR2, HDD SATA 500 GB
Pembagian Hardisk yang saya gunakan sbb :
Harddisk 500GB (saya pakai kapasitas segini)
Primary Root (/) 100 GB EXT4
Logical Swap 4 GB (2X Jumlah RAM)
Logical mount point : /Cache1 50 GB btrfs journaling, mount option noatime+nodiratime
Logical mount point : /Cache2 50 GB btrfs journaling, mount option noatime+nodiratime
Logical mount point : /Cache3 50 GB btrfs journaling, mount option noatime+nodiratime
Logical mount point : /Cache4 50 GB btrfs journaling, mount option noatime+nodiratime
Logical mount point : /Cache5 50 GB btrfs journaling, mount option noatime+nodiratime
Untuk masalah pemasangan Ubuntu di PC Server, diluar pembahasan atau sudah dianggap selesai.Setelah kita menyelesaikan instalasi Ubuntu, ada beberapa hal yang perlu di seting. Pertama adalah mengeset SSH di Ubuntu agar Putty (Remote Command) bisa login sebagai root (Karena saya capek sudo su mulu).
Kita bekerja selalu di modus Terminal, karena ini server bung! Bukan Desktop dengan GUI.
Langkahnya :
#nano /etc/ssh/sshd_config [enter]
Carilah baris : # Authentication:
LoginGraceTime 120
PermitRootLogin without-password
StrictModes yes
Ubahlah menjadi : # Authentication:
LoginGraceTime 120
#PermitRootLogin without-password
PermitRootLogin yes
StrictModes yes
Simpan dengan tombol ctrl+x lalu y [enter] #service ssh restart [enter]
#ssh stop/waiting
#ssh start/running, process 1588
Lalu buat password root yang baru #passwd [enter]
#masukkanpassword [enter]
#masukkansekalilagi [enter]
Selesai.Kita akan pindah ke PC Windows (Kita tidak lagi main langsung di PC Server)
Download aplikasi Putty dari : Putty download untuk akses remote terminal dan WinSCP di WinSCP download untuk Remote File Managernya. Silahkan rujuk masing-masing program bagaimana cara pakainya.
Saya anggap anda sudah faham menggunakan kedua program tersebut dan sudah berada di terminal Putty dan login sebagai root.
Update dulu Ubuntunya
#apt-get update [enter]
Lalu Install Aplikasi pendukung Squidnya # apt-get install devscripts build-essential openssl libssl-dev fakeroot libcppunit-dev libsasl2-dev cdbs ccze libfile-readbackwards-perl libcap2 libcap-dev libcap2-dev -y [enter]
# apt-get install sysv-rc-conf -y [enter]
Setelah selesai, kita masuk ke proses download master source Squidnya.# cd [enter]
# wget http://www.squid-cache.org/Versions/v3/3.5/squid-3.5.5.tar.gz [enter]
# tar xzvf squid-3.5.5.tar.gz [enter]
# cd squid-3.5.5 [enter]
Copas kode di bawah ke terminal tanpa kurang atau lebih./configure \
--prefix=/usr \
--bindir=/usr/bin \
--sbindir=/usr/sbin \
--libexecdir=/usr/lib/squid \
--sysconfdir=/etc/squid \
--localstatedir=/var \
--libdir=/usr/lib \
--includedir=/usr/include \
--datadir=/usr/share/squid \
--infodir=/usr/share/info \
--mandir=/usr/share/man \
--disable-dependency-tracking \
--disable-strict-error-checking \
--enable-async-io=32 \
--with-aufs-threads=32 \
--with-pthreads \
--enable-storeio=ufs,aufs,diskd \
--enable-removal-policies=lru,heap \
--with-aio \
--with-dl \
--enable-icmp \
--enable-esi \
--enable-icap-client \
--disable-wccp \
--disable-wccpv2 \
--enable-kill-parent-hack \
--enable-cache-digests \
--disable-select \
--enable-http-violations \
--enable-linux-netfilter \
--enable-follow-x-forwarded-for \
--disable-ident-lookups \
--enable-x-accelerator-vary \
--enable-zph-qos \
--with-default-user=proxy \
--with-logdir=/var/log/squid \
--with-pidfile=/var/run/squid.pid \
--with-swapdir=/var/spool/squid \
--with-large-files \
--with-openssl \
--enable-ltdl-convenience \
--with-filedescriptors=65536 \
--enable-ssl \
--enable-ssl-crtd \
--disable-auth
Lalu tekan Enter.
Kemudian kita mulai compile...
#make && make install && make install-pinger [enter]
Proses ini mungkin akan memakan waktu 10 sampai 30 menit, santai saja.Setelah proses ini selesai, silahkan download file squid.zip lalu ekstrak ke folder komputer anda.
Akan ada 3 file yang diperlukan : squid, squid.conf dan store-id.pl
Jalankan WinSCP dan login sebagai root
Copy file squid ke direktori /etc/init.d/
Copy file squid.conf dan store-id.pl ke /etc/squid/
Kembali ke Terminal Putty dan ketikkan perintah berikut
#chmod 755 /etc/init.d/squid [enter]
#update-rc.d squid defaults [enter]
#/etc/init.d/squid stop [enter]
Pastikan direktori-direktori yang diperlukan sudah adaMisalnya direktori /var/log/squid.
Jika belum ada, buat dengan perintah : md nama_direktori
Ubah owner direktori /var/log/squid
# chown -R proxy:proxy /var/log/squid [enter]
Masuk ke direktori /var/log/squid # cd /var/log/squid [enter]
Ciptakan dua buah file baru untuk log # touch access.log [enter]
# touch cache.log [enter]
Kembali ke direktori root # cd [enter]
Ubah owner dua file yang diciptakan tadi Ketik # chown -R proxy:proxy /var/log/squid/access.log [enter]
Ketik # chown -R proxy:proxy /var/log/squid/cache.log [enter]
Ubah owner partisi mount point cache yang kita buat saat install server Ubuntu # chown -R proxy:proxy /cache1 [enter]
# chown -R proxy:proxy /cache2 [enter]
# chown -R proxy:proxy /cache3 [enter]
# chown -R proxy:proxy /cache4 [enter]
# chown -R proxy:proxy /cache5 [enter]
Ubah owner file store-id.pl # chown -R proxy:proxy /etc/squid/store-id.pl [enter]
Ubah mode direktori cache # chmod 777 /cache1 [enter]
# chmod 777 /cache2 [enter]
# chmod 777 /cache3 [enter]
# chmod 777 /cache4 [enter]
# chmod 777 /cache5 [enter]
Ubah mode file store-id.pl # chmod 777 /etc/squid/store-id.pl [enter]
Masuk direktori squid # cd /etc/squid [enter]
Buat direktori sertificate # mkdir ssl_cert [enter]
# cd ssl_cert [enter]
Di sinilah rahasia mengapa Squid 3.5 bisa mencache file terenkripsi alias mode port https. # openssl req -new -newkey rsa:1024 -days 365 -nodes -x509 -keyout myCA.pem -out myCA.pem [enter]
File hasil generate ini nantinya akan kita import ke dalam browser misalnya Mozilla Firefox atau Chrome. Squid https tidak akan bisa berkomunikasi dengan browser menggunakan port https jika sertifikat keamanan milik squid tidak dikenali.Cara import sertifikat ke dalam browser boleh ikuti langkah di Youtube ini
# openssl x509 -in myCA.pem -outform DER -out myCA.der [enter]
# cd / [enter]
# mkdir /var/squid [enter]
# cd /var/squid [enter]
# mkdir ssl_db [enter]
# cd ssl_db [enter]
# chown -R nobody /var/squid/ssl_db/ [enter]
Mengaitkan library ke sertifikat database # /usr/lib/squid/ssl_crtd -c -s /var/squid/ssl_db/certs [enter]
# chown -R proxy:proxy /var/squid/ssl_db/ [enter]
Selanjutnya kita periksa apakah semua proses di atas sudah benar, lalu kita parsing konfigurasi squid # squid -k parse [enter]
Jika semua aman maka kita lanjut membuat direktori squid dalam partisi cache (yang lima buah tadi),mengikuti pengaturan konfigurasi squid.conf
# squid -z [enter]
Kemudian restart service squidnya # /etc/init.d/squid restart [enter]
Terakhir adalah mengatur mangle di IP Table milik Ubuntu, untuk mengarahkan permintaan client ke port yang benar.Buka WinSCP lalu buka file /etc/rc.local
Copy lalu paste semua script di bawah ini di atas baris "exit.0" dalam file rc.local
modprobe xt_TPROXY modprobe xt_socket modprobe nf_tproxy_core modprobe xt_mark modprobe nf_nat modprobe nf_conntrack_ipv4 modprobe nf_conntrack modprobe nf_defrag_ipv4 modprobe ipt_REDIRECT modprobe iptable_nat iptables -t mangle -F iptables -t mangle -X iptables -t mangle -N DIVERT iptables -t mangle -A DIVERT -j MARK --set-mark 1 iptables -t mangle -A DIVERT -j ACCEPT iptables -t mangle -A INPUT -j ACCEPT iptables -t mangle -A PREROUTING -p tcp -m socket -j DIVERT iptables -t mangle -A PREROUTING ! -d
192.168.0.50
/24 -p tcp --dport 80 -j TPROXY --tproxy-mark 0x1/0x1 --on-port 3129 iptables -t mangle -A PREROUTING ! -d
192.168.0.50
/24 -p tcp --dport 443 -j TPROXY --tproxy-mark 0x1/0x1 --on-port 3127 /sbin/ip rule add fwmark 1 lookup 100 /sbin/ip route add local 0.0.0.0/0 dev lo table 100 echo 0 > /proc/sys/net/ipv4/conf/lo/rp_filter echo 1 > /proc/sys/net/ipv4/ip_forward
Informasi : alamat IP yang berwarna merah, sesuaikan dengan IP PC Server Ubuntu+Squid anda.
Restart PC Server
# reboot [enter]
Lalu coba uji apakah ada muncul kesalahan # squid –k reconfigure [enter]
Error yang mungkin muncul terkait dengan store-id.plCoba atasi dengan menghapus atau menimpa store-id.pl yang ada di /etc/squid/ dengan yang baru (hasil download). Lakukan lagi chown seperti proses di atas khusus untuk file store-id.pl saja.
Dan lakukan perintah di bawah kembali
# squid –k reconfigure [enter]
Sumber utama tutorial : Cara-instalasi-squid-3x
kalau proxy nya ingin terhubung ke mikrotik untuk di rc.local gimana gan?
ReplyDeletesaya menyeting manual. Karena hanya digunakan 10 PC warnet. Untuk pertanyaan anda, boleh cek di blog lain. Maaf.
Deleteuntuk ubutu 32 bit apa 64 bit
ReplyDeleteSaya pakai 64bit
Deletearti dari angka "777" itu apa ya ?
ReplyDeleteitu hak akses mas,
Delete:D
nice share bro...ijin praktekin yaa
ReplyDeleteapa bisa saya praktikkan di ubuntu server 12 32 bit
ReplyDeleteBisa saja. Caranya sama. 32 dan 64bit adalah arsitektur sistem operasi. Perbedaannya mungkin bisa ditanya mbak google
Deleteini menggunakan 2 nic ato 1 nic mas bro ?
ReplyDeleteSaya pakai 1 NIC. Masuk ke Mikrotik.
DeleteJangan ikutin Langkah diatas... Kalo ikut ini semua tanpa modifikasi, pasti akan error saat di test... Access Denied saat dicoba. Hanya untuk memunculkan nama dan email arihtakid@gmail.com.
ReplyDeleteacl localnet src 192.168.0.0/24
Deletecek gan,, rubah itu sesuaikan dengan jaringan,, saya juga awalnya Access Denied,,
keluar error kayak gini bro waktu perintah squid –k reconfigure
ReplyDeleteFATAL: No valid signing SSL certificate configured for HTTP_port [::]:3127
Squid Cache (Version 3.5.5): Terminated abnormally.
CPU Usage: 0.008 seconds = 0.008 user + 0.000 sys
Maximum Resident Size: 43776 KB
Page faults with physical i/o: 0
sama ki punya q ya gitu mas piye ya ini?? bagi solusi bos.. tinggalin no telp barang kali
Deleteperiksa lagi gan sertifikat sslnya udah bener blom ?
Deletessl itu buat ulang
DeleteMasih work kah ?
ReplyDeletework gan,, saya baru coba ini.
Deletemas Deni
Deletesampean pake ubuntu 14 apa 12 mas ???
saya tidak bisa upload file squidnya ke etc/init.d.. ada solusi
ReplyDeletemasuk root dulu biar bisa upload /etc/squid
Delete#penk walker ini cocok gak unutk orang pemula banget bang.?
Deleteberhasil tidaknya konfigurasi dapat dilihat di mana mas? maklum nwbie msih perlu banyk bimbingan..terimakasih
ReplyDeletebisa dilihat di lognya gan
Deletetail -f /var/log/squid/access.log | ccze
kalau hit berarti udah tercache kalau belum berarti konfigurasi perlu di atur lagi :D
masih bingung perkara NAT nya di mikrotik dan manglenya ini hemmm ada yang bisa bantu... tolong please
ReplyDeleteseting NAT / Mangle nya di mikrotik bagaimana ya, udah semua saya coba tapi masih gagal.
ReplyDeletemohon bantuan rekan2 sekalian, sebelum nya terimakasih..
Set buat transparent di Mikrotik kok gak jalan yah, ada yang bisa kasih pencerahan...
ReplyDeleteterima kasih atas infonya..
ReplyDeletest3telkom.ac.id
cache youtube nya gagal om, ada artikel yg membahas regex kah om?
ReplyDeleteysh admin, saya coba2 perintahnya, tapi yg terakhir keluar spt ini ya? mohon pencerahannya.
ReplyDeletesiadmin@Proxy-Baru:~$ squid .k reconfigure
2016/04/11 16:50:53| ALERT: setgid: (1) Operation not permitted
siadmin@Proxy-Baru:~$
sudo -i
Deletebaru perintah squi -k reconfigure
Om kalau ky gini gmna ya,?
ReplyDeleteroot@srv:~# squid -z
FATAL: No valid signing SSL certificate configured for HTTP_port [::]:3127
Squid Cache (Version 3.5.5): Terminated abnormally.
CPU Usage: 0.004 seconds = 0.004 user + 0.000 sys
Maximum Resident Size: 44624 KB
Page faults with physical i/o: 0
yg ssl ada yg keliru itu gan
Deletecoba teliti lagi mungkin ada yg ketinggalan
bisa tidak konfigurasi diatas dilakukan di ubuntu 14.04 desktop ???
ReplyDeleteadmin, mohon tinggalin kontak yang bisa saya hubungi. Saya butuh banget buat tugas akhirnya ane bang. Kalo perlu saya bayar deh
gimana bang kalo mau memblokir keyword di google ??
ReplyDeletedimohon sekali bang
http://broexperts.com/block-specific-keyword-in-squid-proxy/
Deleteboleh tunjuk topology sambungan network?
ReplyDeletecek log ya kok gak muncul ya mas ? tail -f /var/log/squid/cache.log
ReplyDeletebang,,,klw httpnya udh berhasil keblok,cman klw httpsnya belum bisa,solusi dlw para master network....mksh
ReplyDeleteBang mau tanya? saya sudah coba langkah2 di atas. Tapi pas menjalankan perintah squid -k reconfigure, hasilnya:
ReplyDeleteroot@ubuntu-server:~# squid -k reconfigure
squid: ERROR: Could not send signal 1 to process 9951: (3) No such process
Mohon pencerahannya.
sama saya juga
Deletekayaknya klo di coba di 32bit akan bnyk penyesuaian dan error
ReplyDeleteKonsultan ISO dan Sertifikasi
http:/www.isokonsultindo.com
mas ada nmr hp yang bisa di hubungi jika ada masalah kan bisa call
ReplyDeletebisa tidak sertifikat nya di install automatis ke browser pengguna?
ReplyDeleteKonsultan ISO dan Sertifikasi
http://www.isokonsultindo.com
Wow... sangat Super.
ReplyDeleteIjin Chmod ya.. hehehehe..
Terimakasih sebelumnya.
Bisa buat artikel yang menggabungkan cache youtube + mikrotik di transparent proxy ??
ReplyDeletesoalnya butuh nih di warnet, secara bandwidth cuman 2 MB (jaringan masih jelek) tapi user pengen youtube an.
sama nih pelanggan warnet gw maunya nonton youtube tapi bandwith cuma 2 mb
Deletecek access log na gmn ? ko ga muncul
ReplyDeletesemua config sukses smua gan..
ReplyDeletetpi waktu proxy di jlankan kok gk bisa akses ke http yya??
gan mw nanya isi dari store-id.pl itu fungsinya buat apa ya?
ReplyDeleteMas mau tanya,saya sudah konfigurasi squid,tapi kok point blank malah terputus ya.
ReplyDeleteApa yg seharusnya di konfigurasi lg di squid.conf nya?
I would like to use basic_ldap_auth, So compiled withh --enable-auth option but i could not find anything in /usr/lib/squid . How to do it
ReplyDeleteGan,, untuk server dhcp dengan pelanggan yg rata2 menggunakan hp, gimana agar cert mozila dan chrome diambil otomatis?
ReplyDeleteThis comment has been removed by the author.
ReplyDeletegan saya sudah hampir 2 minggu utak atik squid dari tutorial agan. namun tdk berhasil.
ReplyDeletesaya mau tnya ini tutorial proxy untuk topologi yg gimn gan?
thx
gan, semua sudah saya ikutin dari awal sampai akhir dan hasilnya tidak ada pesan error tetapi kok access.log nya ndak ada isinya ya!! yang salah dmn ya ???
ReplyDeletedari pada bingung buat para pemula mending install webmin aja biar lebih gampang buat ngatur nya gak pakek terminal command gitu sudah tampilan GUI yang brsahabat tinggal klak klik aja :) , saran buat yang baru nyoba sih
ReplyDeletekok buat cek access log nya gak bisa ya mas?
ReplyDeletebiasanya kan "tail -f /var/log/squid/access.log"
terimaksih
Pada saat jalankan proses squid -z muncul banyak
ReplyDeletekid1|Making directories in .cache5/3A sudah itu stak disitu ga jalan-jalan lagi,, kenapa ya? tidak ada proses selanjutnya, apa seperti itu? harus ctr+c untuk kembali ke terminal?
Sepertinya proxy sudah jln klo setting manual pake port 3128
ReplyDeleteTp access.log dn cache.log masih 0kb kenapa ya?
Di squid.conf port 3129 tproxy masih ada tnda #
Nah klo mau transparent dgn ssl-bump kan musti diaktifkan, kurang lebih jadi
http_port 3127 tproxy ssl-bump bla bla
http_port 3128
http_port 3129 tproxy
Mohon pencerahannya ada yg perlu diconfig lgi
This comment has been removed by the author.
Deleteinikan bukan proxy transparent/intercept jd di beri tanda #,dan kalau memang hanya manual set di browsher gk perlu pakai iptable,nat nya main dirouter.. dan kalau mau transparent di mikrotik hilang semua nat kecuali nat yg mengarah ke internet,,jd versi squid 3.2xxx keatas nat nya itu harus di squid nya bukan di router,selengkap nya baca di squidcache.org,pokoknya puyeng dah,,haha,,,,untuk direktori cache log nya di set lagi secara manual misalnya cache_access_log /var/log/squid/access.log .. yang cache_access_log /dev/null itu di hapus.. selamat puyeng,,wkwkwk
ReplyDeletelog access nya ko nggak jalan ni gan mohon pencerahannya trims
ReplyDeletehttps nya nga muncul ni gan mohon pencerahannya!!!
Deletemin log access nya gak muncul "tail -f /var/log/squid/access.log |ccze
ReplyDelete