ในบทความนี้ จะแนะนำวิธีติดตั้ง SSL Certificate เพื่อทำ HTTPS ให้กับ Webmin  ใน Apache Server โดยสามารถดำเนินการได้ดังนี้

เริ่มติดตั้ง ModSSL ให้กับ Webmin

ทำการติดตั้ง mod_ssl  และ ตรวจสอบว่าติดตั้ง mod_ssl เรียบร้อยแล้ว

#สำหรับ Ubuntu สั่ง  
sudo a2enmod ssl
sudo a2enmod vhost_alias

#สำหรับ CentOS สั่ง  
yum -y install mod_ssl

#ตรวจสอบผล
httpd -M | grep ssl && httpd -M | grep alias

แก้ไข httpd.conf 

vi /etc/httpd/conf.d/httpd.conf

 

วิธีการติดตั้ง SSL Certificate ให้กับ Webmin

* ทำการเปลี่ยนชื่อ domain_com เป็นชื่อโดเมนเนมของท่าน

  1. สร้างโฟลเดอร์สำหรับเก็บไฟล์ Certificate เช่น
    สามารถทำการเปลี่ยน domain_com เป็นชื่อโดเมนของท่าน
    • mkdir -p /etc/httpd/conf/ssl/domain_com_ชื่อโดมเนของท่าน
       
  2. นำไฟล์ Certificate ต่างๆ ใส่ไว้ยังโฟลเดอร์
     
    • ใส่ Private Key ในไฟล์
      /etc/httpd/conf/ssl/domain_com/private.key
       
    • ใส่ SSL Domain Certificate ในไฟล์
      /etc/httpd/conf/ssl/domain_com/domain_name{ชื่อโดเมนของท่าน}.crt
       
    • ใส่ CA Root ในไฟล์
      /etc/httpd/conf/ssl/domain_com/CARootCertificate-ca.crt

      ** โปรดตรวจสอบชื่อ และนามสกุลไฟล์ ต้องตรงกัน ระหว่างไฟล์ กับ ค่า config ใน .conf ไฟล์
      หากไม่ตรง สามารถทำการ rename เปลี่ยนชื่อ และนามสกุลของไฟล์ cert
      หรือตั้งชื่อตามที่ต้องการได้
       

ทำการสร้างไฟล์ config สำหรับ แต่ละโดเมน เช่น

vi /etc/httpd/con.d/your-domain_com.conf

<VirtualHost *:443>
    DocumentRoot "/var/www/html/"
    ServerName your-domain.com
    ServerAlias  www.your-domain.com

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    SSLEngine on
    SSLCertificateFile "/etc/httpd/conf/ssl/domain_com/domain_name.crt"
    SSLCertificateKeyFile "/etc/httpd/conf/ssl/domain_com/private.key"
    SSLCertificateChainFile "/etc/httpd/conf/ssl/domain_com/CARootCertificate-ca.crt"
</VirtualHost>

 

หากเป็น wildcard ssl สามารถแก้ไขที่ไฟล์หลักได้เลย ค้นหาและแก้ไข

vi /etc/httpd/conf.d/ssl.conf

    SSLCertificateFile "/etc/httpd/conf/ssl/domain_com/domain_name.crt"
    SSLCertificateKeyFile "/etc/httpd/conf/ssl/domain_com/private.key"
    SSLCertificateChainFile "/etc/httpd/conf/ssl/domain_com/CARootCertificate-ca.crt"


ตัวอย่าง Config สำหรับ Sub Domain Wildcard แบบแยก

<VirtualHost *:443>
    DocumentRoot "/var/www/html/"
    ServerAlias  *.your-domain.com

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    SSLEngine on
    SSLCertificateFile "/etc/httpd/conf/ssl/domain_com/domain_name.crt"
    SSLCertificateKeyFile "/etc/httpd/conf/ssl/domain_com/private.key"
    SSLCertificateChainFile "/etc/httpd/conf/ssl/domain_com/CARootCertificate-ca.crt"
</VirtualHost>

ทดสอบความถูกต้อง การตั้งค่า Config  และ สั่ง restart service apache

  • httpd -t
  • service httpd restart

 

วิธีแก้ไขปัญหา error ต่างๆ

หากพบปัญหาติด Firewall

  • ให้ทำการเปิด Allow Port 443 สำหรับ https
  •  

ท่านจะสามารถเรียก https สำหรับโดเมน ที่ติดตั้งกับ webmin ได้ทันที

ไอเรียลลี่โฮส
สำหรับการสนับสนุน และช่วยเหลือ
http://www.ireallyhost.com/support

 

 

 

 

ข้อกำหนดในการเผยแพร่บทความ ข่าวสาร
** บทความนี้มีลิขสิทธิ์ ไม่อนุญาติให้คัดลอก ทำซ้ำ ดัดแปลงก่อนได้รับอนุญาต **
โปรดระบุแหล่งที่มา บริษัท เอ็กซ์ตร้า คอร์ปอเรชั่น จำกัด / https://www.ireallyhost.com
ทั่วไป
คู่มือ / วิธีการติดตั้ง SSL Certificate สำหรับ cPanel Web Control Panel
บริการ SSL Certificate - โดยไอเรียลลี่โฮส