ผลต่างระหว่างรุ่นของ "คู่มือการพัฒนา EAI Mail Server บน CentOS 8"
Titipong (คุย | มีส่วนร่วม) |
Titipong (คุย | มีส่วนร่วม) |
||
แถว 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]] === |
รุ่นแก้ไขเมื่อ 03:41, 15 มีนาคม 2564
เนื้อหา
- 1 EAI Email Server
- 2 การติดตั้ง EAI Email Server
- 2.1 ตั้งค่า hostname
- 2.2 ตั้งค่า firewall
- 2.3 3. สร้าง SSL ของ EAI Email Server บน CentOS 8
- 2.4 4. ติดตั้ง mariadb, postfix, dovecot ของ EAI Email Server บน CentOS 8
- 2.5 5. ตั้งค่า mariadb ของ EAI Email Server บน CentOS 8
- 2.6 6. ตั้งค่า postfix ของ EAI Email Server บน CentOS 8
- 2.7 7. ตั้งค่า dovecot ของ EAI Email Server บน CentOS 8
- 2.8 8. ทดสอบ EAI Email Server บน CentOS 8
- 2.9 9. ติดตั้ง squirrelmail ของ EAI Email Server บน CentOS 8
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
ตั้งค่า hostname
ตั้งค่า firewall
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