วิธีการติดตั้ง SSL Let’s Encrypt บน cPanel

ผู้ใช้งาน 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 เองพร้อมเอกสารและคำแนะนำอื่นๆ.

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *

คุณอาจใช้แท็กHTMLและแอททริบิวต์เหล่านี้: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>