這二天為了客戶的網站移轉,忙著不可開交。由於客戶的老舊系統是 ASP 及 ASP.Net 混用,資料庫也是 MS SQL Server 及 Access DB 混用。於是從租用 VM 開始,一路從環境建置、設定到舊資料的移轉,真的是耗了不少腦力和精神。

比較麻煩的大概就是資料庫的移轉,因為原來的備份檔格式是 SQL Server 2000。新主機因預算考量(NPO),是採用 SQL Server Express 2008 R2,所以只能透過一次的中繼伺服器來達成。亦即,先將原始的 SQL Server 2000 備份檔還原至中繼的 SQL Server 2000 SP4 上。再完整備份一次後,才能正確還原至 SQL Server Express 2008 R2 上。接下來就是程式系統的還原,由於老舊的 ASP 程式有用到第三方元件,得找到當初的元件檔後在系統註冊安裝。另外,由於 OS 是 64 位元,ODBC 連結資料庫會出問題,又得在 IIS 的程式集區(Application Pool)手動開啟 32 bit 的執行選項。在經過一番系統設定的調整與修改後,舊網站總算順利移轉完成。

另外,由於日後的網站其實是要砍掉重練,再轉換到 WordPress,以及加上部份的客制化程式開發。所以還得在 IIS 上追加 PHP 的環境以及 PEAR 等的安裝設置 。雖說 MS 也提供了 Web Platform Installer 這個便利的工具,已經將 PHP 的安裝與搭配 IIS 的運作設定減少到最低程度了。而 WordPress 的安裝亦有自傲的簡單三步驟安裝程序,但真的要運作正常,卻有不少的「眉角」要一一調整(像是目錄權限的設定)!於是又花了不少時間在查詢資料以及調校設定上。

總算也是架設完成了。但還是打算要趁這個機會把過程中遇到的大大小小問題整理個一份筆記文件。以備日後萬一又有另外同樣的狀況時,可參考以節省時間和心力。

而接下來最大的問題其實是在安全上!坦白說這種老舊的 ASP 程式,原開發者當初並沒嚴謹的安全程式規範。我也稍微大略看了一下程式碼,頗多漏洞,光 SQL Injection 就夠讓人頭痛。事實上原網站程式包裡已經有被置入一些惡意檔案在裡頭了。這種已是程式先天不良的問題,要修補也不知從而修補起,系統再有如何安全的設定也枉然。

現在只能朝一旦被駭入後,將損害減少到最低限度以及能儘速備份復原的方向考量了。看來,後續在安全及備份作業上恐怕還是少不了又要再花點時間……

Photo by Patrick Perkins / Unsplash