Monday, November 15, 2021

วิธีการ Renew แล้วใช้ Command Update Cert SSL/HTTPS บน Linux

Cert https หมดอายุ เว็บขึ้น Not secured เข้าไม่ได้ ทำไง?

ปวดหัวทีเดียวเมื่อมาเจอ Server จอดำๆใช้แต่ command แบบ linux ปกติใช้แต่ Windows -_-'

ก็ไปต่ออายุ SSL Certificate มาเสียก่อน ก็จะได้ไฟล์ cert ที่หลักๆต้องมี 2 ไฟล์คือ publiccert.pem กับ privatekey.pem

1. หา username/password ของ root มาให้ได้ก่อน

2. ใช้ putty connect ไปที่ ip เครื่องนั้น

3. พิมพ์คำสั่งเพื่อหาว่าไฟล์ cert ที่เราต้องไปอัพเดทอยู่ที่ไหน

grep -i -r "SSLCertificateFile" /etc/httpd/

ปกติก็จะอยู่ที่ /etc/httpd/ssl/public.crt ซึ่งมันต้องใช้คู่กับไฟล์ private.key

4. ใช้ FileZilla เปิด sftp เข้าเครื่องนั้น ปกติเราใช้รหัส root จะเข้าได้ทุก folder ก็เข้าไปที่ /etc/httpd/ssl
ลากไฟล์ publiccert.pem จากเครื่อง Windows ของเรา เข้าไปเครื่อง Linux แล้ว rename เป็น public.crt
ลากไฟล์ privatekey.pem จากเครื่อ Windows ของเรา เข้าไปเครื่อง Linux แล้ว rename เป็น private.key

ถ้ามีไฟล์เดิมชื่อนี้อยู่ อย่าลืม backup ไว้

5.Run คำสั่งเช็กดูว่าไฟล์ถูกต้องหรือไม่

apachectl configtest

ถ้าขึ้นว่า Syntax OK ก็ใช้ได้ ถ้าขึ้นอย่างอื่น แสดงว่าไฟล์ cert ที่เราเอามา มันไม่ใช่ หามาใหม่ 

6.Restart apache เลย

apachectl stop
apachectl start

มันควรจะไม่มี error อะไร แล้วลองเปิดเว็บใหม่ดู ก็จะเปิดได้ ^^

ถ้าเข้าไม่ได้อยู่เหมือนเดิม แสดงว่าเราเอาไปวางผิดโฟลเดอร์ ลองพิมพ์คำสั่งในข้อ 3 ใหม่ แล้วเข้าไปดูโฟลเดอร์อื่น คือถ้าเว็บมี subdomain เยอะๆ มันอาจจะมี ssl cert อยู่หลายที่ หาให้เจอว่าเว็บที่เราเปิดอยู่โฟลเดอร์ไหนกันแน่