Tag Archives: Linux

Setting System Time dan Time Zone (Debian)

Hanya sebagai quick reminder 😉

Install ntpdate supaya waktu selalu tersinkronisasi dengan “jam internet”;

apt-get install ntpdate

Konfigurasi timezone dengan lokasi geografis yang sesuai;

dpkg-reconfigure tzdata

selanjutnya perintah tzdata akan menampilkan konfigurasi timezone saat ini, jika kita ingin merubahnya maka akan muncul dialog untuk memilih lokasi geografis berdasarkan benua – pulau – dan kota.

Optimizing Web Server (Lighttpd)

Berawal dari rasa penasaran kok situs penyedia film 300mbunited.com cepet banget loading tiap page-nya, saya pun akhirnya.. jadi iri hehe.

Saya lihat di source page ternyata situs itu berbasiskan WordPress dan menggunakan plugin W3 Total Cache. Pengalaman saya menggunakan plugin itu sih justru bikin blog saya makin lambat kurang lebih 1-3 detik.

Lalu saya mencari cara lain kira-kira apa yang bisa dilakukan untuk mempercepat loading page, dan ini dia yang saya lakukan;

HTTP Keep-Alive
Dengan mengaktifkan keep-alive akan membuat web server terasa lebih responsif dan menurunkan beban CPU, karena client dan server tidak perlu terus-terusan melakukan SYN / ACK dan menunggu respon. Tapi sebaiknya gunakan nilai time out / idle yang rendah agar tidak menghabiskan resource memory. Pada Lighttpd (/etc/lighttpd/lighttpd.conf) konfigurasinya seperti ini;

server.max-keep-alive-requests = 16
server.max-keep-alive-idle = 30
server.max-read-idle = 60
server.max-write-idle = 360

Install eAccelerator
eAccelerator adalah PHP accelerator – optimizer opensource dan gratis. Dengan menggunakan eAccelerator maka PHP scripts akan di-cache dalam keadaan sudah terkompilasi (HTML), sehingga proses kompilasi script PHP yang memakan waktu tidak perlu lagi dialami oleh client (browser). eAccelerator juga mengoptimasi scripts untuk mempercepat proses eksekusinya. Pada umumnya dengan menggunakan metode ini server load akan berkurang dan mempercepat PHP scripts 1 sampai 10 kali lipat. Release terakhir adalah versi 0.9.6.1 yang mendukung PHP 5.3, 5.2, dan 5.1. Cara instalasinya sebagai berikut;

apt-get update && apt-get upgrade && apt-get install php5-dev

Sekarang download eAccelerator di situsnya http://eaccelerator.net/ (atau dari blog saya ini, karena situs resminya sering down) dan install dengan cara;

cd /usr/src wget https://ariw.net/files/eaccelerator-0.9.6.1.zip
unzip eaccelerator-0.9.6.1.zip
cd eaccelerator-0.9.6.1 phpize
./configure make make install

Berikutnya kita integrasikan eAccelerator dengan PHP5. Pada Debian Squeeze (seharusnya pada versi Debian lainnya pun sama) konfigurasi untuk modul PHP terletak di direktori /etc/php5/conf.d/

Buat eaccelerator.ini file;

cd /etc/php5/conf.d/ touch eaccelerator.ini

dan isikan parameter-parameter berikut di dalamnya;

extension="eaccelerator.so"
eaccelerator.shmsize="16"
eaccelerator.cachedir="/var/cache/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.checkmtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shmmax="0"
eaccelerator.shmttl="0"
eaccelerator.shmpruneperiod="0"
eaccelerator.shmonly="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"

sekarang buat direktori /var/cache/eaccelerator dan setting supaya writeable;

mkdir /var/cache/eaccelerator chmod 777 /var/cache/eaccelerator

langkah terakhir adalah restart webserver;

/etc/init.d/lighttpd restart

Kita bisa mengecek apakah eAccelerator sudah terintegrasi atau belum dengan execute perintah;

php -v

dan jika eAccelerator sudah berjalan dengan sempurna, hasilnya kurang lebih akan seperti ini;

PHP 5.3.3-7+squeeze1 with Suhosin-Patch (cli) (built: Mar 18 2011 17:22:52) Copyright (c) 1997-2009 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies with eAccelerator v0.9.6.1, Copyright (c) 2004-2010 eAccelerator, by eAccelerator

Uninstall MySQL Server 5 dari Debian

Saya bener2 mengacaukan MySQL server semalam. Niat awalnya mau upgrade MySQL server 5.1 menjadi 5.5, tapi yang terjadi adalah setelah upgrade MySQL 5.5 ngga bisa start. Mungkin ada perbedaan konfigurasi, karena pada versi 5.1 sebelumnya saya menggunakan konfigurasi yang sudah dicustom untuk lowend VPS.

Beruntung ada VPS backup yang sudah terinstall MySQL 5.1, jadi website masih tetap bisa online setelah melakukan backup-restore database.

Balik lagi ke urusan MySQL 5.5 yang ngadat tadi, saya pun akhirnya mencoba untuk meng-uninstall MySQL server 5.5 tersebut, termasuk menghapus data yang terletak di /var/lib/mysql. Dan ketika saya coba execute perintah

apt-get remove --purge mysql-server

perintah tadi cuma menghapus sesuatu yang berukuran ~86 kilobytes. Sepertinya “mysql-server” itu sebuah shortcut. Nama software yang sebenarnya adalah “mysql-server-5.1” atau “mysql-server-5.5”. Disuruh start ngga mau, tapi di-uninstall juga ngga bisa, mengecewakan sigh.

OK lalu saya mencoba perintah berikut untuk menghapus MySQL server:

apt-get remove --purge mysql-server*

yep, dan akhirnya seluruh instalasi MySQL server musnah, bersih!

Virtual Host Pada LIGHTTPD

Seperti yang sudah saya jelaskan di post sebelumnya, salah satu alasan saya menyenangi Lighttpd (dibaca “Lighty”) web server adalah kemudahannya dalam mengkonfigurasi virtual host. Secara garis besar, kita hanya perlu melakukan satu kali konfigurasi pada sebuah file dan selanjutnya untuk menambah virtual host cukup membuat direktori yang nantinya akan digunakan sebagai document-root virtual host tersebut. Langkah detailnya akan saya jelaskan di bawah ;)Pertama, edit file lighttpd.conf dan pastikan “modsimplevhost” telah di-uncomment dalam variabel server.modules:

server.modules = ( "modsimplevhost", "modaccess", "modaccesslog" )

Berikutnya buka file “/etc/lighttpd/conf-enabled/10-simple-vhost.conf” dan edit sesuai kebutuhan, contoh:

simple-vhost.server-root = "/var/www/vhosts/" simple-vhost.default-host = "default.vhost.com" simple-vhost.document-root = "/"

Ketika Lighttpd menerima request untuk suatu website / virtual host (misal koole.com), maka Lighty akan mengecek apakah direktori simple-vhost.server-root + ‘koole.com’ + simple-vhost.document-root ada atau tidak. Jika ada (yaitu misal “/var/www/vhosts/koole.com/”) maka halaman web dalam direktori tersebut akan ditampilkan.

Direktif “simple-vhost.default-host” adalah untuk mendefinisikan virtual host / folder apa yang akan ditampilkan jika virtual host yang diminta tidak ada. Semisal jika ada request domain andi.com dan ternyata domain tersebut tidak terdaftar pada server, maka isi dari direktori /var/www/vhosts/default.vhost.com yang akan ditampilkan.

Untuk menambahkan situs / virtual host baru, kita cukup membuat direktori di bawah simple-vhost.server-root (misal /var/www/vhost):

/var/www/vhosts/jaka.com/ /var/www/vhosts/budi.com/ /var/www/vhosts/danang.com/

dan seterusnya..

Gimana, sudah mengerti belum? Awalnya saya juga sempat bingung dengan konsepnya, tapi setelah dipraktekkan ternyata simpel sekali 😉

Write failed: Broken pipe

Setiap kali selesai re-install system / VPS, saya harus langsung menambahkan direktif berikut ini di /etc/ssh/sshd_config untuk menghindari pesan error “Write failed: Broken pipe

ClientAliveInterval 10

Error ini disebabkan karena koneksi yang ngga stabil atau lambat (biasanya pada koneksi 3G / mobile broadband), sehingga session menjadi time out. Dengan menambahkan direktif tersebut maka server akan memberikan “keep-alive pulse” setiap 10 detik kepada client untuk menjaga TCP session.