【筆記】從加入新的 Virtual Host 子網域到建立 SSL 憑證的相關指令

前言

這篇算是真的 for 我自己的純筆記,可能很多人的設定跟我不太一樣,所以本文僅供參考。以下環境為 Ubuntu 20 + apache2。本文將介紹假設都已經成功設定過 Virtual Host 子網域的情況下,要加入新的 Virtual Host 子網域,到建立 SSL (https) 憑證可能會遇到的相關指令。

p.s. 網域名稱都是以我自己現狀為主,就不再調整名稱了。請將 jsy.tw 的部份都換成你的主網域名稱。

加入新的 Virtual Host 子網域

首先因為要建立 Virtual Host 子網域,先複製一份舊的子網域設定檔最快。

先移到 sites-available 並列出現在已有的設定檔:

$ cd /etc/apache2/sites-available
$ ls
000-default.conf default-ssl.conf blog.jsy.tw-le-ssl.conf
blog.jsy.tw.conf jsy.tw-le-ssl.conf jsy.tw.conf

新網域假設叫 new.jsy.tw,於是複製一份之前的設定檔為 new.jsy.tw.conf:

$ sudo cp blog.jsy.tw.conf new.jsy.tw.conf

修改 new.jsy.tw.conf 的相關設定,將曾經出現過的舊的網域都改成新的網域:

$ sudo vim new.jsy.tw.conf
# 將舊的網域名稱都改成新的

設定好後,前往自己的 DNS records,新增新子網域的記錄:(因為我有設定 Digital Ocean 為外部名稱伺服器,所以下圖為 Digital Ocean 的畫面)

DNS records

建立 SSL (https) 憑證

完成 DNS records 後,就可以回到 Ubuntu 用 certbot 建立新憑證:(完整的 etbot 相關設定可參考我的另一篇文章:【筆記】Ubuntu 18.04 + Apache 使用 Snap 安裝 Certbot 並向 Let’s Encrypt 取得免費 SSL 憑證的方法

$ sudo certbot --apache
# 接下來依照 certbot 的設定精靈操作即可
# 記得要一次選擇 www.new.jsy.tw 和 new.jsy.tw 兩個

Which names would you like to activate HTTPS for?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: jsy.tw
2: blog.jsy.tw
3: www.blog.jsy.tw
.
.
.
16: new.jsy.tw
17: www.mew.jsy.tw
.
.
.
24: www.jsy.tw
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel): 16,17

certbot 設定完成後,重啟 apache2:

$ sudo systemctl reload apache2

到這邊應該就算大功告成了。

補充指令

以下列出幾個可能會用到的指令:

# 啟用網域設定檔
$ sudo a2ensite <your_domain_conf>

# 關閉網域設定檔
$ sudo a2dissite <your_domain_conf>

# 測試 certbot 已設定好的憑證是否能夠自動更新
$ sudo certbot renew --dry-run

# 切換成 root(不然可能無法進入 letsencrypt 資料夾)
$ sudo -i

# 確認 cetrbot 已經設定成功的網域
$ cd /etc/letsencrypt/renewal/ && ls

# 刪除 cetrbot 已經設定成功的網域
$ sudo certbot delete --cert-name <your_domain_wnat_to_delete>

參考資料

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments