ในบทความนี้ จะแนะนำวิธีติดตั้ง 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 เป็นชื่อโดเมนเนมของท่าน
- สร้างโฟลเดอร์สำหรับเก็บไฟล์ Certificate เช่น
สามารถทำการเปลี่ยน domain_com เป็นชื่อโดเมนของท่าน- mkdir -p /etc/httpd/conf/ssl/domain_com_ชื่อโดมเนของท่าน
- mkdir -p /etc/httpd/conf/ssl/domain_com_ชื่อโดมเนของท่าน
- นำไฟล์ 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
หรือตั้งชื่อตามที่ต้องการได้
- ใส่ Private Key ในไฟล์
ทำการสร้างไฟล์ 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 ได้ทันที
ข้อกำหนดในการเผยแพร่บทความ ข่าวสาร
** บทความนี้มีลิขสิทธิ์ ไม่อนุญาติให้คัดลอก ทำซ้ำ ดัดแปลงก่อนได้รับอนุญาต **
โปรดระบุแหล่งที่มา บริษัท เอ็กซ์ตร้า คอร์ปอเรชั่น จำกัด / https://www.ireallyhost.com
** บทความนี้มีลิขสิทธิ์ ไม่อนุญาติให้คัดลอก ทำซ้ำ ดัดแปลงก่อนได้รับอนุญาต **
โปรดระบุแหล่งที่มา บริษัท เอ็กซ์ตร้า คอร์ปอเรชั่น จำกัด / https://www.ireallyhost.com
ทั่วไป
คู่มือ / วิธีการติดตั้ง SSL Certificate สำหรับ cPanel Web Control Panel
บริการ SSL Certificate - โดยไอเรียลลี่โฮส