Masalah single-sign on(SSO) google apps selepas upgrade ke Ubuntu Hardy


Pada Januari tahun 2008, i-Learn telah mula menyediakan khidmat emel kepada pelajar. Khidmat ini berjalan lancar walaupun ada beberapa kekangan yang terpaksa dihadapi. Tetapi pada bulan 7, kami terpaksa memindahkan sistem i-Learn ke server yang baru kerana server lama sudah tidak mampu lagi menampung peningkatan storan.

Jadi kebetulan pada ketika itu Ubuntu 8.08 juga telah keluar, aku pun tanpa berpikir panjang telah menginstal server yang baru dengan Ubuntu Server 8.08. Secara overall memang tidak ada masalah dengan versi terbaru Ubuntu ini, apache2 dan mysql5 boleh diinstal dengan mudah dengan menggunakan command sudo apt-get install <apache2/mysql5>. As always …

Masalahnya PHP4 is no logger supported by Hardy, in fact versi terakhir yang support PHP4 adalah edgy. Jadi aku ada dua pilihan, downgradekan balik OS ni ke edgy atau pun aku boleh compile PHP4 secara manual, dan aku telah memilih untuk manually compile PHP4.

PHP4 compile so easily on Hardy and i-Learn seems to run smoothly after the server move. Masalahnya ialah coding untuk single-sign on ke Google berhenti berfungsi after the move. Selepas few hours troubleshooting the problem, aku discover yang masalahya terletak pada coding ini di file sam_util.php

function samlEncodeMessage($msg) {
$encmsg = gzdeflate($msg);
$encmsg = base64_encode($encmsg);
$encmsg = urlencode($encmsg);
return $encmsg;
}

Function diatas akan deflatekan message sebelum disend ke google dan masalahnya ialah, PHP perlu dicompile dengan option –with-zlib kalau tidak function gzdeflate() ini tidak available kepada PHP. Jadi selepas recompile code single-sign on anda berfungsi seperti biasa. InshaALLah.

  1. No comments yet.
(will not be published)