ค้นหาเว็บไซต์

วิธีรวม iRedMail Roundcube เข้ากับ Samba4 AD DC - ตอนที่ 12


Roundcube หนึ่งในตัวแทนผู้ใช้เว็บเมลที่ใช้มากที่สุดใน Linux นำเสนอเว็บอินเตอร์เฟสที่ทันสมัยสำหรับผู้ใช้ปลายทางในการโต้ตอบกับบริการเมลทั้งหมดเพื่ออ่าน เขียน และส่งอีเมล Roundcube รองรับโปรโตคอลเมลที่หลากหลาย รวมถึงโปรโตคอลที่ปลอดภัย เช่น IMAPS, POP3S หรือการส่ง

ในหัวข้อนี้ เราจะพูดถึงวิธีกำหนดค่า Roundcube ใน iRedMail ด้วย IMAPS และการส่งพอร์ตที่ปลอดภัยเพื่อดึงและส่งอีเมลสำหรับบัญชี Samba4 AD วิธีเข้าถึงอินเทอร์เฟซเว็บ iRedMail Roundcube จากเบราว์เซอร์และเพิ่มนามแฝงที่อยู่เว็บ วิธีเปิดใช้งาน Samba4 การรวม AD สำหรับสมุดที่อยู่ Global LDAP และวิธีปิดใช้งานบริการ iRedMail ที่ไม่จำเป็นบางอย่าง

ความต้องการ

  1. วิธีติดตั้ง iRedMail บน CentOS 7 สำหรับการรวม Samba4 AD
  2. กำหนดค่า iRedMail บน CentOS 7 สำหรับการรวม Samba4 AD

ขั้นตอนที่ 1: ประกาศที่อยู่อีเมลสำหรับบัญชีโดเมนใน Samba4 AD DC

1. ในการส่งและรับอีเมลสำหรับบัญชีโดเมน Samba4 AD DC คุณต้องแก้ไขบัญชีผู้ใช้แต่ละบัญชีและตั้งค่าอีเมลอย่างชัดเจนที่ยื่นด้วยที่อยู่อีเมลที่ถูกต้องโดยการเปิด เครื่องมือ ADUC จากเครื่อง Windows ที่ติดตั้งเครื่องมือ RSAT และเข้าร่วมกับ Samba4 AD ดังที่แสดงในภาพด้านล่าง

2. ในทำนองเดียวกัน หากต้องการใช้รายชื่ออีเมล คุณต้องสร้างกลุ่มใน ADUC เพิ่มที่อยู่อีเมลที่เกี่ยวข้องสำหรับแต่ละกลุ่ม และกำหนดบัญชีผู้ใช้ที่เหมาะสมให้เป็นสมาชิกของกลุ่ม

ด้วยการตั้งค่านี้ที่สร้างเป็นรายชื่ออีเมล กล่องจดหมายของสมาชิกทั้งหมดของกลุ่ม Samba4 AD จะได้รับอีเมลที่ส่งถึงที่อยู่อีเมลของกลุ่ม AD ใช้ภาพหน้าจอด้านล่างเป็นแนวทางในการประกาศอีเมลที่ยื่นสำหรับบัญชีกลุ่ม Samba4 และเพิ่มผู้ใช้โดเมนเป็นสมาชิกของกลุ่ม

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

ในตัวอย่างนี้ อีเมลทั้งหมดที่ส่งไปยังที่อยู่อีเมล [email  ที่ประกาศสำหรับกลุ่ม 'ผู้ดูแลระบบโดเมน' จะได้รับจากกล่องจดหมายของสมาชิกแต่ละรายของกลุ่มนี้

3. อีกวิธีหนึ่งที่คุณสามารถใช้เพื่อประกาศที่อยู่อีเมลสำหรับบัญชี Samba4 AD คือการสร้างผู้ใช้หรือกลุ่มที่มีบรรทัดคำสั่ง samba-tool โดยตรงจากคอนโซล AD DC อันใดอันหนึ่ง และระบุที่อยู่อีเมลด้วยธง --mail-address

ใช้ไวยากรณ์คำสั่งอย่างใดอย่างหนึ่งต่อไปนี้เพื่อสร้างผู้ใช้ที่มีที่อยู่อีเมลที่ระบุ:

samba-tool user add  [email   --surname=your_surname  --given-name=your_given_name  your_ad_user

สร้างกลุ่มโดยระบุที่อยู่อีเมล:

samba-tool group add  [email   your_ad_group

ในการเพิ่มสมาชิกในกลุ่ม:

samba-tool group addmembers your_group user1,user2,userX

หากต้องการแสดงรายการฟิลด์คำสั่ง samba-tool ที่มีอยู่ทั้งหมดสำหรับผู้ใช้หรือกลุ่ม ให้ใช้ไวยากรณ์ต่อไปนี้:

samba-tool user add -h
samba-tool group add -h

ขั้นตอนที่ 3: รักษาความปลอดภัยเว็บเมล Roundcube

4. ก่อนที่จะแก้ไขไฟล์การกำหนดค่า Roundcube ขั้นแรก ให้ใช้คำสั่ง netstat ที่ไพพ์ผ่านตัวกรอง egrep เพื่อแสดงรายการซ็อกเก็ตที่ Dovecot และ Postfix ฟังและรับรองว่าพอร์ตที่ปลอดภัยอย่างเหมาะสม (993 สำหรับ IMAPS และ 587 สำหรับการส่ง) มีการใช้งานและเปิดใช้งานอยู่

netstat -tulpn| egrep 'dovecot|master'

5. หากต้องการบังคับใช้การรับอีเมลและการถ่ายโอนระหว่างบริการ Roundcube และ iRedMail บนพอร์ต IMAP และ SMTP ที่ปลอดภัย ให้เปิดไฟล์การกำหนดค่า Roundcube ที่อยู่ใน /var/www/roundcubemail/config/config.inc.php และให้แน่ใจว่าคุณได้เปลี่ยนบรรทัดต่อไปนี้สำหรับ localhost ในกรณีนี้ ดังที่แสดงในข้อความที่ตัดตอนมาด้านล่าง:

// For IMAPS
$config['default_host'] = 'ssl://127.0.0.1';
$config['default_port'] = 993;
$config['imap_auth_type'] = 'LOGIN';

// For SMTP
$config['smtp_server'] = 'tls://127.0.0.1';
$config['smtp_port'] = 587;
$config['smtp_user'] = '%u';
$config['smtp_pass'] = '%p';
$config['smtp_auth_type'] = 'LOGIN';

ขอแนะนำการตั้งค่านี้อย่างยิ่งในกรณีที่มีการติดตั้ง Roudcube บนโฮสต์ระยะไกลมากกว่าโฮสต์ที่ให้บริการอีเมล (IMAP, POP3 หรือ SMTP daemons)

6. ถัดไป ไม่ต้องปิดไฟล์การกำหนดค่า ค้นหาและทำการเปลี่ยนแปลงเล็กๆ น้อยๆ ต่อไปนี้เพื่อให้ Roundcube เข้าชมได้ผ่านโปรโตคอล HTTPS เท่านั้น เพื่อซ่อนหมายเลขเวอร์ชันและต่อท้ายชื่อโดเมนโดยอัตโนมัติ สำหรับบัญชีที่เข้าสู่ระบบในเว็บอินเตอร์เฟส

$config['force_https'] = true;
$config['useragent'] = 'Your Webmail'; // Hide version number
$config['username_domain'] = 'domain.tld'

7. นอกจากนี้ ให้ปิดการใช้งานปลั๊กอินต่อไปนี้: จัดการ และ รหัสผ่าน โดยเพิ่มความคิดเห็น (//) ที่ด้านหน้า ของบรรทัดที่ขึ้นต้นด้วย $config['plugins']

ผู้ใช้จะเปลี่ยนรหัสผ่านจากเครื่อง Windows หรือ Linux ที่เข้าร่วมกับ Samba4 AD DC เมื่อพวกเขาเข้าสู่ระบบและรับรองความถูกต้องของโดเมน ผู้ดูแลระบบจะจัดการกฎตะแกรงทั้งหมดสำหรับบัญชีโดเมนทั่วโลก

// $config['plugins'] = array('managesieve', 'password');

8. สุดท้าย บันทึกและปิดไฟล์การกำหนดค่า และไปที่ Roundcube Webmail โดยเปิดเบราว์เซอร์และนำทางไปยังที่อยู่ IP ของ iRedMail หรือตำแหน่ง FQDN/อีเมล ผ่านทางโปรโตคอล HTTPS

ครั้งแรกเมื่อคุณเยี่ยมชม Roundcube การแจ้งเตือนควรปรากฏบนเบราว์เซอร์เนื่องจากใบรับรองที่ลงนามด้วยตนเองที่เว็บเซิร์ฟเวอร์ใช้ ยอมรับใบรับรองและเข้าสู่ระบบด้วยข้อมูลรับรองบัญชี Samba AD

https://iredmail-FQDN/mail

ขั้นตอนที่ 3: เปิดใช้งานผู้ติดต่อ Samba AD ใน Roundcube

9. หากต้องการกำหนดค่าสมุดที่อยู่ Samba AD Global LDAP ให้ปรากฏผู้ติดต่อ Roundcube ให้เปิดไฟล์การกำหนดค่า Roundcube อีกครั้งเพื่อแก้ไขและทำการเปลี่ยนแปลงต่อไปนี้:

นำทางไปที่ด้านล่างของไฟล์และระบุส่วนที่ขึ้นต้นด้วย '# Global LDAP Address Book with AD' ลบเนื้อหาทั้งหมดจนกระทั่งสิ้นสุดไฟล์ และแทนที่ด้วยบล็อกโค้ดต่อไปนี้:


Global LDAP Address Book with AD.
#
$config['ldap_public']["global_ldap_abook"] = array(
    'name'          => 'tecmint.lan',
    'hosts'         => array("tecmint.lan"),
    'port'          => 389,
    'use_tls'       => false,
    'ldap_version'  => '3',
    'network_timeout' => 10,
    'user_specific' => false,

    'base_dn'       => "dc=tecmint,dc=lan",
    'bind_dn'       => "[email ",
    'bind_pass'     => "your_password",
    'writable'      => false,

    'search_fields' => array('mail', 'cn', 'sAMAccountName', 'displayname', 'sn', 'givenName'),
	
    'fieldmap' => array(
        'name'        => 'cn',
        'surname'     => 'sn',
        'firstname'   => 'givenName',
        'title'       => 'title',
        'email'       => 'mail:*',
        'phone:work'  => 'telephoneNumber',
        'phone:mobile' => 'mobile',

        'department'  => 'departmentNumber',
        'notes'       => 'description',

    ),
    'sort'          => 'cn',
    'scope'         => 'sub',
    'filter' => '(&(mail=*)(|(&(objectClass=user)(!(objectClass=computer)))(objectClass=group)))',
    'fuzzy_search'  => true,
    'vlv'           => false,
    'sizelimit'     => '0',
    'timelimit'     => '0',
    'referrals'     => false,
);

ในบล็อคโค้ดนี้ ให้แทนที่ ชื่อ, โฮสต์, base_dn, bind_dn และ bind_pass ค่านิยมตามนั้น

10. หลังจากที่คุณได้ทำการเปลี่ยนแปลงที่จำเป็นทั้งหมดแล้ว ให้บันทึกและปิดไฟล์ เข้าสู่ระบบอินเทอร์เฟซเว็บเมล Roundcube และไปที่เมนูสมุดที่อยู่

คลิกชื่อ สมุดที่อยู่ทั่วโลก ของคุณ และรายชื่อผู้ติดต่อของบัญชีโดเมนทั้งหมด (ผู้ใช้และกลุ่ม) พร้อมที่อยู่อีเมลที่ระบุควรจะมองเห็นได้

ขั้นตอนที่ 4: เพิ่มนามแฝงสำหรับอินเทอร์เฟซเว็บเมล Roundcube

11. หากต้องการเยี่ยมชม Roundcube ที่ที่อยู่เว็บด้วยแบบฟอร์มต่อไปนี้ https://webmail.domain.tld แทนที่จะเป็นที่อยู่เก่าที่ iRedMail ให้มาโดยค่าเริ่มต้น คุณต้องทำ การเปลี่ยนแปลงต่อไปนี้

จากเครื่อง Windows ที่เข้าร่วมซึ่งติดตั้งเครื่องมือ RSAT ให้เปิด DNS Manager และเพิ่มบันทึก CNAME ใหม่สำหรับ iRedMail FQDN ชื่อเว็บเมล ดังที่แสดงในภาพต่อไปนี้

12. จากนั้น บนเครื่อง iRedMail ให้เปิดไฟล์การกำหนดค่า SSL ของเว็บเซิร์ฟเวอร์ Apache ที่อยู่ใน /etc/httpd/conf.d/ssl.conf และเปลี่ยนคำสั่ง DocumentRoot ให้ชี้ไปที่ /var/www/roundcubemail/ เส้นทางของระบบ

ไฟล์ /etc/httpd/conf.d/ssl.conf ข้อความที่ตัดตอนมา:

DocumentRoot “/var/www/roundcubemail/”

รีสตาร์ท Apache daemon เพื่อใช้การเปลี่ยนแปลง

systemctl restart httpd

13. ตอนนี้ ชี้เบราว์เซอร์ไปยังที่อยู่ต่อไปนี้ และอินเทอร์เฟซ Roundcube ควรปรากฏขึ้น ยอมรับข้อผิดพลาด Self-Signed Cerificate เพื่อดำเนินการต่อไปยังหน้าเข้าสู่ระบบ แทนที่ domain.tld จากตัวอย่างนี้ด้วยชื่อโดเมนของคุณเอง

https://webmail.domain.tld

ขั้นตอนที่ 5: ปิดใช้งานบริการที่ไม่ได้ใช้ iRedMail

14. เนื่องจาก iRedMail daemons ได้รับการกำหนดค่าให้ค้นหาเซิร์ฟเวอร์ Samba4 AD DC LDAP สำหรับข้อมูลบัญชีและทรัพยากรอื่นๆ คุณจึงสามารถหยุดและปิดใช้งานบริการท้องถิ่นบางอย่างบนเครื่อง iRedMail ได้อย่างปลอดภัย เช่น เซิร์ฟเวอร์ฐานข้อมูล LDAP และบริการ iredpad โดย ออกคำสั่งต่อไปนี้

systemctl stop slapd iredpad
systemctl disable slapd iredpad

15. นอกจากนี้ ปิดการใช้งานกำหนดการบางอย่างที่ดำเนินการโดย iRedMail เช่น การสำรองฐานข้อมูล LDAP และบันทึกการติดตามของ iRedPad โดยการเพิ่มความคิดเห็น (#) ที่ด้านหน้าของแต่ละบรรทัดจากไฟล์ crontab ตามที่แสดงในภาพหน้าจอด้านล่าง

crontab -e

ขั้นตอนที่ 6: ใช้ Mail Alias ใน Postfix

16. หากต้องการเปลี่ยนเส้นทางอีเมลที่สร้างขึ้นในเครื่องทั้งหมด (กำหนดไว้สำหรับ postmaster และต่อมาเปลี่ยนเส้นทางไปยังบัญชีรูท) ไปยังบัญชี Samba4 AD เฉพาะ ให้เปิดไฟล์การกำหนดค่านามแฝง Postfix ที่อยู่ใน /etc/postfix/aliases< และแก้ไขรูทไลน์ดังนี้:

root: 	[email 

17. ใช้ไฟล์การกำหนดค่านามแฝงเพื่อให้ Postfix สามารถอ่านในรูปแบบของตัวเองโดยดำเนินการคำสั่ง newaliases และทดสอบว่าเมลถูกส่งไปยังบัญชีอีเมลโดเมนที่เหมาะสมหรือไม่โดยออกคำสั่งต่อไปนี้

echo “Test mail” | mail -s “This is root’s email” root

18. หลังจากส่งอีเมลแล้ว ให้เข้าสู่ระบบเว็บเมล Roundcube ด้วยบัญชีโดเมนที่คุณได้ตั้งค่าสำหรับการเปลี่ยนเส้นทางเมล และตรวจสอบว่าควรได้รับอีเมลที่ส่งก่อนหน้านี้ในกล่องจดหมายของบัญชีของคุณ

นั่นคือทั้งหมด! ตอนนี้ คุณมีเมลเซิร์ฟเวอร์ที่ใช้งานได้เต็มรูปแบบซึ่งรวมเข้ากับ Samba4 Active Directory แล้ว บัญชีโดเมนสามารถรับส่งอีเมลสำหรับโดเมนภายในหรือโดเมนภายนอกอื่นๆ ได้

การกำหนดค่าที่ใช้ในบทช่วยสอนนี้สามารถนำไปใช้เพื่อรวมเซิร์ฟเวอร์ iRedMail เข้ากับ Windows Server 2012 R2 หรือ 2016 Active Directory ได้สำเร็จ