一步步將 Joomla 2.5 遷移(Migration)至 3.x
From Joomla! Documentation
本文將一步步的將你的 Joomla 2.5 網站遷移到 3.x。由於實際的應用情境可能有數百種,我們將給您一個最基本的流程可以遵循。大量的第三方擴充套件可能會造成較為複雜的遷移流程,建議您可以聯絡第三方套件的作者詢問相關建議來幫助您遷移這些套件至最新版本。
導覽
Joomla 2.5 至 3.x 的遷移其實很簡單,因為核心功能與套間皆能透過一鍵遷移完成。許多第三方套件也可以透過後台一鍵遷移來更新至最新版。但有一部分的套件卻不行。你必須一個一個的確認這些套件能否被遷移至 3.x 使用。如果你尚未準備好,你可以在遵循下面的流程之前,預先閱讀 Self Assessment 與 Planning for 2.5 to 3.x Migration 。
Joomla 的核心套件
- Categories (分類)
- Articles (文章)
- Menus (選單)
- Modules (模組)
- Banners (廣告)
- Contacts (聯絡人)
- Messaging (訊息)
- Newsfeeds (新聞連播)
- Redirect (重導向)
- Search (搜尋)
- Smart Search (智慧搜尋)
- Weblinks (網站連結)
較大或較複雜的 2.5 網站遷移至 3.x 的過程
一鍵更新在多數情況下可以良好的運作,但在某些較大型,或較為複雜的網站下可能就沒那了適合。為了這樣子的複雜網站遷移,您可能需要遵循一些標準化的遷移過程,並暫時避免使用一鍵更新。您可以先參考以下文章: planning 1.5 to 3.x 與 migrating from Joomla 1.5 to 3.x,只要將文章中的 1.5 換成 2.5 來操作即可。
逐步操作過程
準備工作環境
- 備份你的 2.5 網站。你可以使用推薦的工具(見本頁最下方),或者手動做這件事。
- 開始進行前,確定你的環境符合 technical requirements for Joomla 3 這篇文章所描述。
- 建立一個新的資料庫與使用者來還原你的 2.5 網站。
- 建立一個新的測試用 2.5 網站來當做作業環境,還原你原本的 2.5 網站的資料。
- 一個子網域。
- 一個子目錄。
- 本地端環境例如: WAMP, MAMP, LAMP, XAMPP.
- 一個新的主機帳戶在新的臨時網域(如果你打算遷移完成後放在新主機)。
- 在本地端還原你的網站。請見: Installing Joomla locally 與 Setting up your workstation for Joomla development.
- 用下方所列的工具還原你的網站。(閱讀開發者文件)
- 在測試空間中,先將 Joomla 2.5 更新至最新版本(目前是 2.5.28)
- 確保你的資料庫結構(Schema)是最新版,可以前往: 擴充套件管理 → 資料庫 分頁 ,如果發現資料庫不是最新版,按下 修復 按鈕。

- 測試您的網站
- 再次備份
逐步處理每個擴充套件
- 接著你需要一一檢視你的擴充套件,確認這些套件個別需要更新或是移除。在 Joomla 2.5.28 中,你可以前往: 擴充套件管理 → 更新 分頁 並按下 尋找更新 ,接著會在「管理」分頁中的版本欄位出現相容性提示。 此功能只有在該擴充套件支援後台一鍵更新時才會出現。如果你安裝的套件不支援後台一鍵更新,則你需要參考下方的資訊來取的更多細節。這些套件也會有提示。你需要根據這些套件或套件包的資訊去聯絡作者以確定該如何更新至最新版。
- 前往 擴充套件管理 → 管理 分頁
- 選擇「類型」下拉選單
- 選擇「套件包」類型
之所以先選擇「套件包」,是因為當套件包需要被刪除時,可以一併刪除所有關連的套件。 - 移除所有不支援 Joomla 3.x 的套件包
- 重複這個步驟去刪除所有類型的套件,包含:元件、模組、外掛、函數庫、語言、檔案與佈景。如果作者是「Joomla Project」,則不要刪除。「智慧搜尋」的作者欄位雖然是空的,但依舊由 Joomla 官方所維護。除此之外,確保你移除了所有不支援 Joomla 3.x 的套件。NOTE! 你無法移除任何被設為「預設」的佈景主題,因此最好先將內建佈景設為預設,例如 Beez 或 Atomic,接著再把原本的佈景刪除掉。
- Make a note of any versions of Packages and Components currently running that you will be keeping on your site. You can use the Third-Party Extension Inventory Worksheet or just copy/paste them into a document for reference.
- Update all extensions to the latest versions.
- Before and as you update, note if the extensions have both 2.5 & 3.x versions in the same package. If so, they will be fine to "one-click update." If not, and 2.5 and 3.x have different packages, you need to look at them case by case. They will normally fall into one of the following scenarios:
- The extension has separate packages but upon upgrading to 3.x, they automatically detect this and still work. Make sure the developer confirms this.
- The extension has separate packages that need to be uninstalled in 2.5 and then installed with the Joomla 3.x version once the site is migrated. An example of this might be a content plugin. It is very simple to uninstall it in 2.5 and then install it again in 3.x.
- See Template Considerations for more specific information on templates.
前往 Joomla! 3.x
當你完成這些第三方套件的更新,並確認皆支援 Joomla 3.x,你可以繼續跟隨接下來的步驟。
- 前往 系統 → 全站設定 → 伺服器 分頁 將錯誤回報從「系統預設」改為「最大」,別忘了儲存。

- 前往 擴充套件 → 外掛管理 搜尋 Remember Me (記住我)
- 按下綠色按鈕關閉「記住我」外掛,變成紅色圈圈。

- 再備份一次。
- 建議但不見得必要的項目:修復權限(assets)
(Fixing the assets table). 下方有建議的工具可以快速完成。
- 前往 元件 → Joomla 更新. (應該不會找到任何更新,如果還有更新的話,先更新它,然後備份。) 按下右上方的「選項」按鈕。
- 在「更新伺服器」選擇「短期更新」(Short Term Support) (目前是這樣叫沒錯,但未來可能隨著更新伺服器而有所不同)

- 按下儲存並關閉
- 你將會看到你當下的 Joomla 版本,可更新的Joomla版本也及更新包網址。

- 如果更新沒有出現,前往 擴充套件管理 → 更新 按下清除快取,現在更新應該會出現了。
- 再次確認你關閉了「記住我」外掛並且已經備份過。
- 按下更新按鈕。
- 看著進度提示轉阿轉,感受那焦慮的更新過程吧~~~沒啦,開個玩笑。 更新速度依賴於你的網站大小、網路速度與主機的硬體配置。
- 如果更新成功,你會看到一個全新的後台介面。

- 按下清除快取按鈕。
- 前往 擴充套件管理 → 資料庫 按下「修復」。
- 在擴充套件管理,前往「探索」頁面探索看看有沒有未安裝的套件。
- 建議但不見得必要的項目:修復權限(assets)
(Fixing the assets table). 下方有建議的工具可以快速完成。
- 重新啟動「記住我」外掛
- 到前台看看佈景主題是否正確顯示,如果沒有,請參見 common errors during migration.
- 備份網站。
- 此時最好可以清除一下瀏覽器快取,有些瀏覽器會保留 2.5 時期的 script 檔案,這些快取會造成後台按鈕無法運作。
- 前往 內容 → 文章管理 → 選項 → 編輯頁面 分頁 將儲存版本歷史設為「是」。
- 安裝你的新佈景與套件,安裝完成後,記得再備份一次。
- 設定它們。再備份。
- 測試每一件事情。再備份。
- 如果一切正常,關閉錯誤報告,設成「系統預設」 (系統 → 全站設定 → 伺服器 分頁),記得儲存。
上線你的 Joomla 3.x 網站
- 當你準備上線新的網站時,再次備份舊的 2.5 網站。如果你有需要,將它還原在一個子目錄或子網域。
- 備份 3.x 新站,然後將它移動到根目錄或你要的新位置。 (或者更改 Domain 指向到新主機).
- 再次測試。
- 過陣子,若不在需要 2.5 網站,可以移除它,或者修改 robots.txt 避免被 Google 索引。
- 移除所有處理過程的臨時網站,免得被駭客搜尋到之後遭到攻擊。
如果你在遷移過程有一些資料的變更,你可以在 3.x 上線前手動處理這件事(確保你保留原本的 User ID),或者依靠第三方套件: transfer tool/third-party extension.
建議工具
- Akeeba Backup 方便您備份與還原。
- ACL Manager ACL Manager 方便您快速修復權限(assets)。