การย้าย Mailman: ติดตั้งโดยใช้ rpm package(ภาค 2)

สืบต่อจากเรื่อง การย้าย Mailman และปรับแต่งให้รองรับภาษาไทย ก่อนหน้านี้  วันนี้ระบบ mailing list มีปัญหาหลังจากการ upgrade OS โดยอีเมลอะไรก็ตามที่ส่งเข้า mailing list จะหายสาบสูญไปเลย โดยไม่มีอีเมลแจ้งบอกทั้งผู้ส่งและ moderator

ผมตรวจสอบดูแล้วก็หาสาเหตุไม่พบ และได้ลองทำการติดตั้งใหม่อีกครั้ง ปัญหาก็ยังไม่หายไป  ก็เลยตัดสินใจใช้ rpm package ติดตั้ง ด้วยคำสั่ง

# yum install mailman

หลังจากติดตั้งแล้วพบว่า โครงสร้างไดเรกทอรีของ mailman กระจายอยู่ตามที่ต่างๆ ได้แก่

  • /usr/lib/mailman เก็บตัวโปรแกรมหลักและไฟล์ที่ใช้ปรับแต่งระบบ
  • /var/lib/mailman เก็บข้อมูลของ mailing list ต่างๆ
  • /etc/mailman เก็บไฟล์ aliases ของ mailing list ต่างๆ
เมื่อโครงสร้างเปลี่ยนไปทำให้ต้องมีการตามปรับค่า config ต่างๆ ใหม่ไปด้วย
สำหรับวิธีการเพิ่มภาษาไทยนั้น ก็ยังจำเป็นจะต้องแก้ไขไฟล์ /usr/lib/mailman/Mailman/Defaults.py เช่นเดิม โดยให้เพิ่มบรรทัดต่อไปนี้ ที่กลุ่มคำสั่งเพิ่มภาษาต่างๆ  ซึ่งจะอยู่ที่บริเวณท้ายสุดของไฟล์
add_language('th',    _('Thai'),    'tis-620')
หลังจากนั้นแก้ไขไฟล์ /usr/lib/mailman/Mailman/mm_cfg.py ดังนี้
DEFAULT_URL_HOST   = 'list.domain.com' //ปรับแก้ไขค่าเดิม
DEFAULT_EMAIL_HOST = 'list.domain.com' //ปรับแก้ไขค่าเดิม
DEFAULT_CHARSET = 'tis-620' //พิมพ์เพิ่มเติม VERBATIM_ENCODING = ['tis-620'] //พิมพ์เพิ่มเติม DEFAULT_SERVER_LANGUAGE = 'th' //พิมพ์เพิ่มเติม

และเนื่องจาก alias ไฟล์ของ mailman อยู่ที่ /etc/mailman/aliases และ /etc/mailman/aliases จึงต้องแก้ไขไฟล์ /etc/postfix/main.cf ด้วย

alias_maps = hash:/etc/aliases, hash:/etc/mailman/aliases alias_database = hash:/etc/aliases, hash:/etc/mailman/aliases

หลังจากนั้นก็ทำการย้ายข้อมูลเดิมไปไว้ที่ /var/lib/mailman/archives, /var/lib/mailman/data และ /var/lib/mailman/lists ตามลำดับ แล้วก็ต้องตรวจสอบค่า permission โดยใช้คำสั่ง

/usr/lib/mailman/bin/check_perm -f

สิ่งที่สำคัญอีกประการหนึ่งคืออย่าลืมตรวจสอบว่า  mailman service  ได้ทำงานแล้วหรือไม่  และควรกำหนดให้เริ่มทำงานโดยอัตโนมัติทุกครั้งด้วย

ท้ายที่สุดก็จะต้องปรับแต่งค่าในไฟล์ /etc/httpd/conf.d/mailman.conf ให้เหมาะสมด้วยครับ

Leave a Reply

Your email address will not be published. Required fields are marked *