.

 
Mesin Pencari


Sisi Lain


Catatan bukan Cacatan

Hubungi Temangsang
My status
Sssstttt.....


Halaman ini telah dibuka sebanyak:
Counter
Prosentase Pengunjung
Data Pengunjung
IP Address Anda


Ubuntu 14.04 + Squid 3.5.5 Untuk Proxy HTTP Dan HTTPS
Kamis, Juni 18, 2015
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 ada
Misalnya 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.pl
Coba 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]
ditulis oleh: Sang Fajar @ 6/18/2015 02:56:00 PM   0 comments
Tentang Aku
Name: Sang Fajar
Home: Bojonegoro, Yogya, Papua, Jatim - DIY - Papua, Indonesia
About Me: Bagi mereka yang merasa berjasa, aku hanyalah sampah. Bagi mereka yang merasa intelek, aku hanyalah pembual. Bagi mereka yang merasa suci, aku hanyalah kotoran. Bagi mereka yang merasa terhormat, aku tak lebihnya seperti orang jalanan. Bagi mereka yang merasa pernah mengenalku, aku sepertinya sudah tak ada. Namun diantara semua anggapan yang pernah ada, semua tentang aku ada karena anggapan-anggapan yang pernah ada......
Data Lengkap

Tulisan Terdahulu
Arsip
Links
Facebook


© . Presented by Fajar Ari Setiawan