|
การเซ็ต
Postfix Mail + cyrus-imapd + squirrelmail บน Fedora Core 3
รายละเอียดของบทความ
จัดทำเมื่อ
:
25 ธันวาคม 2547
แก้ไขล่าสุดเมื่อ : 15 เมษายน
2548
ทดลองใช้งานบน : RedHat Fedora Core 3
ผู้เขียน
:
อดิศร
ขาวสังข์
หมายเหตุ
การใช้งาน
IMAP & POP3 Server ที่เป็น cyrus-imapd
จะนิยมใช้งานกับ high-performance mail
คือใช้กับระบบเมล์ที่มีจำนวน user มาก ๆ
ฉะนั้นการคอนฟิกในส่วนของ cyrus-imapd
อาจจะมีความยุ่งยากอยู่บ้าง
ถ้าท่านไม่อยากเจอกับความยุ่งยากดังกล่าวก็ขอแนะนำให้ใช้ IMAP &
POP3 Server ที่เป็นของ dovecot
ซึ่งดูวิธีการคอนฟิกได้
ที่นี่ ครับ
ขอบเขต
ในที่นี้จะแสดงวิธีการติดตั้งโปรแกรม
Mail Server ที่เป็น Postfix Mail
และโปรแกรม Cyrus IMAP/POP Server
เพื่อให้เครื่องที่เป็น Mail Client
อย่าง MS Outlook ,Mozilla mail, Kmail,
Netscape mail ฯลฯ สามารถเรียกใช้งานได้
รวมถึงการใช้งานโปรแกรม squirrelmail
และโปรแกรมป้องกันไวรัส spamassasin
สรุปโปรแกรมที่ต้องติดตั้ง
มีดังนี้
1. Posfix Mail
2. Cyrus-imapd
3. Squirrelmail
4. Spamassassin
การติดตั้งโปรแกรม
ในที่นี้ขออนุญาตติดตั้งโปรแกรมผ่านเมนู
System Settings --> Add/Remove Applications
โดยให้เลือกโปรแกรมต่าง ๆ ดังรูปข้างล่าง

การคอนฟิก Posfix Mail
ในบทความนี้ได้ตั้งชื่อโฮสต์ให้กับ
Mail
Server
ไว้ใน DNS Server เป็น
mail.itwizard.info
และได้มีการเพิ่ม MX Record
ใน DNS
ของโดเมนแล้วด้วยฉะนั้นในการรับส่งเมล์สามารถใช้ชื่ออีเมล์เป็น
user@itwizard.info
ไฟล์คอนฟิกของ
Postfix Mail คือไฟล์
/etc/posfix/main.cf
โดยให้คอนฟิกค่าที่จำเป็นดังต่อไปนี้
1.
กำหนดค่า myhostname = mail.itwizard.info
เพื่อกำหนดชื่อ
hostname ใน
internet
2. กำหนกค่า mydomain = itwizard.info
เพื่อกำหนดชื่อของ local internet
domain
3. กำหนดค่า myorigin = itwizard.info
เพื่อใช้บอกว่าผู้รับเมล์ว่าเมล์มาจากโดเมนไหน
4.
กำหนดค่า inet_interface = all ซึ่งเป็นการกำหนด
network interface address ของ Mail
Server ที่ใช้ในการรับเมล์
5. กำหนดค่าของ mydestination =
itwizard.info
เพื่อกำหนดโดเมนปลายทางของของรับเมล์
6.
การคอนฟิกเพื่อจำกัดการ relay mail
ให้ดูในหัวข้อ "TRUST AND RELAY CONTROL"
ของไฟล์คอนฟิก /etc/postfix/main.cf
-
โดยให้กำหนดพารามิเตอร์ของ
mynetworks_style ว่ามีค่าเป็น class,
subnet หรือ host
-
โดยค่า default จะเป็น subnet
หมายถึงว่า postfix จะ
"trust" SMTP client
ที่มี IP
อยู่ในเครือข่ายเดียวกับ subnetwork
ที่เป็น local machine ซึ่งบน Linux
จะทำงานได้ถูกต้องเฉพาะ interfaces
ที่ถูกระบุด้วยคำสั่ง ifconfig
-
การกำหนดค่าเป็น class หมายถึง
postfix จะ "trust" SMTP client
ที่มี IP อยู่ใน
class เดียวกันกับเครือข่ายที่เป็น Local
machine
-
การกำหนดค่าเป็น
host หมายถึง
postfix จะ "trust"
เฉพาะ local machine
ในที่นี้กำหนดให้ค่าเป็น
subnet
เพื่อให้เครื่องภายในองค์กรค์สามารถส่งเมล์ผ่าน MS Outlook
หรือโปรแกรมประเภทเดียวกันได้
หรืออาจจะระบุค่า
mynetworks ให้เป็นแบบ list
ก็ได้ ซึ่งถ้าเป็นการระบุค่า
mynetworks โปรแกรม Postfix
จะไม่สนในค่า mynetworks_style โดยค่า
mynetworks ให้กำหนดค่า network
ที่อนุญาตให้ relay ได้
ซึ่งในที่นี้กำหนดเป็น network
ภายในของที่ใช้งานเป็นดังนี้
mynetworks = 202.129.16.0/26,
172.24.51.0/24, 127.0.0.0/8
7. ในบรรทัด
mailbox_transport
ให้กำหนดค่าเป็น lmtp:unix ดังนี้
mailbox_transport =
lmtp:unix:/var/lib/imap/socket/lmtp
7. ทำการ restart postfix
(หรือถ้ายังไม่ start ก็ให้ start)
ด้วยคำสั่ง service postfix restart/start
8. ให้ทดลอง telnet จากเครื่อง
client ที่พอร์ต 25 ดูว่าได้หรือไม่
ดังตัวอย่างต่อไปนี้
telnet mail.itwizard.info 25
ซึ่งถ้ามีข้อความเป็น 220 mail.itwizard.info
ESMTP Postfix ก็แสดงว่า Postfix
พร้อมที่จะให้บริการแล้ว
โดยชื่อที่เป็น mail.itwizard.info
ก็เป็นค่าของ myhostname
ที่ได้กำหนดไปก่อนหน้านี้นั่นเอง
การ
Start
ระบบ
Authentication
ให้ทำการทำการ
start saslauthd ซึ่งเป็น Server process
ที่รับผิดชอบเกี่ยวกับ plaintext
authentication request โดยใช้คำสั่งดังนี้
#service
saslauthd start
และควรให้โปรแกรมตัวนี้ทำงานทุกครั้งเมื่อมีการบู๊ตเครื่องก็ให้ใช้คำสั่งดังนี้
# chkconfig saslauthd on
หรือจะสั่งงานผ่านหน้าต่าง Service
ก็ได้นะครับ
การคอนฟิก Cyrus Imapd
ปกติถ้าใช้งานเมล์โดยใช้งานผ่านโปรแกรม mail client
อย่างเช่น Ms Outlook ,Kmail, Mozilla mail,
Netscape mail ฯลฯ ในส่วนของ cyrus imapd
ไม่ต้องทำการคอนฟิกก็สามารถใช้งานได้แล้วครับ
แต่ในกรณีที่ใช้งานกับ squirrelmail อาจจะมี
error ดังรูป

วิธีการแก้ปัญหาก็ให้ทำการเพิ่มส่วนคอนฟิกของ
cyrus imapd ซึ่งเป็นตัวที่ทำหน้าที่เป็น IMAP Server
และ POP Server
โดยไฟล์สำหรับการคอนฟิกคือ /etc/imapd.conf
โดยให้ทำการเพิ่มบรรทัดต่อไปนี้เข้าไป
munge8bit: no
autocreatequota: 10000
lmtp_overquota_perm_failure: yes
createonpost: no
altnamespace: yes
unixhierarchysep: yes
และให้ทำการ
restart cyrus-imapd
การคอนฟิก SquirrelMail
1.
เปลี่ยนไดเร็คทอรี่เข้าไปยังตำแหน่งที่มีไฟล์คอนฟิกของ
Squirrelmail ดังนี้
cd /usr/share/squirrelmail/config
2. รันไฟล์ที่ใช้ในการคอนฟิกคือ conf.pl
ดังนี้
./conf.pl
3 เลือกโดเมนให้ตรงกับโดเมนของตัวเองซึ่งในที่นี้เป็น
itwizard.info ดังนี้
- เลือกเมนู 2 (Server Settings)
- เลือกเมนูย่อย 1 (Domain)
- ป้อนชื่อโดเมน
(itwizard.info)
4. เลือกชนิดของ Mail Server
เป็น SMTP ดังนี้
- เลือกเมนูหมายเลข 2 (Server Settings)
- เลือกเมนูย่อย 3 (Sendmail
or SMTP
- เลือก SMTP
5. ให้เลือกชนิดของ IMAP เป็น
cyrus ดังนี้
- เลือกเมนูหมายเลข 2 (Server Settings)
- เลือกเมนูย่อย A
(Update IMAP Settings)
- เลือกเมนูย่อย 8 (Server
Software)
- เลือก cyrus
6. เลือกเมนูอื่น ๆ ตามความเหมาะสม
7. บันทึกค่าที่เซ็ตด้วยการเลือกเมนู S (Save data)
ทดสอบการส่งเมล์
มาถึงขั้นนี้ก็ให้ลองทดสอบการส่งเมล์ดู
โดยให้ทดสอบทั้งการรับส่งผ่าน
Squirrelmail และการใช้โปรแกรม Mail Client
ซึ่งเท่าที่ได้ทดลองดูแล้วถ้าได้ทำตามขั้นตอนดังที่กล่าวมาสามารถรับส่งเมล์ได้แล้วครับ
การคอนฟิก
spamassassin
ผมพยายามค้าหาวิธีการคอนฟิก spamassassin
แต่ต้องขออภัยด้วยครับ
ไม่สามารถจะหาข้อมูลที่พอจะนำมาเสนอได้เลย
อย่างไรก็แล้วแต่ถ้าท่านต้องการจะดูข้อมูลเพิ่มเติมเกี่ยวกับ
spamassasin ก็สามารถดูได้ที่นี่ครับ
http://spamassassin.apache.org/
----จบครับ---
|