ผลต่างระหว่างรุ่นของ "คู่มือการพัฒนา EAI Mail Server บน CentOS 8"
| บรรทัดที่ 20: | บรรทัดที่ 20: | ||
=== [[ตั้งค่า hostname]] === | === [[ตั้งค่า hostname]] === | ||
=== [[2. | === [[ตั้งค่า firewall]] === | ||
1. ตรวจสอบสถานะ firewalld service บน mail server | |||
*ต้องมีสถานะ active (running) | |||
'''# systemctl status firewalld''' | |||
''ตัวอย่าง'' | |||
'''Active: <span style='color:red'>active (running)</span> since Mon 2019-11-18 14:12:03 +07; 1h 13min ago''' | |||
2. ตรวจสอบ firewall zone และ network interface ที่เปิดอยู่ | |||
'''# firewall-cmd --get-active-zones''' | |||
''ตัวอย่าง'' | |||
'''public | |||
'''interfaces: ens32 | |||
3. ตรวจสอบรายการ services ของ firewall ที่เปิดอยู่ที่ zone public | |||
'''# firewall-cmd --zone=public --list-services''' | |||
''ตัวอย่าง'' | |||
''' cockpit dhcpv6-client ssh ''' | |||
4. เปิด firewall services ที่ zone public ของ mail server (สามารถเปิดเท่าต้องการได้) | |||
'''# firewall-cmd --permanent --zone=public --add-service=http | |||
'''# firewall-cmd --permanent --zone=public --add-service=https | |||
'''# firewall-cmd --permanent --zone=public --add-service=mysql | |||
'''# firewall-cmd --permanent --zone=public --add-service=smtp | |||
'''# firewall-cmd --permanent --zone=public --add-service=smtps | |||
'''# firewall-cmd --permanent --zone=public --add-service=imap | |||
'''# firewall-cmd --permanent --zone=public --add-service=imaps | |||
'''# firewall-cmd --reload | |||
5. ตรวจสอบรายการ services ของ firewall ที่เปิดอยู่ที่ zone public อีกครั้ง จะพบ services เปิดเพิ่มขึ้นมา | |||
''*ref: configure firewall services for mail server (https://spalinux.com/2015/06/centos-7-basic-configure-firewall-by-firewall-cmd)'' | |||
'''# firewall-cmd --zone=public --list-services''' | |||
''ตัวอย่าง'' | |||
''' cockpit dhcpv6-client <span style='color:red'>http https imap imaps mysql smtp smtps</span> ssh ''' | |||
6. ในตัวอย่างนี้เราแนะนำให้ปิดการทำงานของ SELinux เพื่อความสะดวกในการตั้งค่า (ไม่แนะนำให้ทำกับเครื่อง production) | |||
*เปลี่ยน SELinux=enforcing เป็น SELinux=disabled | |||
'''# vi /etc/selinux/config''' | |||
''ตัวอย่าง'' | |||
'''# This file controls the state of SELinux on the system. | |||
'''# SELINUX= can take one of these three values: | |||
'''# enforcing - SELinux security policy is enforced. | |||
'''# permissive - SELinux prints warnings instead of enforcing. | |||
'''# disabled - No SELinux policy is loaded. | |||
'''SELINUX=<span style='color:red'>disabled</span> | |||
'''# SELINUXTYPE= can take one of these two values: | |||
'''# targeted - Targeted processes are protected, | |||
'''# mls - Multi Level Security protection. | |||
'''SELINUXTYPE=targeted | |||
7. ตรวจสอบสถานะ SELinux อีกครั้ง | |||
* สั่ง restart server และทำการตรวจสอบ | |||
'''# reboot''' | |||
'''# sestatus''' | |||
''ตัวอย่าง'' | |||
''' disabled ''' | |||
=== [[3. สร้าง SSL ของ EAI Email Server บน CentOS 8]] === | === [[3. สร้าง SSL ของ EAI Email Server บน CentOS 8]] === | ||
=== [[4. ติดตั้ง mariadb, postfix, dovecot ของ EAI Email Server บน CentOS 8]] === | === [[4. ติดตั้ง mariadb, postfix, dovecot ของ EAI Email Server บน CentOS 8]] === | ||
รุ่นแก้ไขเมื่อ 20:41, 14 มีนาคม 2564
EAI Email Server
คู่มือนี้ได้จัดทำขึ้นมาเพื่อทดสอบและเป็นแนวทางการติดตั้ง Email Server ในรูปแบบรองรับภาษาไทย (EAI) โดยใช้ Opensource Software ในการทดสอบเพื่อหาวิธีการที่สามารถใช้งานได้ และสามารถนำไปพัฒนาต่อยอดได้ ซึ่งค่า configure ที่ผู้จัดทำใช้นั้น ไม่ได้ตายตัว สามารถลองทดสอบในรูปแบบอื่นๆได้
Software ที่นำมาทดสอบ:
- CentOS8 x86_64 [ISO] [CentOS for VirtualBox]
- VirtualBox [Win] [Mac]
- Filezilla [Win] [Mac]
- putty [Win]
- Postfix 3.x [ดาวน์โหลด]
- Dovecot 2.x [ดาวน์โหลด]
- MariaDB 10.x [ดาวน์โหลด]
- Roundcube 1.4.x [ดาวน์โหลด] [tar]
หมายเหตุ
- คู่มือนี้ไม่ได้อธิบายถึงการติดตั้ง Centos 8
- Postfix ต้องเป็น Version 3.x.x ขึ้นไป จะรองรับ EAI
- หากจะนำไปใช้งานจริงจะต้องจดทะเบียนโดเมน และมี dns server ด้วย
การติดตั้ง EAI Email Server
1. ตรวจสอบสถานะ firewalld service บน mail server
- ต้องมีสถานะ active (running)
# systemctl status firewalld
ตัวอย่าง
Active: active (running) since Mon 2019-11-18 14:12:03 +07; 1h 13min ago
2. ตรวจสอบ firewall zone และ network interface ที่เปิดอยู่
# firewall-cmd --get-active-zones
ตัวอย่าง
public interfaces: ens32
3. ตรวจสอบรายการ services ของ firewall ที่เปิดอยู่ที่ zone public
# firewall-cmd --zone=public --list-services
ตัวอย่าง
cockpit dhcpv6-client ssh
4. เปิด firewall services ที่ zone public ของ mail server (สามารถเปิดเท่าต้องการได้)
# firewall-cmd --permanent --zone=public --add-service=http # firewall-cmd --permanent --zone=public --add-service=https # firewall-cmd --permanent --zone=public --add-service=mysql # firewall-cmd --permanent --zone=public --add-service=smtp # firewall-cmd --permanent --zone=public --add-service=smtps # firewall-cmd --permanent --zone=public --add-service=imap # firewall-cmd --permanent --zone=public --add-service=imaps # firewall-cmd --reload
5. ตรวจสอบรายการ services ของ firewall ที่เปิดอยู่ที่ zone public อีกครั้ง จะพบ services เปิดเพิ่มขึ้นมา
*ref: configure firewall services for mail server (https://spalinux.com/2015/06/centos-7-basic-configure-firewall-by-firewall-cmd)
# firewall-cmd --zone=public --list-services
ตัวอย่าง
cockpit dhcpv6-client http https imap imaps mysql smtp smtps ssh
6. ในตัวอย่างนี้เราแนะนำให้ปิดการทำงานของ SELinux เพื่อความสะดวกในการตั้งค่า (ไม่แนะนำให้ทำกับเครื่อง production)
- เปลี่ยน SELinux=enforcing เป็น SELinux=disabled
# vi /etc/selinux/config
ตัวอย่าง
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
7. ตรวจสอบสถานะ SELinux อีกครั้ง
- สั่ง restart server และทำการตรวจสอบ
# reboot # sestatus
ตัวอย่าง
disabled