วิธีรวม iRedMail Roundcube เข้ากับ Samba4 AD DC - ตอนที่ 12
Roundcube หนึ่งในตัวแทนผู้ใช้เว็บเมลที่ใช้มากที่สุดใน Linux นำเสนอเว็บอินเตอร์เฟสที่ทันสมัยสำหรับผู้ใช้ปลายทางในการโต้ตอบกับบริการเมลทั้งหมดเพื่ออ่าน เขียน และส่งอีเมล Roundcube รองรับโปรโตคอลเมลที่หลากหลาย รวมถึงโปรโตคอลที่ปลอดภัย เช่น IMAPS, POP3S หรือการส่ง
ในหัวข้อนี้ เราจะพูดถึงวิธีกำหนดค่า Roundcube ใน iRedMail ด้วย IMAPS และการส่งพอร์ตที่ปลอดภัยเพื่อดึงและส่งอีเมลสำหรับบัญชี Samba4 AD วิธีเข้าถึงอินเทอร์เฟซเว็บ iRedMail Roundcube จากเบราว์เซอร์และเพิ่มนามแฝงที่อยู่เว็บ วิธีเปิดใช้งาน Samba4 การรวม AD สำหรับสมุดที่อยู่ Global LDAP และวิธีปิดใช้งานบริการ iRedMail ที่ไม่จำเป็นบางอย่าง
ความต้องการ
- วิธีติดตั้ง iRedMail บน CentOS 7 สำหรับการรวม Samba4 AD
- กำหนดค่า 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 ได้สำเร็จ