ติดตั้ง SSL Certificate บริการของ CloudWays กับ apache2 สามารถดำเนินการได้ดังนี้
https://support.cloudways.com/en/articles/5129607-how-to-install-custom-ssl-certificate-on-your-application?utm_source=Platformkb&utm_medium=kbsearch

เริ่มต้นเตรียม SSL Certificate ก่อนติดตั้ง

ขั้นตอนเตรียมการก่อนติดตั้ง SSL Certificate ให้กับ Apache2 ของท่าน

  1. ทำการสั่งซื้อ SSL Certificate ผ่านระบบออนไลน์ทาง
    https://www.ireallyhost.com/cart/ssl
     
  2. ทำการเปิดใช้งาน SSL Certificate
    https://www.ireallyhost.com/client/service/ssl/

เริ่มต้นติดตั้ง SSL กับ Apache 2 กับ Linux Server

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

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

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

#ตรวจสอบผล
apache2ctl -M  | grep ssl
หรือ
httpd -M  | grep ssl

ตรวจสอบ config ไฟล์ เพื่อทำการเปิดแก้ไขไฟล์ 

แก้ไข httpd config

/etc/httpd/conf/httpd.conf
or /etc/apache2/httpd.conf 
or /etc/apache2/apache2.conf

หรือค้นหาโฟลเดอร์ที่ติดตั้ง apache ด้วยคำสั่ง whereis
whereis apache
whereis apache2
whereis httpd

ค้นหาส่วนที่ 1

#LoadModule ssl_module modules/mod_ssl.so
#LoadModule vhost_alias_module modules/mod_vhost_alias.so

แก้ไขนำ # Comment ด้านหน้าออก

LoadModule ssl_module modules/mod_ssl.so
LoadModule vhost_alias_module modules/mod_vhost_alias.so

ค้นหาส่วนที่ 2

#​​​​​​​Include conf/extra/httpd-ssl.conf 

แก้ไขนำ # Comment ด้านหน้าออก

​​​​​​​Include conf/extra/httpd-ssl.conf 

ทำการ Save ไฟล์

 

วิธีการติดตั้ง SSL Certificate ให้กับ Apache หรือ Apache2

* ทำการเปลี่ยนชื่อ 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
      หรือตั้งชื่อตามที่ต้องการได้
       
  3. ทำการสร้างไฟล์ config สำหรับ web site ของท่าน หรือแก้ไข เช่น

    vi /etc/httpd/sites-enabled/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>

    ตัวอย่าง Config สำหรับ Sub domain Wildcard SSL

    <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>
  4. ทดสอบความถูกต้อง การตั้งค่า Config  และ สั่ง restart service apache
    • apache2ctl configtest
    • /etc/init.d/apache2 restart

 

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

Enable the SSL module

AH00526: Syntax error on line ... of /etc/apache2/apache2.conf:
Invalid command 'SSLEngine', perhaps misspelled or defined by a module not included in the server config

วิธีการแก้ไข ให้ทำการ enable the SSL module
สำหรับ Ubuntu สั่ง  sudo a2enmod ssl
สำหรับ CentOS สั่ง  yum -y install mod_ssl

============================================

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

  • ทำการ add port 443 (โดยปกติเปิดโดย default)
    sudo ufw allow 443
     
  • ตรวจสอบสถานะ firewall
    ufw status

============================================

โหลด mod_ssl.so และ mod_vhost_alias.so แล้ว

ตรวจสอบการเรียก mod_ssl จาก httpd.conf หรือ apache2.conf

ตรวจสอบไฟล์ /etc/httpd/mods-available/ssl.load

  • LoadModule ssl_module modules/mod_ssl.so

ตรวจสอบไฟล์ /etc/httpd/mods-available/vhost_alias.load

  • LoadModule vhost_alias_module /usr/lib/apache2/modules/mod_vhost_alias.so

ตรวจสอบ Apache 2 มี mod_ssl แล้วหรือไม่

  •  apache2ctl -M    | grep ssl

 

อ้างอิงอื่นๆ
https://www.ireallyhost.com/kb/ssl/414
https://www.debuntu.org/how-to-enable-apache-modules-under-debian-based-system-page-2/
https://medium.com/@rachatatongpagdee/%E0%B8%97%E0%B8%B3-firewall-%E0%B8%9A%E0%B8%99-ubuntu-server-16-04-lts-8880e59729ed


 

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

 

 

 

 

 

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