SSL憑證更換 === ###### tags: `linux` SSL憑證具時效性,每年必須重新申請並作更換。 為了預防下次又忘記各種指令所以在這邊記錄一下QQ :pencil: 操作流程如下: ::: spoiler 1. 開Apache尋找設定路徑 >目前也不是太清楚Apache預設放在哪裡,诶嘿。 現有專案去跟目錄底下找/etc,便能找到Apache的設定,從設定中找到以下三個東西: ``` SSLCertificateFile {路徑/檔名.crt} SSLCertificateChainFile {路徑/檔名.crt} SSLCertificatekeyFile {路徑/檔名.key} ``` ::: ::: spoiler 2. 將新申請的憑證放到設定路徑中 既然知道了放憑證的地方,當然就要去放憑證啦:star: 若是遠端就必須先把憑證丟過去,本地端直接移動檔案到指定位置就可以囉! ##### 遠端(本地端可跳過此步驟) 將本地檔案上傳到遠端主機,指令: > $ scp [帳號@來源主機]:來源檔案 [帳號@目的主機]:目的檔案 註>這邊建議先放到跟目錄在移動到指定路徑位置。 舉例: ``` scp xxxx.crt name@xxx.xxx.xxx.xxx:~/xxx.crt ``` --- ##### 移動到指定路徑位置 移動檔案指令: > $ mv {來源路徑/來源檔名.crt} {目的路徑/目的檔名.crt} 一樣做個舉例: ``` mv xxxx.crt etc/.../ssl/xxx.crt ``` ::: ::: spoiler 3. 刪掉/備份 舊憑證 舊憑證可直接刪掉,為預防突發狀況,這裡習慣是改檔名當成備份。 更名檔案指令: > $ mv {來源路徑/來源檔名.crt} {目的路徑/目的檔名.crt} 註> 在同個目錄下可以不用寫路徑唷:hearts: 舉例: ``` mv xxx.crt xxx_backup.crt ``` ::: ::: spoiler 4. 回Apache調整設定 如果憑證檔名有更換的話,那Apache設定的檔案名稱也一定要跟著做更改!! 舉例: ``` // 修改檔名前 SSLCertificateFile etc/.../ssl/ooo.crt SSLCertificateChainFile etc/.../ssl/yyy.crt SSLCertificatekeyFile etc/.../ssl/zzz.key // 修改檔名後 SSLCertificateFile etc/.../ssl/newOOO.crt SSLCertificateChainFile etc/.../ssl/newYYY.crt SSLCertificatekeyFile etc/.../ssl/newZZZ.key ``` 改好後存檔就可以了。 ::: ::: spoiler 5. Apache重啟 最後就是重啟Apache了!! 在重啟之前可以先下個指令檢查設定是否正常: > $ apachectl configtest 如果回傳"OK",代表沒有發現異常,那就可以安心的重啟了(? --- 重啟指令分很多種,指令根據使用的Linux發行版不同而不同,所以要先確認是哪個版本在下指令哦。 Ubuntu 和 Debian 的啟動/停止/重啟Apache指令: ``` // 啟動 $ sudo systemctl start apache2 // 停止 $ sudo systemctl stop apache2 // 重啟 $ sudo systemctl restart apache2 ``` Red-Hat 的啟動/停止/重啟Apache指令: ``` // 啟動 $ sudo systemctl start httpd // 停止 $ sudo systemctl stop httpd // 重啟 $ sudo systemctl restart httpd ``` ::: ::: spoiler 6. 完成:+1: 重啟Apache後可以去測試伺服器上的網站是否能正常顯示,沒掛掉就是成功了。 :bell: 大功告成 :bell: :::