เริ่มแรกให้ทำการ ssh เข้าไปบน Server และ ติดตั้ง Git (ถ้ามีแล้วสามารถข้ามไปขั้นตอนต่อไปได้เลย)
1 2 |
sudo apt-get update sudo apt-get install git |
ทำการ Clone ตัว Client ไปไว้ที่ /opt ซึ่งเป็น Directory สำหรับการติดตั้ง Third-Party Package
1 |
sudo git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt |
เข้าไปที่ Directory ที่เราได้ Clone ตัว Client ไว้
1 |
cd /opt/letsencrypt |
ทดสอบเรียกตัว Client ซึ่งเราจะเห็นว่าทาง Let’s Encrypt ได้เตรียม Command ต่างๆ ไว้ให้เรียกใช้ได้ค่อนข้างที่จะครบครัน
1 |
./letsencrypt-auto --help |
เริ่มทำการติดตั้ง โดยให้ส่งชื่อ Domain ที่ต้องการจะออกใบรับรองเข้าไป
1 |
./letsencrypt-auto -d www.foo.com |
จากนั้นระบบจะให้เลือกว่าหากเข้าเว็บผ่าน http ธรรมดาให้ reditrect มาที่ https เลยไหมถ้าใช่ให้เลือกข้อ 2 แล้วกด enter
เมื่อการติดตั้งเสร็จเรียบร้อยแล้วตัว Client ของ Let’s Encrypt จะแนะนำให้เราตรวจสอบการทำงานของใบรับรองและ HTTPS ที่
1 |
https://www.ssllabs.com/ssltest/analyze.html?d=foo.com |
ก่อนที่จะเราจะรันคำสั่งในการต่ออายุเราสามารถตรวจสอบวันหมดอายุของใบรับรองได้โดย
1 |
sudo openssl x509 -enddate -noout -in /etc/letsencrypt/live/www.foo.com/fullchain.pem |
1 |
/opt/letsencrypt/letsencrypt-auto certonly --apache --keep-until-expiring -d www.foo.com |
สำหรับการต่ออายุใบรับรองทาง Let’s Encrypt ได้ตั้งข้อจำกัดไว้ให้ 1 Domain สามารถต่อใบอายุรับรองได้ 5 ครั้งภายใน 7 วัน
เมื่อเรามีคำสั่งเพื่อต่ออายุใบรับรองได้แล้ว เราสามารถเขียน Bash ตั้ง Cronjob ให้รันคำสั่งนี้ทุกวันเพื่อที่เราจะได้ไม่ต้องมานั่งเช็ควันหมดอายุของใบรับรองและรันคำสั่งด้วยตัวเอง ขั้นตอนแรกให้เราสร้าง Script ขึ้นมาที่ /usr/local/sbin โดยใช้คำสั่ง
1 |
sudo nano /usr/local/sbin/le-renew |
และให้นำ Shell Script ด้านล่างไปวางไว้
1 2 3 |
#!/bin/sh /opt/letsencrypt/letsencrypt-auto certonly -tvv --apache --keep-until-expiring -d www.foo.com 2>&1 sudo service apache2 restart |
Save และออกมาที่หน้า Console อีกครั้งและทำการตั้งค่าไฟล์ให้สามารถ Execute ได้
1 |
sudo chmod +x le-renew |
ทดสอบคำสั่ง
1 |
sudo /usr/local/sbin/le-renew |
หลังจากนั้นให้ Log-in เป็น root และตั้งค่า Cronjob
เพิ่ม Cronjob ให้รันทุกวันตอนตี 2
1 |
0 2 * * * /usr/local/sbin/le-renew 2>&1 |
ที่มา
https://www.ikq.me/2016/01/ติดตั้ง-free-ssl-certificate-จาก-lets-encrypt-ให้กับ-apache/
ป้ายกำกับ:Apache, aws, ec2, https, Let’s Encrypt, ssl, Ubuntu