Thursday, September 24, 2020

เพิ่ม Virtual Host และ เพิ่ม new domain name สำหรับ Let's Encrypt Certificate

Env

  • Ubuntu 18.04
  • Apache
  • Let's Encrypt Certificate by Certbot

เรื่องมีอยู่ว่า

  • คือตอนนี้เราใช้ https ของ Let's Encrypt อยู่แล้วของ root domain name
  • จะเพิ่ม sub domain ให้ใช้ https โดยให้ Cer ของ Let's Encrypt อีกสักตัว
  • แล้วไปสร้าง Virtual Host รองรับและตั้งค่าให้ใช้ https ได้ด้วย โดยชี้ไปพาธใหม่เลยของ sub domain นี้

Step

  • เพิ่ม sub domain ให้คอนฟิกสำหรับร้องขอ Let's Encrypt Cer โดย

$ sudo certbot certonly --cert-name xxx.go.th -d xxx.go.th,www.xxx.go.th,mail.xxx.go.th,api.xxx.go.th

-------------------------------------------------------------------------

How would you like to authenticate with the ACME CA? เลือก

1: Apache Web Server plugin - Beta (apache)

Did you intend to make this change?

(U)pdate cert/(C)ancel: u

-------------------------------------------------------------------------

  • Update cert อันใหม่สำหรับ vhost เรา
  • ซึ่งคำสั่งนี้ มี option dry-run เราจะได้ Cer ใหม่จาก Let's Encrypt เลย

$ sudo certbot renew --dry-run

  • สร้าง Virtual Host สำหรับ Sub domain อันใหม่

$ sudo mkdir /var/www/api.xxx.go.th/html

$ sudo chmod -R 775 /var/www/api.xx.go.th

$ sudo nano /var/www/api.xxx.go.th/html/index.html

  • เพิ่มโค้ดในไฟล์ index.html สำหรับทดสอบ

--------

Hello new domain name

--------

  • คัดลองไฟล์  apache config ของ domain name ปัจจุบัน หรือ จะเอาจาก default ก้ได้เหมือนกัน

sudo cp /etc/apache2/site-available/xxx.go.th.conf /etc/apache2/site-available/api.xxx.go.th.conf

sudo cp /etc/apache2/site-available/xxx.go.th-le-ssl.conf /etc/apache2/site-available/api.xxx.go.th-le-ssl.conf

  • จากนั้นแก้ไขค่าใน api.xxx.go.th.conf, api.xxx.go.th-le-ssl.conf เช่น ServerName หรือ พาธต่างๆ
  • จากนั้นเปิดใช้งาน vhost โดย

$ sudo a2ensite api.xxx.go.th

$ sudo a2ensite api.xxx.go.th-le-ssl

  • อย่าลืมตั้งค่า dns ให้ api.xxx.go.th ชี้ไอพีให้ถูกต้อง
  • ทดสอบเข้าเว็บ http://api.xxx.go.th , https://api.xxx.go.th

Ref
  • https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-ubuntu-18-04-quickstart
  • https://www.digitalocean.com/community/tutorials/how-to-create-a-self-signed-ssl-certificate-for-apache-in-ubuntu-18-04
  • https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-ubuntu-18-04
  • https://certbot.eff.org/docs/using.html#changing-a-certificate-s-domains

No comments:

Post a Comment

Popular Posts