หลังจากที่ดำเนินการติดตั้ง Cent OS รวมทั้ง ติดตั้ง Apache / PHP เรียบร้อยแล้ว ในบทความนี้จะขอแนะนำขั้นตอนการติดตั้ง SSL certificate สำหรับ apache ที่มีการใช้งานบน Centos 7

SSL certificates คือการเข้ารหัสข้อมูลที่มีการรับ-ส่ง ระหว่าง server และ client เพื่อยืนยันการมีตัวตนและความน่าเชื่อถือของเจ้าของ web site และรับรองความปลอดภัยในการเข้ารหัส-ถอดรหัสข้อมูลด้วยระบบ SSL ผ่านการเรียกโปรโตคอล https

ขั้นตอน

ดำเนินการ update package manager ต่างๆ ให้เรียบร้อย และติดตั้งแพคเกจที่ต้องใช้สำหรับ Let’s Encrypt

เริ่มการติดตั้ง Let’s Encrypt โดย download Let’s Encrypt client สำหรับใช้งาน โดยการ download นี้ จะถูกกำหนดวางไว้ที่ /opt/letsencrypt

การสร้าง SSL Certificate

Let’s Encrypt client มีการรองรับการทำงาน ในรูปแบบ plugin ที่แตกต่างกัน เช่น

กรณีที่มีการใช้งาน apache/2.x บน Debian 8 หรือ Ubuntu 12.04 ขึ้นไป สามารถใช้ apache plugin ได้

กรณีที่มีการใช้งาน OS อื่นๆ ผู้ใช้งานจำเป็นต้องใช้คำสั่ง “certonly” ตัวอย่างเช่น

– การเลือกใช้งาน plug in: standalone อาจต้อง stop web server บนเครื่องที่มีการใช้งาน www ที่ต้องการรับค่า SSL เพื่อยืนยันสิทธิในการควบคุม web server
# ./letsencrypt-auto certonly –standalone -d example.com -d www.example.com

– การเลือกใช้ plug in: webroot จะสามารถใช้งานได้กับ web server หลายโปรแกรม เนื่องจาก จะมีการเพิ่มไพล์เพื่อยืนยันตัวตนไปที่ –webroot-path นั้นๆ
./letsencrypt-auto certonly –webroot –webroot-path /var/www/example -d example.com -d www.example.com

ตัวอย่างด้านล่าง คือการสร้าง SSL สำหรับ (ให้เปลี่ยนเป็นข้อมูลจริงของท่านเอง)

Domain: site1.DOMAIN_NAME.com และ www.site1.DOMAIN_NAME.com
Root path: /var/www/html2
อีเมล์ที่ติดต่อได้: email@domain.com

เมื่อผลการดำเนินการเรียบร้อย จะมี certificate ไฟล์ต่างๆ ที่เกี่ยวข้องที่ Path : /etc/letsencrypt/live/[DOMAIN_NAME]

เช่น /etc/letsencrypt/live/site1.DOMAIN_NAME.com

หลังจากนั้น จึงทำการเพิ่มค่า config สำหรับ SSL ที่ไฟล์ config ของ apache : /etc/httpd/conf/httpd.conf

ตัวอย่าง

บันทึก config ดังกล่าว และ restart service

ทดสอบเข้าใช้งาน https://site1.DOMAIN_NAME.com และตรวจสอบความถูกต้องของ certificate โดยทดสอบได้กับ https://www.geocerts.com/ssl_checker เป็นต้น

ขั้นตอนการต่ออายุ Certificate

โดยปรกติแล้วการติดตั้ง SSL ที่มีการรับรองจะมีอายุอย่างน้อย 1 ปี แต่ในการใช้งาน Let’s Encrypt จะมีอายุเพียง 90 วันเท่านั้น ดังนั้นแล้วผู้ดูแลสามารถตั้งเป็น crontab เพื่อให้มีการต่ออายุโดยอัตโนมัติได้ดังนี้

หรือสามารถกำหนดให้มีการต่ออายุ certificate ด้วยการตั้ง crontab ของ root โดยกำหนดให้ทำงาน ทุกๆ 60 วัน (แนะนำ) หรือ 85 วัน ทั้งนี้ควรกำหนดค่าจำนวนวันน้อยกว่าอายุของ certificate

ข้อควรทราบเพิ่มเติม

  • Domain หรือ subdomain ที่จะนำมาสร้างจะต้องสามารถ lookup พบและเรียกใช้งาน website ได้ จึงจะสามารถดำเนินการได้
  • SSL Certificate มีอายุ 90 วัน
  • สำหรับขณะนี้ (Feb 2016) Let’s Encrypt Client คือ BETA SOFTWARE ดังนั้นจึงอาจยังไม่เหมาะกับการใช้งานบน production system
  • Let’s Encrypt Client ต้องการใช้งาน python 2.6 หรือ 2.7
  • การใช้งาน Let’s Encrypt Client สำหรับ apache/2.x สามารถทำงานได้สะดวก บนระบบ Debian 8+ และ Ubuntu 12.04+
  • ข้อมูลเพิ่มเติม https://letsencrypt.readthedocs.org
Share this:Share on FacebookTweet about this on TwitterShare on Google+Pin on Pinterest