ผู้ใช้งาน Web hosting ที่ใช้ cPanel เป็น Control panel อาจจะไม่มีคำสั่งติดตั้ง Free SSL เช่นของ Let's Encrypt มาให้ ยกตัวอย่างเช่นผู้ใช้บริการของ namecheap web hosting เป็นต้น. แต่การติดตั้ง Let's Encrypt ก็ยังไม่ใช่ว่าจะเป็นไปไม่ได้. นอกจากวิธีติดตั้งที่เคยนำเสนอไปก่อนหน้าแล้วนั้น วิธีต่อไปนี้ยังสามารถใช้ได้เหมือนกัน และสามารถ auto renew ได้ด้วย.
เปิดใช้งาน SSH
การเปิดใช้งาน SSH บนผู้ให้บริการ web hosting แต่ละรายอาจต่างกันไป. หากคุณใช้บริการของ namecheap สามารถอ่านขั้นตอนได้จากหน้านี้. และสามารถใช้งานได้จากเมนู Terminal ได้ทันที.
ทั้งนี้หากผู้ให้บริการไม่ยินยอมให้ใช้งาน อาจจะด้วยเหตุผลความปลอดภัย ขั้นตอนต่อๆไปก็จะไม่สามารถทำได้ ซึ่งก็จะต้องย้ายกลับไปใช้วิธีติดตั้งที่เคยแนะนำไปแล้วก่อนหน้านี้.
ติดตั้ง acme.sh
curl https://get.acme.sh | sh -s email=my@example.com
ให้เปลี่ยน my@example.com เป็นอีเมลของคุณ.
รันคำสั่งต่อไปนี้
source ~/.bashrc
ใช้คำสั่งต่อไปนี้เพื่อเปลี่ยนค่าตั้งต้นของ certification ให้เป็น Let's Encrypt.
acme.sh --set-default-ca --server letsencrypt
ใช้คำสั่งต่อไปนี้เพื่อตรวจ Cron job หรืองานอัตโนมัติที่จะทำงานต่ออายุให้เรา
crontab -l | grep acme.sh
ควรจะได้ผลลัพธ์คล้ายต่อไปนี้
10 0 * * * “/home/_CPANEL_USERNAME_/.acme.sh”/acme.sh —- cron —- home “/home/_CPANEL_USERNAME_/.acme.sh” > /dev/null
ทดสอบ certificate
ใช้คำสั่งต่อไปนี้เพื่อทดสอบ certificate โดยให้เปลี่ยน mydomain.com เป็นชื่อโดเมนของคุณเอง.
acme.sh --issue --webroot ~/public_html -d mydomain.com -d www.mydomain.com --staging
หากคุณต้องการทดสอบแค่โดเมนเดียวก็ให้ลบตั้งแต่ -d
ไปจนสิ้นสุดชื่อโดเมนที่ไม่ต้องการ. โดยหากใช้คำสั่งด้านบนแล้วควรจะได้ผลลัพธ์ที่สำเร็จ ซึ่งสามารถตรวจได้โดยอ่านจากผลที่ terminal แสดงออกมา.
ออก certificate ของจริง
ใช้คำสั่งลักษณะเดียวกันกับการทดสอบ แต่เปลี่ยนจาก --staging
ไปเป็น --force
ดังต่อไปนี้.
acme.sh --issue --webroot ~/public_html -d mydomain.com -d www.mydomain.com --force
ติดตั้ง certificate ไปยัง cPanel
ใช้คำสั่งต่อไปนี้เพื่อติดตั้ง certificate ไปยัง cPanel.
acme.sh —-deploy —-deploy-hook cpanel_uapi --domain mydomain.com --domain www.mydomain.com
คุณควรได้รับผลลัพธ์ต่อไปนี้.
[Tue Aug 17 04:28:59 EDT 2021] Certificate successfully deployed
[Tue Aug 17 04:28:59 EDT 2021] Success
ก็เป็นอันเสร็จทุกขั้นตอน. ต่อไปก็ตรวจสอบโดยการล้าง browser cache แล้วเรียกหน้าเว็บดูใหม่.
อ้างอิงเพิ่มเติม
https://github.com/acmesh-official/acme.sh หน้าเว็บของ acme.sh เองพร้อมเอกสารและคำแนะนำอื่นๆ.