Part 3 transfer system
โครงสร้างพื้นฐานของระบบอีเมล นาย ก. MUA ของนาย ก. MTA ของนาย ก. MTALDA mailbox ของนาย ข. notifier ของนาย ข. MUA ของนาย ข. นาย ข. MUA – Mail User Agent MTA – Mail Transfer Agent LDA – Local Delivery Agent เครื่องผู้ส่ง เครื่องผู้รับ
โปรโตคอลที่เกี่ยวข้อง Simple Mail Transfer Protocol (SMTP) รับส่งเมล Post Office Protocol (POP) อ่านเมลแบบออฟไลน์ Internet Message Access Protocol (IMAP) อ่านเมลแบบออนไลน์
สถานการณ์ตัวอย่าง จุดมุ่งหมาย ติดตั้งระบบเมลภายในองค์กรขนาดใหญ่ ให้บริการรับส่งเมลผ่านเว็บเบราเซอร์ ค้นหารายละเอียดของบัญชีผู้ใช้จาก LDAP ซึ่งสามารถ ใช้เข้าสู่ระบบได้ทั้งยูนิกส์และวินโดส์
ซอฟต์แวร์ที่เกี่ยวข้อง LDAP OpenLDAP SMTP Sendmail Postfix IMAP Dovecot IMAP Cyrus IMAP Webmail Squirrelmail IMP
แผนภูมิต้นไม้แบบย่อ c=TH o=Traincorp1 cn=Managerou=People uid=userauid=userb
รายละเอียดบัญชีผู้ใช้ uid=usera,ou=People,o=Traincorp1,c=TH ค่าที่สำคัญ uid - ชื่อบัญชี userPassword - รหัสผ่าน cn - ชื่อเต็ม givenName - ชื่อในสมุดที่อยู่ sn - นามสกุลในสมุดที่อยู่ mail - เมลหลัก gecos - รายละเอียด ( ชื่อเต็ม ห้อง เบอร์โทรศัพท์ ) telephoneNumber - เบอร์โทรศัพท์ roomNumber - ห้อง
สร้างบัญชีผู้ใช้ใหม่ สร้างไฟล์ ssy.ldif dn: uid=ssy,ou=People,o=Traincorp1,c=TH uid: ssy cn: Somsak Sriprayoonsakul telephoneNumber: ext roomNumber: HPCNC 4th Floor givenName: Somsak sn: Sriprayoonsakul mail: objectClass: person objectClass: organizationalPerson objectClass: inetOrgPerson objectClass: posixAccount objectClass: top objectClass: shadowAccount userPassword:: e2NyeXB0fSQxJEpkMXkyVWFiJEs2V0ZvYzlxOTl0T2pzQlBUMFNUci4= shadowLastChange: shadowMax: shadowWarning: 7 loginShell: /bin/bash uidNumber: 507 gidNumber: 100 homeDirectory: /home/ssy gecos: Somsak Sriprayoonsakul,HPCNC 4th Floor, ext สั่ง ldapadd ldapadd -x -W -D "cn=Manager,o=Traincorp1,c=TH" -f new_user.ldif
ปฏิบัติการ 1: เตรียมบัญชีผู้ใช้ใน LDAP สร้างบัญชีผู้ใช้ usera userb และ userc ลบบัญชีผู้ใช้ userb
Sendmail SMTP Server Sendmail ได้รับความนิยมสูง ใช้งานกันอย่างแพร่หลายมากที่สุด การปรับแต่งค่อนข้างยาก ได้รับการติดตั้งมาพร้อมๆกับ Red Hat Enterprise Linux 4 อยู่แล้ว
การคอนฟิก Sendmail เบื้องต้น โดยปกติแล้ว Sendmail จะได้รับการติดตั้งให้เป็น default MTA บน Linux ตระกูล Red Hat Linux ทั้งหมด ค่าปริยายจะไม่อณุญาตให้ server ภายนอกส่งเมล์ มาที่เครื่องตัวเองได้เลย การปรับแก้ แก้ไข /etc/mail/sendmail.mc ให้อณุญาตให้รับเมล์ จากภายนอกได้ แก้ไข security level ให้อณุญาตให้ใช้งานพอร์ต 25 ได้
ปรับแก้คอนฟิกของ sendmail ให้อณุญาต การรับเมล์จากภายนอก แก้ไขไฟล์ /etc/mail/sendmail.mc โดยแก้ไข บรรทัด DAEMON_OPTIONS(`Port=smtp,Addr= , Name=MTA')dnl ให้เป็น DAEMON_OPTIONS(`Port=smtp, Name=MTA')dnl สร้างคอนฟิกไฟล์หลักของ sendmail ใหม่ make -C /etc/mail restart sendmail service service sendmail restart
เปิดไฟร์วอลล์สำหรับพอร์ต 25
ปฏิบัติการ 2: ติดตั้ง SMTP ปรับแต่ง sendmail ให้สามารถใช้งานได้ แก้ให้รับเมลจากเครื่องอื่นได้ ทดสอบรับส่งเมล โดยใช้ mail client เช่น thunderbird หรือ mozilla mail โดยใช้บัญชีผู้ใช้ที่ อยู่ในระบบ ldap ภายในเครื่อง ระหว่างเครื่อง
Dovecot IMAP ติดตั้งง่าย ใช้งานกว้างขวาง มีความปลอดภัยสูง ใช้งานได้ทั้งในระบบขนาดเล็กไปจนถึงระบบใหญ่ ได้รับการติดตั้งมาพร้อมๆกับ Red Hat Enterprise Linux 4 อยู่แล้ว
การทำงานของ Dovecot IMAP imapdauthdaemon Maildir clients slapd
เปิดการทำงานของ Dovecot IMAP เปิดทันที service dovecot start เปิดถาวร chkconfig dovecot on หากต้องการให้ใช้งาน imap หรือ pop ได้จาก ภายนอก จะต้องเปิดพอร์ท 110 และ 220 ที่ไฟร์ วอลล์ด้วย
ปฏิบัติการ 3: เปิดการทำงานของ Dovecot ทดลองอ่านเมลด้วย Mozilla โดย connect มาที่ Dovecot โดยใช้ user ที่อยู่บนระบบ ldap
Webmail Squirrelmail ขนาดเล็ก เรียบง่าย สนับสนุนการค้นหาชื่อผู้ใช้จากระบบ LDAP ติดตั้งมาพร้อมๆกับ Red Hat Enterprise Linux 4 สามารถเข้าใช้งานได้โดยทันที โดยเข้าใช้งานที่หน้าเวป /webmail ใช้งาน IMAP Server ในการอ่านเมล์
โครงสร้างการทำงาน PHP users slapd authdaemon IMAP SquirrelMail
เริ่มใช้งาน SquirrelMail
คอนฟิกให้ squirrelmail search address จาก ldap ได้ SquirrelMail บน RHEL4 สนับสนุนการค้นหาที่อยู่ AddressBook จาก LDAP ได้อยู่แล้ว แต่ต้องคอนฟิก เพิ่มเติมเพื่อบอกตำแหน่งของ LDAP Server เท่านั้น แก้ไขไฟล์ /etc/squirrrelmail/config_local.php และเพิ่ม คอนฟิกดังนี้ $ldap_server[0] = Array( 'host' => ‘localhost', 'name' => 'main ldap server', 'base' => 'ou=People,o=Traincorp1,c=TH' );
การค้นหา ผู้ใช้จาก Address Book เลือก Addresses ในหน้า Compose
การค้นหา ผู้ใช้จาก Address Book
สรุป ระบบ Transfer ประกอบไปด้วยหลายส่วน MTA - Sendmail รับส่งเมล์ และจัดเก็บเมล์ POP/IMAP - Dovecot ใช้สำหรับให้ client หรือ web-base อ่าน e- mail Web-base - SquirrelMail Web-base สำหรับองค์กร
ปฏิบัติการ 4: SquirrelMail ปรับแต่ง /etc/squirrelmail/config_local.php ให้ สนับสนุนการค้นหารายชื่อจาก LDAP ทดสอบผลการคอนฟิก โดยทดลองค้นหา address จากชื่อผู้ใช้ใน LDAP ทดลองส่ง ถึงผู้ใช้คนนั้น