Theppitak's blog

My personal blog.

23 สิงหาคม 2547

Webmail

เมื่อวานลองนั่งเซ็ตเว็บเมลเล่นๆ หลังจากที่เซ็ต DNS และ exim4 ให้รับ-ส่งเมลได้ตามปกติไปแล้ว ได้ผ่านคอร์ส webmail ของ อ.ต่าย ก็รู้สึกว่าขั้นตอนการติดตั้งไม่ได้มากมายอะไร ในชั้น ลง postfix เป็น MTA ตามด้วย uw-imapd เพื่อให้บริการ IMAP แล้วลง squirrelmail ต่อ เซ็ตนิดเซ็ตหน่อยก็ได้แล้ว (นับว่าประสบความสำเร็จนะเนี่ย ที่ทำให้เรื่องที่ผมเคยคิดว่ายุ่งยาก ดูง่ายดายขนาดนี้)

แต่ว่า ก่อนหน้านี้ เคยค้น debian archive เจอ imap server หลายตัว นอกเหนือจาก uw-imapd ก็มี courier แล้วก็ cyrus ยังเลือกไม่ถูก แต่โดยส่วนตัวจะคุ้นกับ uw-imapd มากกว่า เพื่อเป็นการทดสอบไอเดีย ก็เลยใช้ uw-imapd ไปก่อน

พอมาถึง webmail interface ปรากฏว่ามีตัวเลือกให้มากมาย เท่าที่เจอใน debian archive ก็มี

  • squirrelmail (php4)
  • sqwebmail (จาก courier)
  • postman (ของ U. of Valencia เป็น C/C++ CGI สามารถ connect ได้ทั้ง IMAP และ NNTP สนับสนุนหลายภาษา)
  • openwebmail (perl)
  • imp3 (จาก horde project ใช้ php4)
  • ilohamail (fork จาก imp3 พัฒนาเพิ่มเติมมากมาย)

ก็เลยเริ่มทดลองทีละตัว

  • postman เลือกตัวนี้ก่อนเพราะเล็กสุด และเห็นเป็น C/C++ CGI น่าจะเร็วดี พอลงแล้ว ระบบ debconf ยังไม่ติดตั้งอะไรให้ แต่มีไฟล์ตัวอย่างให้ copy ก็จัดการเอามาแก้ หน้าเว็บใช้ HTML4 กับ Javascript อีกนิดหน่อย มี MOTD แต่พยายามเซ็ตให้มันเลือกหน้าภาษาไทยไม่สำเร็จ บวกกับพอ login ก็มีปัญหาเรื่องการ authenticate IMAP กับ uw-imapd อีก เลยข้ามตัวนี้ไปก่อน
  • squirrelmail ตัวนี้น่าจะเซ็ตง่าย แต่พอถึงตอน authenticate IMAP กลับมีปัญหากับ uw-imapd อีก ความจริงตัวนี้ดูน่าใช้ แต่ผมเซ็ต uw-imapd ไม่เป็นเอง อย่างไรก็ดี ความที่อยากทำขั้นแรกให้ผ่านก่อน ก็เลยข้ามตัวนี้ไปอีก
  • imp3 ตัวนี้ ติดตั้งแล้ว ทำ alias ใน apache และ apache-ssl อีกนิดหน่อย ก็เริ่มใช้ได้เลย (จิ๊ก config บางส่วนเพื่อ detect HTTPS มาจาก squirrelmail) และดูเหมือนจะคุยกับ uw-imapd รู้เรื่องเลยด้วย และที่สำคัญ มีคำแปลภาษาไทยแล้วด้วย! ดูจาก credit ผู้แปลมากจากมหาวิทยาลัยราชภัฏราชนครินทร์ ขอคารวะขอบคุณมา ณ ที่นี้ ทดลองใช้ดูแล้ว interface ก็สวยดี ฟังก์ชันครบครัน

จบเมื่อวาน ก็เลยได้ webmail ที่ใช้ได้ โดยใช้ exim4 + uw-imapd + imp3 แต่ถ้าคิดจะให้บริการผู้ใช้จำนวนมาก อาจต้องคิดเรื่องการ scale ให้ดี ก็เลยเข้ามาปรึกษาเพื่อนๆ ที่ #tlwg ปรากฏว่า ได้คำอธิบายละเอียดเรื่อง courier กับ cyrus จาก suchness ทำให้เข้าใจขึ้นเยอะ และหลายคนก็แนะนำให้ใช้ postfix + courier ซึ่งจากเหตุผลเกี่ยวกับการใช้ Maildir ที่มีประสิทธิภาพกว่า mbox ตามแบบฉบับ ก็เลยตกลงใจว่า ควรเลิกใช้ uw-imapd แล้วหันมาเลือกใช้ courier หรือ cyrus โดยดูจากความยากง่ายในการ config ก็คิดว่า courier น่าจะเหมาะ

วันนี้เลยมาถอด uw-imapd ออกเสีย แล้วใช้ courier-imap แทน แต่ทั้งนี้ ก็ต้องเซ็ต exim4 ให้คัดแยกเมลลง Maildir แทน mbox spool ด้วย ตรงนี้ต้องแก้ config file ตรงๆ เพราะ debconf ของ debian ยังไม่มีตัวเลือกให้ โดยไปแก้ไฟล์ /etc/exim4/exim4.conf.template ตรงบรรทัด:

LOCAL_DELIVERY=mail_spool
ให้เป็น
LOCAL_DELIVERY=maildir_home
แล้วสั่ง
# dpkg-reconfigure exim4-config
เป็นอันเสร็จพิธี จากนั้นก็ทดลองส่งเมลหาตัวเอง ก็พบไฟล์ใหม่ใน ~/Maildir/new จากนั้น ตรวจสอบ config ด้วย courier-webadmin รอบหนึ่ง แล้วใช้ mutt จากเครื่องอื่นเปิด imaps mail box ก็ใช้ได้เลย รวมทั้ง webmail ผ่าน imp3 ก็ใช้ได้ด้วย

ทีนี้ มีปัญหาหนึ่งเกี่ยวกับการเลือก webmail ที่คุยกันใน #tlwg คือ imp3 มัน connect IMAP ช้า วันนี้ก็เลยลอง ilohamail อีกตัว ซึ่งโฆษณาไว้ว่า ทำ IMAP cache ด้วย ลองใช้ดูก็พบว่า interface คล้าย imp3 มากๆ จะต่างกันก็ในรายละเอียดเล็กน้อยเท่านั้น แต่เงื่อนไขหนึ่งที่ทำให้ชะลอ ilohamail ไปก่อน ก็เพราะ login interface มันมีช่องต้องกรอกมากเกินไป เกรง user จะงง แถมไม่มีคำแปลภาษาไทยด้วย ก็เลยกลับมาหา imp3 ตามเดิม แต่ทำ IMAP cache ด้วย IMAP Proxy แทน ซึ่งจะช่วยคง IMAP connection ไว้หลังจากที่ webmail เสร็จการติดต่อในแต่ละครั้ง พอเข้ามาครั้งใหม่ก็ request ต่อได้เลย โดยไม่ต้อง login ใหม่ทุกครั้งไป ก็น่าจะแก้ปัญหาได้แล้วน่ะ

สรุป webmail config ในวันนี้คือ exim4 (Maildir) + courier + imapproxy + imp3

อีกแบบหนึ่งที่น่าสนใจ คือใช้ sqwebmail ที่มากับ courier เพราะ webmail ตัวนี้ ไม่ได้ติดต่อ mail box ผ่าน IMAP แต่อ่าน Maildir โดยตรง ทำให้รวดเร็วยิ่งขึ้น ทดลองใช้ดู ฟังก์ชันต่างๆ ก็ครบครันดี มีปฏิทินให้ด้วย ติดอยู่ที่ หน้าตายังต้องปรับปรุง ผู้ใช้ใหม่ยังเดาปุ่มต่างๆ ได้ยาก และข้อความยังไม่เป็นภาษาไทย ความจริงถ้าไม่ติดเรื่อง interface นี้ ลง courier ทั้งเซ็ตก็ดูจะครบวงจร

ว่าแล้วก็กลับไปลอง squirrelmail อีกครั้ง หลังจากลง courier แล้ว คราวนี้เข้าใช้งานได้สมบูรณ์ สามารถปรับแต่งอะไรๆ ได้ง่าย ฟังก์ชันก็ครบดี สมกับเป็น webmail ที่มี rating สูง ไม่แน่ อาจจะใช้แทน imp3 แต่ตอนนี้ ลงไว้เปรียบเทียบกันก่อน

สำหรับ postman นั้น คงไม่กลับไปลองอีก เพราะ customize ยาก หลายอย่างดูจะออกแบบไว้ใช้กับมหาวิทยาลัยเขาโดยเฉพาะ

ตอนนี้ก็เหลือ openwebmail สินะ ที่ยังไม่ได้ลอง

Update: ลอง openwebmail แล้ว เกือบจะเป็นคำตอบสำหรับ sqwebmail ได้เลยแหละ เพราะ openwebmail อ่านเมลจาก mail box โดยตรง ไม่ผ่าน IMAP, มี feature ครบครัน, มีภาษาไทย ขาดอย่างเดียวคือ ไม่สนับสนุน Maildir อ่านแต่ mbox ครับท่านผู้ชม (เข้าไปเช็กที่เว็บ พบว่ามี unofficial patch สำหรับ Maildir อยู่.. แต่ขี้เกียจ build เองง่ะ)

0 ความเห็น:

แสดงความเห็น (มีการกลั่นกรองสำหรับ blog ที่เก่ากว่า 14 วัน)

<< กลับหน้าแรก

hacker emblem