Archive for the 'Tips and Tricks' Category

Published by Kalpin Erlangga Silaen on 08 Dec 2009

[FIX] PHP Session Failed

4fy2nnl.jpgSiang ini mendapat kasus baru mengenai adanya sebuah aplikasi cms berbasiskan php tiba-tiba tidak bisa berjalan dengan baik. Disamping itu, auth ke mysql via phpMyAdmin juga gagal. Saat itu, menjelang makan siang, dan karena sudah lapar, akhirnya saya melakukan troubleshoot tanpa melakukan analisa terlebih dahulu (wasting time). Hal pertama yang saya lakukan adalah Reset MySQL root password karena user juga lupa password root mysql. Setelah itu, saya melakukan perbaikan script phpmyadmin dari berbasiskan cookies menjadi config (auth langsung ke user/password yang ada di table user di database mysql).  Setidaknya dalam 15 menit, solusi untuk 1 kasus terselesaikan, dan saya berangkat makan siang. Setelah makan siang, saya kembali melakukan troubleshoot untuk kasus kedua, dimana user-user yang ada di cms tidak bisa login. Setelah saya analisa di log web server dan melakukan testing manual auth via console (dan berhasil auth via console, sementara via web tidak bisa alias gagal). Akhirnya saya ketemu setelah melakukan debug php. Penyebabnya adalah: Space hard disk di partisi /tmp penuh alias full. Seperti kita ketahui bahwa default penyimpanan temporary session php ada di /tmp (sess_xxxxxxx). Sulitnya lagi adalah, bahwa ternyata partisi / sangat kecil sekali. Jadi yang saya lakukan adalah memindahkan temporary /tmp ke /var yang lebih besar, dan juga melakukan pemindahan beberapa folder non-system ke partisi yang lebih besar.

Konfirmasi dari user: Solved.
Pelajaran yang di dapat: Jika Anda menemukan kasus serupa, dimana tiba-tiba website/portal Anda tidak bisa menerima auth dengan benar, padahal Anda yakin user/password sudah benar maka coba periksa partisi temporary file Anda di sistem Anda (/tmp di linux)

Published by Kalpin Erlangga Silaen on 07 Oct 2009

Memperbaiki MySQL Database

Bagi Anda yang menjadi system administrator atau database administrator, khususnya yang berhubungan dengan sistem database mysql, pasti sering merasakan bahwa sistem terasa lambat, atau bahkan ada table yang rusak. Biasanya table atau database yang mengalami kerusakan disebabkan oleh server yang tidak proper di shutdown atau mungkin handler programnya yang tidak optimal. Tulisan kali ini, berisi panduan atau tips untuk memperbaiki table atau database yang rusak. Saya membagi 2 pilihan, yang mana bisa disesuaikan dengan kebutuhan anda. Hasilnya akan sama.
Beberapa asumsi:
- Anda menggunakan sistem operasi CentOS yang lokasi penyimpanan database mysql ada di direktori /var/lib/mysql
- Jika anda menggunakan sistem operasi lain, pastikan bahwa Anda memiliki myisamchk bawaan aplikasi mysql, dan sesuaikan dengan path atau direktori dimana database disimpan
- Anda backup seluruh database Anda dulu, sebelum dilakukan perbaikan
- Kerusakan database Anda oleh karena tip berikut, tidak menjadi tanggung jawab penulis :D
Continue Reading »

Published by Kalpin Erlangga Silaen on 07 Oct 2009

[Tips] psyBNC Hindari Spammer

TwistedShells_psyBNC_Tips.jpgBagi Anda yang sering menggunakan psyBNC, sering mendapat pesan spammer saat offline? maka dengan tip berikut, saatnya Anda bersih dari spammer saat Anda terputus dari server IRC (Internet Relay Chat).
Asumsi, supaya cara ini bermanfaat:
1. Anda menggunakan jaringan network DALnet atau AllNetwork, atau jika Anda cukup familiar dengan scripting di psyBNC maka script dibawah bisa Anda modifikasi/sesuaikan dengan IRC Network dimana Anda terkoneksi.
2. Anda mempunyai akses untuk menulis script ke psyBNC Anda, dan Anda adalah admin dari psyBNC anda.
3. Lokasi direktori Anda, adalah /home/$USERNAME/psybnc, dimana $USERNAME adalah login Anda ke shell.

Tipsnya adalah:
1. Login ke shell Anda
2. Masuk ke direktori script psyBNC Anda: cd $HOME/psybnc/scripts
3. Buat 1 file dengan nama DEFAULT.SCRIPT (huruf besar semua): touch DEFAULT.SCRIPT
4. Buka file DEFAULT.SCRIPT dengan editor yang anda sukai, misalnya menggunakan pico atau ee atau vi
pico DEFAULT.SCRIPT
5. Masukkan script berikut:
a. Untuk IRC Network AllNetwork
server NOTICE * * “*Notice from*” echo “mode $USERNICK +R”
b. Untuk IRC Network DALnet
server NOTICE * * “*For more information please visit*” echo “mode $USERNICK +Rws”
Script diatas akan membaca notice dari server dimana Anda terkoneksi, dan jika match maka, psyBNC Anda akan set +R nick Anda yang artinya, hanya nick yang teregister yang bisa kirim pesan ke psyBNC anda.
6. Dari IRC Client (misalnya mIRC) silahkan login ke psyBNC Anda, lalu ketik /sreload
Semoga bermanfaat

Published by Kalpin Erlangga Silaen on 20 Sep 2009

[Troubleshoot] Kernel: dst cache overflow

1_417120633m.jpgPernahkah anda mengalami masalah di server linux dengan pesan dibawah ini:

kernel: dst cache overflow
kernel: printk: 281 messages suppressed.
kernel: dst cache overflow
kernel: printk: 361 messages suppressed.
kernel: dst cache overflow

Jika iya, maka Anda bisa mengikuti troubleshoot dengan cara saya dibawah ini:

  • Cek routing cache yang ada di kernel: route -Cn | wc
    Anda akan melihat hasil seperti berikut: 4145 31077 314985 yang penting Anda lihat adalah angka pertama. Itu adalah current max cache yang ada di kernel Anda.
  • Cek isi max_size dari kernel cache Anda: cat /proc/sys/net/ipv4/route/max_size
  • Naikkan ukuran max_size tersebut: echo 32768 > /proc/sys/net/ipv4/route/max_size
  • Hal lain yang anda perlu pertimbangkan untuk optimize kernel (tanpa rekompilasi):

    echo 32768 > /proc/sys/net/ipv4/netfilter/ip_conntrack_max
    echo 120 > /proc/sys/net/ipv4/neigh/default/gc_stale_time
    echo 512 > /proc/sys/net/ipv4/neigh/default/gc_thresh1
    echo 2048 > /proc/sys/net/ipv4/neigh/default/gc_thresh2
    echo 4096 > /proc/sys/net/ipv4/neigh/default/gc_thresh3

Semoga berguna.

Published by Kalpin Erlangga Silaen on 02 Sep 2009

Menghapus Queue Qmail

Mungkin Anda pernah mengalami kejadian dimana email server Anda yang berbasis Qmail, mengalami masalah dengan queue yang sangat banyak, yang kemungkinan disebabkan oleh spam, bomb emails, back scatter, ataupun disebabkan oleh hal-hal lainnya. Jika queue yang ada hanya 10.000 – 20.000 maka tidak ada masalah, jika Anda cukup mengatasi penyebab masalah, dan kemudian dengan sabar menunggu queue habis. Tetapi apa jadinya, jika queue yang ada mencapai ratusan ribu atau sedang menunggu email yang sangat penting yang kemungkinan tidak akan terdeliver ke mailbox user, mungkin solusi untuk menghapus queue yang ada akan menjadi pilihan bijak. Silahkan anda login ke email server Anda dan buat file qmail-clean.sh dengan isi sebagai berikut:

qmailctl stop
cp -Rp /var/qmail/queue/ /var/qmail/queue.`date +%Y%m%d`
find /var/qmail/queue/mess -type f -exec rm {} \;
find /var/qmail/queue/info -type f -exec rm {} \;
find /var/qmail/queue/local -type f -exec rm {} \;
find /var/qmail/queue/intd -type f -exec rm {} \;
find /var/qmail/queue/todo -type f -exec rm {} \;
find /var/qmail/queue/remote -type f -exec rm {} \;
qmailctl start

Setelah itu, Anda eksekusi dengan perintah: sh qmail-clean.sh

Penjelasan isi script diatas adalah sebagai berikut:
1. Menghentikan proses qmail
2. Mengcopy/backup queue qmail menjadi direktori /var/qmail/queue.tanggalsaatini
3. Mencari file-file queue dengan status yang berbeda (ditandai dengan nama-nama direktori yang berkaitan)
4. Menjalankan kembali qmail

Next »