Beberapa hal yang perlu diperhatikan saat akan migrasi ke GOsa
June 28th, 2004. Published under Ngoprek. No Comments.
Untuk keperluan migrasi dari qmailLDAP + courier imap ke postfix LDAP + cyrus imap (menggunakan GOsa sebagai alat bantu administrasi) di mail server comlabs, ada beberapa hal yang perlu diperhatikan:
- Untuk mempertahankan login yang mengandung karakter “.” (titik). Yaitu untuk user asisten yang menggunakan standar login hasil concat dari firstname dan lastname.
- Cyrus imap harus di set menggunakan unix hierarchy convention
# /etc/imapd.conf unixhierarchysep: yes
- GOsa secara default menolak login yang mengandung karakter “.” (titik). Sehingga perlu sedikit diubah di file/usr/share/gosa/include/functions.inc pada fungsi is_dn, is_uid
# dari preg_match (\"/^[a-z0-9 _-]+$/i\", $uid) # menjadi preg_match (\"/^[a-z0-9 _.-]+$/i\", $uid)
- GOsa secara default menggunakan cyrus standard internal name space, maka perlu diubah supaya bisa menggunakan alternative name space pada file /usr/share/gosa/plugins/personal/mail/class_mailAccount.inc, fungsi mailAccount.
# dari $this->folder_prefix= \"user.\"; # menjadi $this->folder_prefix= \"user/\";
- Cyrus imap harus di set menggunakan unix hierarchy convention
- Untuk tetap mempertahankan login dengan all numeric character (semuanya menggunakan angka atau diawali dengan angka), kode sumber cyrus harus sedikit diubah. Hal ini untuk mempertahankan skema login untuk mahasiswa, dimana loginnya adalah NIM dari mahasiswa tersebut.Secara default cyrus menolak autentikasi user yang login mailbox semuanya menggunakan angka . Edit file cyrus-[vers]/lib/auth_unix.c.
/* Copy the string and look up values in the allowedchars array above. * If we see any we don't like, reject the string. */ // ganti sawalpha = 0; // dengan sawalpha =1; sawalpha = 0; for(p = retbuf; *p; p++) { switch (allowedchars[*(unsigned char*) p]) { case 0: return NULL; case 2: sawalpha = 1; /* FALL THROUGH */ default: ; } }
- SHA encryption perlu ditambahkan di GOsa
# /usr/share/gosa/include/functions.inc case \"sha\": $newpass = \"{sha}\".base64_encode(mhash(MHASH_SHA1, $password)); break; # plugins/personal/generic/class_user.inc $hashes= array(\"crypt\", \"md5\", \"sha\", \"ssha\");