之前的 ssl/tsl 憑證過期惹,拖了很久終於安裝好了
寫個筆記避免自己腦霧又忘記這個過程XD
執行環境為
Ubuntu 22.04.5 LTS
Apache/2.4.52
查看是否安裝UFWufw version
如果沒有顯示版本,則安裝UFWsudo apt update sudo apt install ufw
允許防火牆規則sudo ufw allow ssh sudo ufw allow http sudo ufw allow https
允許 UFW 開啟sudo ufw enable
查看UFW是否已開啟及其設定的狀態sudo ufw status
因為 snapd 是 certbot 相關的 package 所以要先來安裝這個
不過在 Ubuntu 16 之後會預設自動安裝(好險?XD)
先用hostnamectl
看Ubuntu版本
如果Ubuntu版本低於16的話只好自己手動安裝..sudo apt update
sudo apt install snapd
apt 是 Advanced Packaging Tool 的簡稱,看起來有種似曾相識的感覺(謎之音:npm..)
簡單說 apt 就是 Ubuntu 系統的 Packaging tool,而 npm 則是 node 的 package manager
Package Manager | What It Manages | What It's Used For |
---|---|---|
APT | Operating system software (web servers, databases, and system tools) | apt install apache2 於Ubuntu上安裝apache web伺服器 |
npm | JavaScript packages and libraries for Node.js projects | npm install 安裝package.json內的packages到專案裡 |
安裝 snap coresudo snap install core
sudo snap refresh core
先移除Certbot舊版本避免衝突sudo apt remove certbot
用 snap 安裝 Certbotsudo snap install --classic certbot
安裝完會顯示
certbot 4.2.0 from Certbot Project (certbot-eff✓) installed
表示已成功安裝Certbot
然後用 Certbot 的指令來要求證書sudo certbot --apache -d myDomainName.com -d www.myDomainName.com
接下來照著輸入 mail 跟一些資訊後一直 enter 就會結束
夠幸運(?)的話到這裡就結束了,之後就可以快樂的享用有憑證a網頁
但人生總是有意外..
雖然顯示了
Deploying certificate
Successfully deployed certificate for myDomainName.com to /etc/apache2/sites-enabled/000-default.conf
但是接下來訊息顯示找不到vhost
We were unable to find a vhost with a ServerName or Address of www.myDomainName.com.
Which virtual host would you like to choose?
這時候先不要急著輸入!按c
先中斷離開
用指令用nano editor開啟 .conf檔(通常預設是000-default)sudo nano /etc/apache2/sites-available/000-default.conf
不確定 .conf 到底叫啥名字的話可以用指令列出來ls /etc/apache2/sites-available/
進到 .conf 的時候
在<VirtualHost *:80>
的區段內新增這兩行(請不要新增到<VirtualHost *:443>
!)
ServerName myDomainName.com
ServerAlias www.myDomainName.com
確認新增好後輸入 ctrl+O
(英文的O,不是0 XD)於 nano 編輯器儲存
輸入 ctrl+x
關閉 nano 編輯器
測試 apache configuration 是否設置正確並重新啟動apachesudo apache2ctl configtest
基本上出現 Syntax OK 就表示設置正確了
重新啟動apachesudo systemctl restart apache2
然後回到 『用 certbot request 證書』的步驟~
這時候終於可以快樂的享用有憑證a網頁~~
https://www.linode.com/docs/guides/enabling-https-using-certbot-with-apache-on-ubuntu/
本來也有用certbot ,
後來聽說有流行新的 ACME Client 了,
而且也有出docker版本(dockerhub 找 neilpang/acme.sh ),
跑docker continer來產憑證省去設置系統的需求,讓系統更單純也還不錯。
大感謝你的推薦~下次有機會來試試看!
這麼讚!還有附個人筆記 大感謝~