Akhir-akhir ini, server jasaIT suka tiba-tiba mati sendiri httpd-nya. Pada awalnya, saya tidak ‘ngeh’ juga karena di lihat dari error log maupun access log tidak menunjukan tanda-tanda aneh yang cukup berarti.
Hingga kejadian kemarin, akhirnya Saya harus melakukan troubleshoot lebih detail lagi. Saya tidak hanya mengandalkan error log dan access log dari httpd (apache log), tapi juga mencoba ‘melacak’ error ke file messages yang biasanya berisi informasi-informasi log di FreeBSD secara umum. Kemudian saya menemukan error berikut :
Oct 24 08:48:27 myserver kernel: pid 5439 (httpd), uid 80: exited on signal 6 Oct 24 08:48:27 myserver kernel: pid 5421 (httpd), uid 80: exited on signal 6 Oct 24 08:48:27 myserver kernel: pid 5353 (httpd), uid 80: exited on signal 6 Oct 24 08:48:27 myserver kernel: pid 5412 (httpd), uid 80: exited on signal 6 Oct 24 08:48:27 myserver kernel: pid 5394 (httpd), uid 80: exited on signal 6 Oct 24 08:48:27 myserver kernel: pid 5393 (httpd), uid 80: exited on signal 6 Oct 24 08:48:27 myserver kernel: pid 5423 (httpd), uid 80: exited on signal 6 Oct 24 08:48:27 myserver kernel: pid 5422 (httpd), uid 80: exited on signal 6 Oct 24 08:48:27 myserver kernel: pid 5438 (httpd), uid 80: exited on signal 6 Oct 24 08:48:27 myserver kernel: pid 5424 (httpd), uid 80: exited on signal 6
Dari beberapa forum diketahui bahwa error ini disebabkan oleh salah satu extension PHP (biasanya yang berfungsi sebagai akselerator). Ok, penyebabnya sudah diketahui langkah selanjutnya adalah me-nonaktifkan extensi yang dicurigai penyebab terjadinya “crash” web server saya. Dari extensions.ini yang ada di /usr/local/etc/php kemudian saya menemukan baris ioncube dari zend, yang kemudian dinonaktifkan dan hasilnya error tersebut menjadi hilang. berikut baris yang Saya nonaktifkan dengan menambahkan tanda pagar di awalnya :
#[Zend] #zend_extension="/usr/local/lib/php/20100525/ioncube/ioncube_loader.so" #zend_extension_ts="/usr/local/lib/php/20100525/ioncube/ioncube_loader_ts.so"
Dan webserver pun kembali normal… Alhamdulillah 🙂