約莫3.4天前,我穩定了我新架的hugo 網站,把一些bugs修好後
終於可以慢慢邁向下一階段的目標
去年12月半,我決定動手架一個屬於自己的網站
以往都是想用wordpress.org 架在主機上,但還是有些受限於wordpress
於是我把想法移駕到了hugo + github
某天,上網查查我新的部落格在Google的SEO是如何呈現
結果每篇文章的Title 都掛上 “- Git 指令”
我來來回回煩惱後來問同事後,得到的解答是買一個自己的domain
雖然知道遲早都會需要買,但沒想到現在就要買
目前我架站的方式是:
Hugo 架設在Github 上,於Godaddy買一個Domain+SSL指向我的網站
接下來應該會邊陸續添增一些新的功能,寫文章, 慢慢提升SEO
本文章教學:
- 如何把購買的SSL 與 domain 結合
- 如何把新買的domain指向Github
- 一些注意事項
於Godaddy 購買domain
Godaddy 網站 有許多domain, 你可以直接去查看想要的domain,順便看看這些domain的延伸含義
這個部分其實蠻簡單的
將想要的domain查詢後 >> 加入購物車 >> 點取右上方購物車圖示 >>
填繳費表單 >> 勾選要不要額外的服務 >> 優惠碼 >> 結帳
特別提一下在購物車時,有個網域隱私保護
, 其實只是讓你的domain 能不能在 Whois365 中被查找,沒有網站說的什麼資訊看光光這麼可怕
但我還是被嚇唬到,然後購買了,好冤XD
查看了一下SSL好像是額外買的,沒在這可以選
記得去領取優惠碼,據說可以打折(但我就算加了優惠碼也沒有打折氣噗噗)
買SSL Certification
我也是在Godaddy SSL 購買SSL
SSL 就是把你的網站從Http 變為Https
可惡的是購買SSL 比購買網域貴好多!!
把工具買好惹,就來裝吧
裝SSL Certification 於 你的domain
Godaddy的台灣版後台,我當初也是摸的翻白眼,不太好用,索性…… 用好了qq
如果是單購買 Domain,然後將購買的SSL裝上去的話
在Godaddy 登入你的帳號
前往後台左上方的SSL 憑證
你會看到一條剛購買熱騰騰的SSL 憑證,尚未設定
進入設定,會需要你輸入欲綁入的網址
(請原諒我沒有圖)
基本上會有左右兩塊,左邊是輸入你想認證SSL的domain網址,會產生密鑰,再將其中一個密鑰貼到右邊認證
輸入你想認證的domian,會產生兩個檔案
假設我在godaddy買的domain是: mina.io
就直接輸入 mina.io, 不用加前面的http/之類, 端看剛才於Godaddy買的domain是什麼就填什麼
會產生兩個檔案,分別是:
generated-csr
generated-private-key
我有下載下來保存好
接下來,我記得是將產生的generated-csr 貼到右方需要貼csr做認證的地方
在貼的部分下方,會再次詢問你是不是要認證該domain?
確認後就送出吧
以下兩個比較複雜,促使我發出這篇文章XD
把SSL+ Domain都搞定後,就來做連結了
將Domain設定指向Github
打開Goddady的後台後,前往網域,打開三個點 ··· 進入DNS管理
接下來你會需要新增 在 紀錄
裡
分別是 A 紀錄, CNAME
新增A 首先你要找到你的Github 的A
參考Github的網站 , 可以取得兩個指令來找到Github的A
$ dig [YOUR-USERNAME].github.io +noall +answer
將這段指令貼上你的Terminal來查找你github網站的A
[YOUR-USERNAME].github.io < 改為[你的github帳號].github.io
*注意:有幾個A,在你的Domain DNS管理就要登幾個A, 範例只有1個
[YOUR-USERNAME].github.io 3600 IN A 199.27.XX.XXX
[YOUR-USERNAME].github.io 3600 IN A 199.27.XX.XXX
[YOUR-USERNAME].github.io 3600 IN A 199.27.XX.XXX
[YOUR-USERNAME].github.io 3600 IN A 199.27.XX.XXX
有四筆,就要登入四筆
接著回到Godaddy的管裡DNS後台,「紀錄」右下方「加入」
新增這四筆
類型 : A
主機: @
指向: port號
TTL 得符合上面的3600,也就是一小時 (看你Dig多少就填多少~)
新增CNAME
一樣管理DNS,```紀錄```右下方```加入```
驗證
稍等些許時間後,用Github提供的另外一個指令做檢查 ``` $ dig [your-domain] +noall +answer ``` 貼上Terminal後,得和剛剛的指令 結果是一樣的 (記得是填你買的domain)將Github設定指向Domain
在你的Github 前往 你放網站的repository
[YOUR-USERNAME].github.io
進settings 往下滑可以看到custom domain
把你的domain 貼到custom domain後按 save
這時候Github 會在你的repository下新增一個你看不到的CNAME 檔案
這邊我吃好多悶虧qq
如果你回到hugo, 利用hugo重新生public 強制推上Github
你要回到settings 重新加 custom domain
如果刪掉repository 重新創還是404或者沒畫面,無論做什麼事都404/沒畫面,可能需要清除Cookie (我是這樣才重新連回我的Github.io)
若成功把domain 與github連上,你會你的部落格內容,但css/樣式/主題 會跑掉
這是因為連到新的domain了,沒有在config.toml更新
接著回到你的Hugo, 把Config.toml檔
更改baseURL
baseURL = "https://your-domain"
hugo 一次 產生public 推上 你的repository
*要注意一下如果強制推上 “git push -f” 要再回去settings 新增custom domain 才會產生CNAME檔案,才能接你的domain
如果覺得每次 hugo 生成public 強制推上,都會刪掉原先的CNAME檔案的話
就在你的hugo web資料夾的根部 (就是config.toml 那層), 新增一個CNAME 檔案(不用副檔名)
把你的domain 直接寫在CNAME檔裡,儲存,之後每次下 hugo 生成public 都會自動生成CNAME囉!
CNAME
your-domain
*只需要在第一行寫上你的domain, 不用打http/https 之類的
如果還是不知道要新增什麼,那就在settings 新增custom domain後,把repository git pull下來,會看到新的一個CNAME檔案
那教學就到這囉,若有什麼問題可以來詢問我唷!