X

Let’s Encrypt เป็นใบรับรองฟรีสำหรับการเข้ารหัส TLS ซึ่งจะทำให้ HTTPS เข้ารหัสบนเว็บเซิร์ฟเวอร์ได้ค่ะ
ซึ่งการใช้งาน Certbot Let’s Encrypt จะช่วยลดขั้นตอนการยุ่งยากในการตรวจสอบการติดตั้งและการต่ออายุใบรับรอง

บทความนี้เราจะมาสอนการใช้ Certbot เพื่อตั้งค่าใบรับรอง TLS/SSL จาก Let’s Encrypt บนเซิร์ฟเวอร์ Centos 7
ซึ่งใช้งาน Apache เป็นเว็บเซิร์ฟเวอร์ หมายเหตุ. การกำหนดค่าคอนฟิคเราอยู่ที่ /etc/https/conf.d/domain.com.conf

 

ขั้นตอนในการติดตั้ง Certbot Let’s Encrypt

ดำเนินการติดตั้ง Certbot, mod_ssl โมดูลของ Apache ใช้สำหรับ Let’s Encrypt
เปิดใช้งาน EPEL เพื่อติดตั้ง Certbot เนื่องจาก Certbot ไม่สามารถใช้งานร่วมกับ package manager ของค่าเริ่มต้นได้

# yum -y install epel-release

 

# yum install certbot python2-certbot-apache mod_ssl

 

ระหว่างการติดตั้งระบบจะถามเกี่ยวกับการนำเข้าคีย์ GPG ให้ยอมรับคีย์โดยพิมพ์ y และกด ENTER เพื่อให้การติดตั้งเสร็จสิ้น

 

ขั้นตอนในการขอ SSL certificate
เมื่อติดตั้ง Certbot เรียบร้อยแล้วสามารถ Let’s Encrypt เพื่อขอ SSL certificate สำหรับโดเมนเดียวด้วยคำสั่ง

# certbot --apache -d domain.com

 

หรือ Let’s Encypt สำหรับหลายโดเมนหรือโดเมนย่อยให้ติดแท็ก -d ไว้ด้านหน้าแต่ละโดเมนหรือโดเมนย่อย
โดยให้ขึ้นต้นด้วยโดเมนหลัก ตามด้วยโดเมนย่อยหรือนามแฝงโดเมน

# certbot --apache -d domain.com -d www.domain.com

 

ในตัวอย่างนี้โดเมนหลักคือ domain.com
เมื่อการติดตั้งเสร็จสิ้น ระบบจะแสดงข้อความดังนี้

Output
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/domain.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/domain.com/privkey.pem
Your cert will expire on 2021-12-14. To obtain a new or tweaked
version of this certificate in the future, simply run certbot again
with the "certonly" option. To non-interactively renew *all* of
your certificates, run "certbot renew"
- If you like Certbot, please consider supporting our work by:

Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le

 

SSL certificate จะสร้างขึ้นภายในไดเร็กทอรี่ย่อยที่ตั้งชื่อตามโดเมนหลักใน
/etc/letsencrypt/live/domain.com

 

ขั้นตอนในการต่ออายุ SSL certificate อัตโนมัติ
Let’s Encrypt certificate มีอายุ 90 วัน เราจึงแนะนำให้ต่ออายุ certificate ทุกๆ 60 วันค่ะ
การต่ออายุ SSL certificate ใช้คำสั่ง

# certbot renew --dry-run

 

เมื่อการต่ออายุเสร็จสิ้น ระบบจะแสดงข้อความดังนี้

Output
Saving debug log to /var/log/letsencrypt/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Processing /etc/letsencrypt/renewal/domain.com.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Cert not due for renewal, but simulating renewal for dry run
Plugins selected: Authenticator apache, Installer apache
Starting new HTTPS connection (1): acme-staging-v02.api.letsencrypt.org
Renewing an existing certificate
Performing the following challenges:
http-01 challenge for domain.com
http-01 challenge for www.domain.com
Waiting for verification...
Cleaning up challenges
Resetting dropped connection: acme-staging-v02.api.letsencrypt.org

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
new certificate deployed with reload of apache server; fullchain is
/etc/letsencrypt/live/domain.com/fullchain.pem
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
** DRY RUN: simulating 'certbot renew' close to cert expiry
** (The test certificates below have not been saved.)

Congratulations, all renewals succeeded. The following certs have been renewed:
/etc/letsencrypt/live/domain.com/fullchain.pem (success)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

 

หมายเหตุ.หากสร้าง certificate แบบรวมหลายโดเมนระบบจะแสดงแค่ชื่อโดเมนหลักเท่านั้น แต่การต่ออายุจะมีผลกับโดเมนทั้งหมด
ใช้ crontab ในการตั้งค่าการต่ออายุ SSL certificate ให้ทำงานทุกๆ 60 วันตามที่แนะนำ

# crontab -e

 

ให้กด i และเพิ่มข้อความต่อไปนี้

0 0 */60 * * python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew

 

เมื่อเสร็จเรียบร้อยให้ออกจากโหมด vi ให้กด ESC จากนั้น :wq และ ENTER บันทึกและออก

HostPacific หวังเป็นอย่างยิ่งว่าบทความนี้จะเป็นประโยชน์ต่อผู้ใช้งานทุกท่านค่ะ