2020年伺服器搬家備忘錄

好不容易在今年初寫完論文達成生涯的一大成就,才想要放鬆一下就得處理網站空間租用伺服器到期的事情。
原租用處「FastComet」在2019年設備更新之前其連線速度不甚理想,想說畢竟於2018年開始租用時費用才每個月4.95美金,想讓它快也強人所難,加上網站也幾乎沒有在更新,就這樣持續租用了兩年只是為了讓網站能夠連線而已…
不過2019年的設備更新後速度變得相當讓人滿意(日本東京伺服器位置),但相對地續約費用加倍變成每個月9.95美金。雖然速度和服務等都令人滿意,但想想也該好好整頓一下網站資料,乾脆就更換租用空間手動搬家來節省開銷換個新氣象!
網路搜尋了一下看到一家叫做「SiteGround」的風評還不錯,有提供專為使用WordPress的網站提昇瀏覽速度的外掛。本站由於是個人興趣小網站,所以選擇了最便宜的「StartUp」方案且簽了三年約。搬家後其實遺漏進行部份設定導致網站無法順利連結,故本篇的重點摘要為「伺服器手動搬家相關作業與設定備忘錄」。也許未來會再搬到別處去,為了防止自己日後忘記所以將搬家流程記錄於此。

選擇適合需求的伺服器與方案

本次選擇「SiteGround」每個月3.95美元的「StartUp」方案之主要考量為,流量少+資料量少+月租費低但連線速度尚能接受。流量和資料量是在租用新伺服器前自己就能夠掌握的資訊,不過連線速度僅憑網路分享的資訊仍心有顧慮。查詢到它們有30天內退款保證以及租用期間中升級速度更好的方案只需補差價即可的服務,所以就大膽選擇最便宜的方案開始進行搬家作業。

〈SiteGround可補差價之升級方案〉

速度的顧慮暫時解決後,再次仔細分析流量以及資料量的部份。在SiteGround提供的方案比較表中最上方的資訊即可查詢每個月的建議流量(1萬人/月)以及檔案存放容量上限(10GB),而其他諸多租用伺服器能夠提供的服務均陳列其中。流量先不提只看檔案存放容量的話,這種入門方案的網站流量也無法提供檔案供人下載,所以10GB對於只提供資料瀏覽的管理人來說相當地足夠。
在最下方的「Server Resources」有明確列出之前困擾管理人的「Inodes」數量之上限為150,000,這個數值為租用空間中任何檔案的總數,舉凡自行上傳的任何檔案、系統隱藏檔、資料庫數量,甚至是如果自己有設定郵件帳號,收到的垃圾郵件不去清除的話也會算進這個Indoes數量中。但由於在前租用伺服品測試幾個PHP的程式時會上傳重覆但版本不同的檔案,導至Inodes數量超出限制網站被暫停瀏覽。這個問題也是這次想要搬家的原因之一,想趁機會重新審視網站內的資料順便進行大掃除。

SiteGround-02
〈SiteGround網站容量及檔案數量狀態查詢〉

實際搬家流程

伺服器搬家的主要流程為「資料備份」→「視情況整理」→「資料還原」→「設定及檢查」。由於此次想要順便進行大掃除,所以得多花一點時間整理和取捨網站中的檔案。為了搬家後還原網站的作業能夠順利進行,事先確認「後台管理介面」的功能相當地重要。此回租用的「SiteGround」自行製作的後台管理介面「Site Tools」,簡單說從「cPanel」下載的備份壓縮檔無法直接上傳至新的租用空間「還原」網站。雖然有提供Wordpress的搬家外掛程式「SiteGround Migrator」,不過想順便處理資料庫中「不安全」的超連結問題,於是決定手動安裝Wordpress並上傳資料庫後再重新設定。

資料備份

伺服器搬家首先要做的當然是「資料備份」,好在資料量不多所以重點放在資料庫的備份上。備份作業是否方便首先得看租用伺服器是使用何種「後台管理介面」以及其開放的功能,原租用處「FastComet」使用的是管理人很習慣的「cPanel」,它們提供了全站檔案壓縮檔下載的方式讓備份很方便。在備份之前可以先利用「線上檔案總管」將不想要備份的檔案先從伺服器上刪除,管理人是連同垃圾郵件都一起先清理掉了。

cPanel雖然很好用,不過據傳由於授權費用等問題所以很多網站租用空間供應商放棄使用或是改以自行製作的後台管理介面。由於這次新租用的SiteGround並非使用cPanel,所以Wordpress等的還原方式無法以cPanel的方式進行,有可能需要手動進行程式的安裝,所以得先記錄使用中的外掛程式以及佈景主題等內容。

視情況整理

利用cPanel下載回來的一大包全站檔案壓縮檔,先將「已經不需要的內容」整理出來封存或是刪除。這一次封存了已經不再提供公開瀏覽的資料以及其他的PHP程式(Mahara和Moodle)。本站在2016年時已經整合各個內容空虛分站並轉為Wordpress的多站網路了,確認一下「媒體庫」的檔案到時要再上傳至新的伺服器當中。

至於備份回來的資料庫檔案(sql),也順手將所有超連結修改為符合SSL安全連線的內容(http→https)。「媒體庫」的檔案由於含有許多圖片縮圖,在備份前沒有清理的話只好手動清理或是上傳後再利用外掛程式清理了。

資料還原

經過整理之後,決定只需安裝Wordpress多站網路即可。首先連線至新的租用空間利用後台管理介面全新安裝Wordpress。安裝時只需注意安裝路徑為根目錄,其餘設定於安裝完畢後再以先前備份的內容置換即可。

檔案上傳的部份需要將備份的「媒體庫」完整上傳。另外如果有自訂的「.htaccess」檔案也視需要修改內容並上傳至新的租用空間。

備份的資料庫檔案雖然新的伺服器不支援cPanel進行還原,但有提供「phpMyAdmin」方便直接匯入資料庫。

設定及檢查

DNS的設定其實可以於資料備份時同步進行,這一次也順便申請了網路加速分流服務的「Cloudflare」。網站資訊設定完畢後Name servers的部份要到DNS服務供應商那兒更新設定成Cloudflare提供的名稱,今後將經由它瀏覽本站的內容。
資料庫的部份需要使用全新安裝Wordpress時的系統建立資料庫,利用phpMyAdmin將系統建立資料庫的資料表全數刪除清空後,利用匯入的方式將備份的資料庫檔案(sql)替換進去。
而Wordpress的config檔案中的資料庫以及使用者的名稱,需要以系統建立資料庫的資訊進行替換。

有關於Wordpress多站網路的設定,由於SSL安全連線設定的關係,需要租用伺服器這邊啟用SSL認証(Let’s Encrypt),而且必須是「Wildcard」方式。但由於Name servers是利用Cloudflare的服務,因此無法在SiteGround申請Wildcard方式的認証。

SiteGround-03
〈SiteGround的SSL認証設定〉

沒有Wildcard的話多站網路的子網域會無法連線,所以得進去Cloudflare先於「SSL/TLS」的頁籤設定區中將SSL設定變更為「Full (strict)

Cloudflare-01
Cloudflare的「SSL/TLS」的頁籤設定

接下來再至「DNS」的頁籤設定區中新增各個子網域的「CNAME」即可。如此一來子網域的Wordpress多站網路也能夠正確連結到相對應的網站了。

Cloudflare-02
Cloudflare的「DNS」的頁籤設定

設定完畢後如果DNS轉換作業也完成的話,連結網站進行運作確認。首先要確認多站網路的各個網站能夠正常連結瀏覽(檢查SSL以及圖片),再確認外掛程式和佈景主題有沒有出問題。

完成上述設定後的搬家作業總算是順利完成,這一次也乾脆放棄了管理不便、垃圾郵件又會佔用Indoes數量的伺服器郵件服務。不過全數移轉至Gmail也造成過去曾利用伺服器郵件申請的網路帳號都必需進行註冊郵件的修改,好在這個大工程只需要進行一次即可(假設Gmail的服務能長長久久)」。

雖然伺服器搬家算是熟能生巧的作業,不過好在於本站內容單純資料量不大。如果今後想好好經營的話可能要考量一下圖片檔案的部份,畢竟佈景主題產生的縮圖實在是太多太細了,得研究一下如何導入外掛程式來管理這些縮圖才是。