- Ubah repository Ubuntu 12.04 ke lokal
Dalam hal ini, karena saya ingin berhemat dengan bandwidth international yang ada, maka saya ubah repository default ke repository dalam negeri, yaitu repository Kambing UI dan FTP ITB. Selain menghemat bandwidth internasional juga lebih cepat dalam aksesnya.sudo gedit /etc/apt/sources.list
ganti dengan berikut
## ITB deb ftp://ftp.itb.ac.id/pub/ubuntu/ precise-proposed main restricted universe multiverse deb ftp://ftp.itb.ac.id/pub/ubuntu/ precise-security main restricted universe multiverse deb ftp://ftp.itb.ac.id/pub/ubuntu/ precise-updates main restricted universe multiverse deb ftp://ftp.itb.ac.id/pub/ubuntu/ precise main restricted universe multiverse # Kambing deb http://kambing.ui.ac.id/ubuntu/ precise-proposed main restricted universe multiverse deb http://kambing.ui.ac.id/ubuntu/ precise-security main restricted universe multiverse deb http://kambing.ui.ac.id/ubuntu/ precise-updates main restricted universe multiverse deb http://kambing.ui.ac.id/ubuntu/ precise main restricted universe multiverse
Simpan kemudian
sudo apt-get update
biar ubuntunya tau kemana harus nyari aplikasi. - Installasi LAMP (Linux-Apache-MySQL-PHP) Server
Untuk bagian yang paling penting dalam web server ini saya pakai tasksel, suatau tools untuk menginstall satu paket lamp, biar gampang.sudo apt-get install tasksel
setelah selesai
sudo tasksel
karena saya mengalami sedikit masalah dengan installasi menggunakan GUI tasksel, akhirnya saya pakai command
sudo apt-get install lamp-server
- Install phpmyadmin
Sebenarnya bisa tanpa phpmyadmin tetapi butuh waktu untuk menyesuaikan diri pakai text command, jadi pakai phpmyadmin saja.sudo apt-get install phpmyadmin
Setelah installasi selesai, tinggal tambahkan phpmyadmin kedalam konfiguarsi apache.
sudo gedit /etc/apache2/apache2.conf
Memasukkan phpmyadmin agar phpmyadmin bisa diakses dari browser.
Include /etc/phpmyadmin/apache.conf
Restart apache:
sudo service apache2 restart
- Install ProFTPD
Installsudo apt-get install proftpd
Sedikit konfigurasi
sudo nano /etc/proftpd/proftpd.conf
Menentukan direktori pengguna agar di berada di direktori home masing-masing.
# Use this to jail all users in their homes DefaultRoot ~
Restart:
sudo service proftpd restart
- Selesai
20 December 2013
19 December 2013
KETERANGAN TENTANG SQUID.CONF DI PROXY SERVER
squid.conf adalah file yang digunakan untuk melakukan konfigurasi squid.
Disini saya tidak akan menampilkan semua konfigurasi squid.conf, tetapi
hanya yang bisa untuk mengoptimalkan kinerja squid. Misal opsi
http_port tidak saya cantumkan, jika anda ingin mengetahui list lengkap
dan deskripsi dari opsi-opsi konfigurasi squid yang ada
Apa maksud dari opsi-opsi diatas?
Setelah konfigurasi squid.conf dilakukan, kini saatnya menjalankan squid. Ketikkan perintah agar squid membuat swap
kemudian aktifkan squid
Cek apakah squid sudah berjalan apa belum dengan perintah
bila muncul tampilan seperti dibawah ini, berarti squid sudah berjalan
Note: Jika anda ingin melakukan pengaturan bandwidth dengan fitur delay_pools, silahkan baca petunjuknya di blog Ghozali.
Pimp Your Squid!
Ok, squid sudah kita optimalkan, bagaimana dengan TCP? Pertama, kita akan melakukan 'modprobe ip_conntrack' dengan menambahkan modul ini di /etc/modules (debian) atau /etc/modprobe.conf (RHEL/CentOS).
Hal diatas akan menghentikan squid memunculkan pesan
Kemudian kita akan melakukan modifikasi pada sysctl. Tambahkan baris berikut pada akhir file
fs.file-max = 65535
net.core.rmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144
net.ipv4.tcp_rmem = 4096 87380 8388608
net.ipv4.tcp_wmem = 4096 65536 8388608
net.ipv4.tcp_mem = 4096 4096 4096
net.ipv4.tcp_low_latency = 1
net.core.netdev_max_backlog = 4000
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.tcp_max_syn_backlog = 16384
Kemudian tambahkan entri berikut pada file
hosts_file /etc/hosts
dns_nameservers 208.67.222.222 208.67.220.220
cache_replacement_policy heap LFUDA
cache_swap_low 90
cache_swap_high 95
maximum_object_size_in_memory 50 KB
cache_dir aufs /var/spool/squid 10000 16 256
cache_mem 64 MB
logfile_rotate 10
memory_pools off
maximum_object_size 50 MB
quick_abort_min 0 KB
quick_abort_max 0 KB
log_icp_queries off
client_db off
buffered_logs on
half_closed_clients off
Apa maksud dari opsi-opsi diatas?
hosts_file /etc/hosts
opsi ini untuk memerintahkan squid untuk melihat entri yang ada di
/etc/hosts, hal ini berguna jika anda ingin memblokir iklan atau situs
jahat dengan memanfaatkan file /etc/hosts (Insya Allah mendatang saya
akan membuat tutorial ini.dns_nameservers 208.67.222.222 208.67.220.220
Ini Penting! Squid akan mem-pause (menghentikan sementara) koneksi
ketika melakukan DNS lookup. Dengan memasukkan DNS, maka akan mencegah
hal ini. Disini saya menggunakan DNS dari OpenDNS. cache_replacement_policy heap LFUDA
ini adalah pilihan replacement policy, dimana saya menggunakan heal
LFUDA. Anda bisa menggunakan pilihan lain, info lengkap perihal
cache_replacement_policycache_swap_low 90
adalah prosentase dimana squid akan melakukan pembersihan cache, jadi
jika anda memiliki 10 GB , maka squid akan melakukan pembersihan cache
lama pada penggunaan 9 GB.cache_swap_high 95
secara agresif squid akan menghapus file cache lama dengan menggunakan opsi replacement policy yang disebutkan diatas.maximum_object_size_in_memory 50 KB
Ini untuk menentukan besaran file yang akan disimpan di memori. Pada
konfigurasi ini saya mengaturnya maksimum hanya 50 KB, ini agar tidak
mengganggu memori. Penyimpanan file yang besar di memori akan memberikan
beban tinggi sehingga mmeori tidak bisa dikontrol dengan baik.cache_dir aufs /var/spool/squid 10000 16 256
Dianjurkan untuk tidak mengubah opsi AUFS, karena opis ini memiliki
performa yang lebih bagus dari opsi lain. Angka 10000 adalah jumlah
besarnya file cache yang digunakan squid dalam MB.cache_mem 64 MB
Jangan mengatur cache_mem terlalu besar. Cache_mem menunjukkan jumlah
maksimal RAM yang digunakan oleh squid untuk menyimpan obyek di memori.
Ingat, squid membutuhkan RAM sekitar 100 MB per 1 GB file cache. Jadi,
jika anda memiliki 10 GB file cache, maka squid membutuhkan RAM minimal 1
GB.memory_pools off
Menghentikan squid menempel di memori ketika tidak ada aktifitas.maximum_object_size 50 MB
ini adalah jumlah maksimum obyek yang akan disimpan oleh squid. Dianjurkan untuk tidak mengaturnya terlalu besar.quick_abort_min 0 KB
opsi ini sangat berguna, tetapi dalam kasus tertentu akan membuat squid
tidak optimal. Quick_abort_time akan mengevaluasi berapa banyak sisa
data yang akan ditransfer jika klien membatalkannya. Jika nilainya
berada dalam range quick_abort, maka quid akan melanjutkan download
sampai selesai dan kemudian menyimpannya di cache. Memang terdengar
bagus, namun masalah akan muncul jika klien melakukan beberapa koneksi,
maka squid akan menyelesaikan proses download untuk semua koneksi, dan
akibatnya squid menjadi lambat. Dengan mengaturnya ke angka 0, maka
squid akan menonaktifkan opsi ini.quick_abort_max 0 KB
fungsi sama dengan quick_abort_minlog_icp_queries off
jika anda menggunakan cache_peer, maka opsi ini akan menghentikan squid
untuk selalu melakukan query ke masing-masing cache_peer.client_db off
jika diaktifkan maka squid akan menyimpan statistik semua klien, hal ini bisa membebani mmeori, maka sebaiknya dinonaktifkan.buffered_logs on
melakukan buffering pada penulisan file log, dapat meingkatkan performa squid.half_closed_clients off
mengirimkan connection-close ke klien sehingga membuka setengah koneksi untuk squid.Setelah konfigurasi squid.conf dilakukan, kini saatnya menjalankan squid. Ketikkan perintah agar squid membuat swap
/usr/sbin/squid -z
kemudian aktifkan squid
/usr/sbin/squid start
Cek apakah squid sudah berjalan apa belum dengan perintah
sudo netstat -pln | grep squid
bila muncul tampilan seperti dibawah ini, berarti squid sudah berjalan
tcp 0 0 0.0.0.0:3128 0.0.0.0:* LISTEN 4281/(squid)
udp 0 0 0.0.0.0:3130 0.0.0.0:* 4281/(squid)
udp 0 0 0.0.0.0:50113 0.0.0.0:* 4281/(squid)
udp 0 0 0.0.0.0:3401 0.0.0.0:* 4281/(squid)
Note: Jika anda ingin melakukan pengaturan bandwidth dengan fitur delay_pools, silahkan baca petunjuknya di blog Ghozali.
Pimp Your Squid!
Ok, squid sudah kita optimalkan, bagaimana dengan TCP? Pertama, kita akan melakukan 'modprobe ip_conntrack' dengan menambahkan modul ini di /etc/modules (debian) atau /etc/modprobe.conf (RHEL/CentOS).
Hal diatas akan menghentikan squid memunculkan pesan
parseHttpRequest: NF getsockopt(SO_ORIGINAL_DST) failed: (92) Protocol not available
Kemudian kita akan melakukan modifikasi pada sysctl. Tambahkan baris berikut pada akhir file
/etc/sysctl.conf
fs.file-max = 65535
net.core.rmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144
net.ipv4.tcp_rmem = 4096 87380 8388608
net.ipv4.tcp_wmem = 4096 65536 8388608
net.ipv4.tcp_mem = 4096 4096 4096
net.ipv4.tcp_low_latency = 1
net.core.netdev_max_backlog = 4000
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.tcp_max_syn_backlog = 16384
Kemudian tambahkan entri berikut pada file
/etc/security/limits.conf
* - nofile 65535