Published by Kalpin Erlangga Silaen on 04 Jan 2010

How to Upgrade FreeBSD 7.x to FreeBSD 7.2-STABLE

freebsd_logo.pngMengingat bahwa FreeBSD 7.0 sudah obselete dan tidak di support lagi oleh developer FreeBSD (EOL May 2009) maka saya memutuskan melakukan upgrade ke versi stable 7.x yaitu 7.2-STABLE. Mudah-mudahan panduan berikut bermanfaat buat Anda.

Step by step upgrade FreeBSD 7.0 ke FreeBSD 7.2-STABLE:

# cp /usr/share/examples/cvsup/standard-supfile /root/supfile
# vi /root/supfile

rubah 2 line berikut:

host=cvsup.jp.FreeBSD.org # ambil mirror utama Jepang
release=cvs tag=RELENG_7 # upgrade ke FreeBSD 7.2-STABLE

setelah file tersebut disimpan, dilakukan pen-download-an file dari mirror via cvs

# cd /usr/src
# csup /root/supfile

Setelah download selesai, lakukan perintah berikut secara berurutan. Dan jika ada error, segera BERHENTI !!!

# cd /usr/src/
# make buildworld
# make buildkernel
# make installkernel

atau jika kernel yang ada, sudah dikustom bisa menggunakan perintah berikut:

# make buildkernel KERNCONF=TS1
# make installkernel KERNCONF=TS1

dimana TS1 adalah nama kernel yang sudah ada sebelumnya (sesuaikan dengan nama kernel Anda). Harap diperhatikan bahwa kadang ada update atau fitur yang ada di rilis lama, tetapi sudah tidak ada atau tidak support lagi di kernel baru. Harap dibaca file /usr/src/UPDATING dan lihat di file konfigurasi kernel TS1 anda, dan sesuaikan !!!

setelah selesai kompilasi kernel baru, dan jika anda memiliki akses fisik ke server tersebut maka bisa Anda reboot dan masuk ke single user mode. Tetapi jika Anda melakukan ini melalui remote (ssh) maka lanjutkan perintah berikut:

# mergemaster -p

terima dulu secara default jika Anda diminta konfirmasi. Saya sarankan jangan melakukan penghapusan file lama !!! kecuali Anda tahu apa yang anda butuhkan dan Anda seorang expert.

Setelah itu, lakukan build world (rekompile seluruh binary yang ada)

# cd /usr/src
# make installworld

Lalu lakukan komparasi dan gabungkan (jika perlu) dengan perintah berikut:

# mergemaster -i

Saya sarankan Anda tidak menghapus file apapun, dan terima dulu defaultnya.
Setelah selesai, silahkan reboot server Anda.

# shutdown -r now

Setelah up, cek server Anda:

# uname -a

Semestinya akan seperti output berikut ini:

[root@www ~]# uname -a
FreeBSD www5.kalpin.us 7.2-STABLE FreeBSD 7.2-STABLE #0: Mon Jan 4 16:23:05 WIT 2010 root@www5.kalpin.us:/usr/obj/usr/src/sys/TS1 i386

Semoga bermanfaat.

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 20 Nov 2009

[Fix] FreeBSD: PHP Error setelah update

freebsd_logo.pngSiang ini saya melakukan update ports-ports FreeBSD 7.2-stable di 3 server yang dijadikan sebagai server cacti dan mrtg untuk customer. Setelah selesai makan, bermaksud mau melihat buku terbaru, tiba-tiba mendapat telepon dari NOC, bahwa salah satu server cacti untuk memonitor lokasi-lokasi vpn mengalami masalah dengan cacti, dimana graph tidak muncul. Troubleshoot pertama, adalah dengan melihat log cacti, dan ditemukan bahwa ada module yang tidak berhasil load, yaitu:

Unable to load dynamic library ‘/usr/local/lib/php/20060613/mysqli.so’ – /usr/local/lib/php/20060613/mysqli.so: Undefined symbol “spl_ce_RuntimeException” in Unknown on line 0

Saya kemudian remote ke server, dan melakukan debug manual terhadap php, dan hasilnya adalah sama

PHP Warning:  PHP Startup: Unable to load dynamic library ‘/usr/local/lib/php/20060613/mysqli.so’ – /usr/local/lib/php/20060613/mysqli.so: Undefined symbol “spl_ce_RuntimeException” in Unknown on line 0
PHP 5.2.11 with Suhosin-Patch 0.9.7 (cli) (built: Nov 20 2009 13:06:31)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies

Awalnya saya kuatir, jika ada module yang tidak terinstall secara sempurna, untuk itu, saya melakukan crosscheck dan ternyata module spl yang di”ribut”kan oleh mysql terinstall dengan baik. Akhirnya solusi ketemu, setelah saya buka file extensions.ini dan menempatkan spl.so sebelum mysqli.so dan problem solved.

Tips: jika suatu saat Anda melakukan upgrade terhadap Apache, mysql, dan php mungkin script berikut akan berguna bagi Anda, setelah melakukan upgrade ketiga software diatas:

#!/bin/sh

cp /usr/local/etc/php/extensions.ini{,.old}
cd /usr/local/lib/php/20060613
lorder *.so | tsort | tail -r | sed -e ’s/^/extension=/’ > /usr/local/etc/php/extensions.ini

Semoga bermanfaat.

Published by Kalpin Erlangga Silaen on 30 Oct 2009

NOC Midnight

Setelah melakukan migrasi 27 server, akhirnya tiba saatnya menghibur diri :)
Kalaaaaaaaaaaaaaappppppppppppp

Published by Kalpin Erlangga Silaen on 16 Oct 2009

Gempa 16 Oct 2009

earthquake.jpgGempa kembali mengguncang Jakarta, dan sebagian daerah Jawa Barat. Gempa berkekuatan 6,4 SR (Skala Richter) ditengarai bermagnitude 6,5 Mw berpusat di Ujung Kulon, Selat Sunda; 6,79 Lintang Selatan/105,1 Bujut Timur, 42 km barat laut Ujungkulon, dengan kedalaman 10 km. Saya merasakan gempa tersebut dilantai 10, lebih kurang 1 menit. Tetapi karena gempa cepat berhenti, akhirnya saya mengurungkan niat untuk keluar gedung.
Berikut detail gempa yang tercatat di Pusat Seismologi Denver, USA:

Magnitude 6.5 – SUNDA STRAIT, INDONESIA
2009 October 16 09:52:52 UTC
DetailsMaps
Earthquake Details
Magnitude 6.5
Date-Time Friday, October 16, 2009 at 09:52:52 UTC
Friday, October 16, 2009 at 04:52:52 PM at epicenter

Location 6.692°S, 105.153°E
Depth 55.6 km (34.5 miles)
Region SUNDA STRAIT, INDONESIA
Distances 137 km (85 miles) S (185°) from T.-Telukbetung, Sumatra, Indonesia
187 km (116 miles) W (278°) from Sukabumi, Java, Indonesia
187 km (116 miles) WSW (251°) from JAKARTA, Java, Indonesia

Location Uncertainty horizontal ± 12.3 km (7.6 miles); depth ± 17.5 km (10.9 miles)
Parameters NST= 33, Nph= 33, Dmin=350.5 km, Rmss=1.41 sec, Gp= 76°,
M-type=teleseismic moment magnitude (Mw), Version=7
Source U.S. Geological Survey, National Earthquake Information Center:
World Data Center for Seismology, Denver

Hingga pukul 17:20, terlihat orang-orang dievakuasi dari hotel J. W. Marriot dan beberapa lokasi perkantoran di Mega Kuningan. Dari beberapa kali kejadian gempa yang makin intensif, mungkinkah ini adalah fenomena biasa, atau “luar biasa”?

Next »