ผลต่างระหว่างรุ่นของ "คู่มือการพัฒนา EAI Mail Server บน CentOS 8"

จาก Wiki_EAI
ไปยังการนำทาง ไปยังการค้นหา
แถว 20: แถว 20:
 
=== [[ตั้งค่า hostname]] ===
 
=== [[ตั้งค่า hostname]] ===
  
=== [[2. ตั้งค่า firewall ของ EAI Email Server บน CentOS 8]] ===
+
=== [[ตั้งค่า 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

EAI Email Server

คู่มือนี้ได้จัดทำขึ้นมาเพื่อทดสอบและเป็นแนวทางการติดตั้ง Email Server ในรูปแบบรองรับภาษาไทย (EAI) โดยใช้ Opensource Software ในการทดสอบเพื่อหาวิธีการที่สามารถใช้งานได้ และสามารถนำไปพัฒนาต่อยอดได้ ซึ่งค่า configure ที่ผู้จัดทำใช้นั้น ไม่ได้ตายตัว สามารถลองทดสอบในรูปแบบอื่นๆได้

Software ที่นำมาทดสอบ:

  1. CentOS8 x86_64 [ISO] [CentOS for VirtualBox]
  2. VirtualBox [Win] [Mac]
  3. Filezilla [Win] [Mac]
  4. putty [Win]
  5. Postfix 3.x [ดาวน์โหลด]
  6. Dovecot 2.x [ดาวน์โหลด]
  7. MariaDB 10.x [ดาวน์โหลด]
  8. 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 

3. สร้าง SSL ของ EAI Email Server บน CentOS 8

4. ติดตั้ง mariadb, postfix, dovecot ของ EAI Email Server บน CentOS 8

5. ตั้งค่า mariadb ของ EAI Email Server บน CentOS 8

6. ตั้งค่า postfix ของ EAI Email Server บน CentOS 8

7. ตั้งค่า dovecot ของ EAI Email Server บน CentOS 8

8. ทดสอบ EAI Email Server บน CentOS 8

9. ติดตั้ง squirrelmail ของ EAI Email Server บน CentOS 8