เซ็ตเมล์บน ubuntu ด้วย EXIM4 + Squirrelmail + Dovecot

โดย อดิศร  ขาวสังข์
เขียนเมื่อ 28/02/2006
ทดลองบน ubuntu 5.10

บทนำ
Exim4 เป็น Mail Transport Agent (MTA) ที่ใช้กันบน Debian และ ubuntu ในที่จะประกอบด้วยการติดตั้งโปรแกรม :

  • exim4 ซึ่งเป็นส่วนของ SMTP
  • exim4-config ซึ่งเป็นโปรแกรมช่วยในการคอนฟิก exim4
  • Dovecot เป็นส่วนของ IMAP และ POP
  • และ Squirrelmail เป็น Webmail

โดยการติดตั้งจะทำผ่านโปรแกรม apt-get ครับ

เตรียมตัวก่อนติดตั้ง
ในที่นี้ผู้เขียนขอทดลองติดตั้งบนสมมุติฐานของ Mail Server จริง ๆ กล่าวคือจะิิติดตั้งบนเครื่องที่มีชื่อ host เป็น mail.itwizard.info ซึ่งเป็น mx type ของโดเมน itwizard.info ดังรูป

ขั้นตอนการติดตั้ง exim4 และ exim4-config

  1. ติดตั้งโปรแกรมโดยใช้คำสั่ง apt-get install ดังรูป



  2. เลือกชนิดของการคอนฟิกซึ่งในที่นี้เืลือกเป็น internet site ดังรูป



  3. ติดตั้งโปรแกรม exim4-config ด้วยคำสั่ง apt-get install ดังรูป แต่จะเห็นว่าไม่มีการติดตั้งโปรแกรมเพิ่ม  ซึ่งแสดงว่ามีการติดตั้งให้แล้วตอนที่ติดตั้งโปรแกรม exim4



  4. เริ่มคอนฟิก exim4 ด้วยเครื่องมือ exim4-config ที่ได้ติดตั้งไว้แล้วด้วยคำสั่ง dpkg-reconfigure exim4-config ดังรูป



  5. เราสามารถแยก (split) ไฟล์คอนฟิกเป็นไฟล์เล็กย่อย ๆ ได้  แต่ในที่นี้ตอบ No เพื่อไม่แยกย่อย ดังรูป



  6. เลือกชนิดคอนฟิกเป็นแบบ internet site ดังรูป



  7. ป้อนชื่อของ hostname ที่จะปรากฎในชื่อของ email address ซึ่งในที่นี้เรากำลังเซ็ต Mail Server ของโดเมน itwizard.info ก็เลยให้ป้อนชื่อของโดเมน ดังรูป ในกรณที่ีไม่เป็นเมล์ของโดเมนก็ให้ป้อนชื่อ host นะครับเช่นอาจเ็ป็น mail.itwizard.info



  8. ให้ป้อน IP Address ของ SMTP Connection ที่จะยอมให้เืชื่อมต่อเข้ามา   แต่ในที่นี้เราจะยอมรับเมล์จากทุกที่ ฉะนั้นก็ให้เว้นว่างไว้เพื่อเป็นการยอมรับ SMTP จากทุกที่ ดังรูป



  9. ตรงนี้เข้าใจว่าให้ป้อนชื่อของโดเมนปลายทางต่าง ๆ (โดเมนปลาทางของคนอื่นที่ส่งเมล์มาหาเรา) ที่จะยอมรับเมล์ ซึ่ง Server หนึ่งเครื่องอาจจะเป็น Mail Server ให้กับหลายโดเมน  ดังนั้นถ้าเป็น Mail Server ให้กับโดเมนไหนก็ให้ป้อนชื่อเข้าไปด้วย โดยกั้นระหว่างชื่อโดเมนด้วยเครื่องหมาย โคลอน



  10. ให้ป้อน networks ที่จะยอมรีเลย์เมล์ให้  ซึ่งหมายถึงถ้ามีการใช้งานเมล์ประเภท mail client เช่น outlook เป็นต้น เราต้องกำหนดตรงนี้ว่าจะยอมให้ mail client จาก networks หรือ IP ไหนที่สามารถใช้งาน Server ได้ ดังรูป



  11. ตรงนี้เป็นเรื่องของการเชื่อมต่อที่มีการเชื่อมต่อผ่าน Dial-on-Demand ซึ่งในที่นี้ไม่ใช้จึงตอบ No



  12. โปรแกรม exim4 จะมีไฟล์คอนฟิกอยู่ที่ /etc/exim4 ดังรูป



  13. และค่าคอนฟิกทั้งหมดที่เราได้ทำมาจะอยู่ในไฟล์ update-exim4.conf.conf โดยในไฟล์จะมีข้อมูลเป็นดังนี้



  14. เืมื่อคอนฟิกด้วย exim4-config เสร็จแล้วอาจต้องมีการ restart ตัว exim4 ซักครั้งด้วยคำสั่ง sudo /etc/init.d/exim4 restart  จากนั้นให้ตรวจสอบดูว่า SMTP ทำงานแล้วยังด้วยคำสั่ง netstat และควรจะได้ผล 2 บรรทัดดังรูป


ขั้นตอนการติดตั้ง POP และ IMAP

  1. ค้นหาโปรแกรมที่เกี่ยวกับ POP หรือ IMAP ด้วยคำสั่ง apt-cache search pop3 ดังรูป



  2. แล้วก็เจอโปรแกรมประเภทนี้เพียบเลยใครถนัดตัวไหนก็เลือกเอา  แต่ผู้ใช้เคยใช้โปรแกรมที่ชื่อ dovecot ซึ่งมีทั้ง POP และ IMAP เลยขอเลือก dovecot นะครับ



  3. จากนั้นติดตั้ง dovecot ด้วยคำสั่ง apt-get install dovecot ดังรูป



  4. เข้าไปเปิดไฟล์คอนฟิกของ dovecot คือ /etc/dovecot/dovecot.conf ดังรูป เพื่อคอนฟิกเพิ่มเติม



  5. จากนั้นกำหนดโปรโตคอบที่จะใช้งานคือ imap และ pop3 (protocol = imap pop3) และกำหนดให้ ipap_listen และ pop3_listen เป็น * เพื่อรับการใช้งานจากทุกที่ ดังรูป



  6. จากนั้นก็สั่งให้ restart อีกซักทีหนึ่ง ดังรูป



  7. แล้วก็ลองตรวจสอบดูว่า IMAP และ POP3 ทำงาน OK แล้วยังด้วยคำสั่ง netstat ดังรูป



  8. ต่อไปเป็นขั้นตอนการทดสอบการรับและส่งเมล์ผ่านโปรแกรม Mail Client ซึ่งในที่นี้ผู้เขียนขอทดสอบโดยใช้โปรแกรม Evolution Mail ที่มีอยู่บน ubuntu ครับ  โดยเซ็ตค่าของ Server ในการรับเมล์เป็น POP, Server ในการส่งเมล์เป็น SMTP ดังรูป และทำการทดสอบการส่งเมล์ซึ่งในที่นี้ส่งเมล์ไปยัง ksorn@south.cattelecom.com ดังรูป







  9. และเมื่อไปเปิดเมล์ที่ south.cattelecom.com สามารถจะรับเมล์ได้ดังรูป   และเมื่อลอง reply จาก south.cattelecom.com สามารถจะรับเมล์ได้ดังรูปถัดไป




ขั้นตอนการติดตั้ง Squirrelmail

  1. ติดตั้ง Squirrelmail ด้วยคำสั่ง apt-get install ดังรูป



  2. ให้ทำการก็อปปี้ไฟล์ /etc/squirrelmail/apache.conf ไปไว้ที่ไดเร็คทอรี่ /etc/apache2/conf.d ซึ่งไฟล์ทุกไฟล์ที่อยู่ภายใต้ไดเร็ีคทอรี่นี้จะถูกเรียกใช้งานจาก Apache เสมอ  โดยข้อความในไฟล์นี้เป็นการสร้าง Alias ดังรูปถัดไป จากนั้นก็ให้ restart apache2 อีกครั้ง

    อีิกวิธีหนึ่งที่ไม่ต้องมีการก็อปปี้ไฟล์ดังกล่าว คือการเพิ่มข้อความว่า include /etc/squirrelmail/apache.conf ไว้ในไฟล์คอนฟิกของ Apache คือไฟล์ /etc/apache2/apache2.conf ก็มีค่าเหมือนกันครับ





  3. และโดยปกติแ้ล้วหลังจากที่เราติดตั้ง squirrelmail เสร็จแล้วจะมีการบอกที่หน้าจอว่าให้เรารันไฟล์ /usr/sbin/squirrelmail-configure เพื่อทำการคอนฟิก Squirrelmail ดังรูป  ซึ่งเมื่อรันแล้วก็จะมีเมนูให้เราเซ็ตค่าต่าง ๆ ขึ้นมา  แต่ในที่นี้จะไม่กล่าวถึง เพราะ่ค่าที่เป็น default ของมันก็สามารถใ้ช้งานได้แล้ว แต่ในทางที่ดีควรจะไปปรับเปลี่ยนค่าให้ตรงกับที่ใช้งานนะครับ




  4. จากนั้นก็ให้ลองเปิดใช้งานเว็บเมล์ดูโดยให้เรียกโดยมี Alias เป็น /squirrelmail ดังรูป ซึ่งจริง ๆ แล้วของผู้เขียนสามารถเรียกใช้งานเป็น http://mail.itwizard.info/squirrelmail ครับ  แต่ภาพที่ capture มาเป็นการเรียกจาก localhost



  5. จากนั้นก็ให้ทดลองรับส่งเมล์ดู  ซึ่งในที่นี้ผู้เขียนได้ลองรับส่งกับเมล์ของโดเมน south.cattelecom.com ซึ่งสามารถรับส่งได้  ดังรูป



จบครับ