轉移您的論壇到新的主機或域名

與 phpBB 3.0.x 相關主題。
回覆文章
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8629
註冊時間: 2004-04-30 01:54
來自: Taiwan

轉移您的論壇到新的主機或域名

文章 心靈捕手 » 2013-02-08 10:39

目的

本文深入介紹如何將您的論壇從一個代管服務的主機轉移到另一個(不同或相同的域名),
或者在同一主機上從一個域名轉移到另一個。這些指令只適用於使用 MySQL 資料庫。

需求
  • 您將需要以 FTP 進入您的伺服器。您也需要一個 FTP 用戶端。在這篇文章中使用的用戶端是 FileZilla
  • 我們強烈建議(但不要求),為了備份您的資料庫,您必須使用 phpMyAdmin。
    大多數提供服務的主機有此應用程式。它應該是在您的主機控制面板(cPanel、Plesk 等)之資料庫中。
    如果您不確定如何使用 phpMyAdmin,那麼您應該聯繫代管服務的主機商以獲得詳細信息。
  • 對於較大(大於 2 MB)的資料庫,您很可能會無法透過 phpMyAdmin 恢復備份的資料庫。
    因此,您將需要使用一個 BigDump 程式來恢復資料庫。
    BigDump 可以從這裡獲得。以下說明將遵循正確的使用 BigDump。
    或者,您可以使用 SSH 來恢復資料庫(詳情如下)。
  • 您將需要一個基本的文字編輯器。
    對於 Windows 作業系統,使用 Notepad++
    對於 OS X 作業系統,使用 Text Edit。
    對於 GNU / Linux 作業系統,使用 gedit、kedit,這取決於您的桌面環境。
    您還可以選擇使用其他的文字編輯器。
    不要使用文字處理軟體,如 Microsoft Word 或 Adobe Dreamweaver。
  • (可選)如果您代管服務的主機商有 SSH(Secure Shell)可訪問伺服器,這是首選的備份和恢復資料庫之方法。
    請聯繫您代管服務的主機商以獲得詳細信息。
    對於 Windows 作業系統,您需要 SSH 用戶端,像是 PuTTY
    對於 GNU / Linux 和 OS X 作業系統,SSH 直接內建在 Terminal。
準備

這個步驟將準備轉移您的論壇。

進入您舊論壇的管理員控制台。
在「General(一般)」的標籤,左手邊頁面,選擇「Server settings(伺服器設定)」連結。
Force server URL settings(強迫伺服器 URL 設定)」設定為「NO(否)」,如下圖。
圖檔

在左手邊頁面,選擇「Board settings(討論區設定)」連結。確認「Disable board(停用討論區)」設定為「YES(是)」。

備份

備份 phpBB 檔案

在這裡,我們將得到您 phpBB 論壇的資料夾以及資料庫的備份。
利用 FileZilla 連結到您舊的網域名稱。
瀏覽您的 phpBB 資料夾,複製它的內容到您的電腦中之一個資料夾,如下圖。
圖檔

確認所有檔案和資料夾已經被正確地轉移。

注意:請確認您的 FTP 程式設訂為使用「二進位檔案」模式,且沒有副檔名。
在 FileZilla,可以在此改變:
編輯 > 設定 > 傳輸 > 檔案類別,取消勾選將無副檔名的檔案視作文字檔案」。
參考 https://www.phpbb.com/kb/article/transf ... filezilla/

備份資料庫

選擇以下三個選項之一,備份您的資料庫。
根據您的需要和您有什麼工具,以決定您使用哪一個是最好的。

1) 使用 phpMyAdmin 備份資料庫

加載 phpMyAdmin。根據您的伺服器上如何設定 phpMyAdmin,下面顯示的圖片會略有不同。
重要提示:如果您使用 phpMyAdmin 3.4.3.2 或更高版本,請按照在引言中的說明,備份你的資料庫。

1. 按 「Export(匯出)」 標籤 (截圖)。

2. 按「Custom - display all possible options(自訂 - 顯示所有可用的選項)」單選按鈕。這將顯示許多選項。
按資料庫突出。選擇「Save output to a file(儲存爲檔案)」單選按鈕。
給您的備份一個名稱,和將「compression(壓縮)」設定為「None(無)」。
底下的 FORMAT(格式),從下拉式選單中選擇 SQL。
底下的 Format-specific options(格式特定選項),選擇 Dump table(轉存資料表)底下的「structure and data(結構和資料)」單選按鈕。
底下的 Data-dump options(資料匯出選項),確認「include column names in every INSERT statement(給每個 INSERT 指令加上欄位名稱)」單選按鈕已經選取。
最後,按底部的「GO(執行)」(截圖)。
從左框下拉式選單中,選擇您的論壇資料庫 。
圖檔

在右框中,選擇「Export(匯出)」標籤。
在這頁面的「Export(匯出)」部分,確定要選擇「Select All(全選)」以及「SQL」單選按鈕。
在該頁面的「Options(選項)」部分,確認「Add(新增)DROP TABLE」已被選中。

下面這個在「資料」部分的設定,確認「Complete inserts」已被選中,「Extended inserts」未被選中。
圖檔

在頁面底部,請勾選「Save as file(另存檔案)」。保留預設的檔案名稱,和選擇用 gzipped(gzip 壓縮)

注意:一些代管服務的主機商不提供 gzip 作為一個選項。
請聯繫您代管服務的主機商,看看是否有提供。
但是,大部分主機商都會有這樣的提供。
如果沒有 gzip 選項,那麼請選擇「None」。

任何上頭沒有直接提到的其他設定,應該保留它的預設值。

按「Go(執行)」,將檔案儲存到您的電腦。繼續還原的部分。

2) 使用 SSH 備份資料庫

打開一個 SSH 連接到您的伺服器,然後瀏覽到您想儲存備份的資料庫檔案之位置。
運行下面的指令來備份資料庫:

代碼: 選擇全部

mysqldump -u USERNAME -p PASSWORD --default-character-set=utf8 DATABASE_NAME | gzip > NAME_OF_FILE.GZ
務必確定「USERNAME(使用者名稱)」和「PASSWORD(密碼)」是資料庫的正確之值。
另外,一定要以「DATABASE_NAME」作為您新創建的資料庫名稱,
和以「NAME_OF_FILE.GZ」作為資料庫的備份檔案之全名。

打開一個 FTP 連接到您的伺服器,瀏覽到這個檔案被儲存的位置。傳送它到您的電腦。

3) 使用 phpBB ACP 備份資料庫

此選項,對於低於平均規模的資料庫或不能使用 phpMyAdmin 的論壇,是一個很好的解決方案。

進入您舊論壇的管理員控制台。
選擇「Maintenance(維護)」標籤。點選左手邊的「Backup(備份)」。

確認所有如下圖顯示的選項都已選取。點選「送出」進行備份之前,務必確定點選「Select all(全部選擇)」。

注意:一些代管主機商不提供 gzip 作為一個選項。如果沒有列出,請選擇 Text(純文字檔)
圖檔

點選「Submit(送出)」。
根據資料庫的大小和伺服器的基本配置,這將需要一些時間來處理。
您將下載一個檔案,儲存到您的電腦。

還原

還原資料庫

在您的新的代管主機 / 域名,建立一個新的空白資料庫,以轉移論壇的資料。
請注意的資料庫名稱、使用者名稱和密碼。

選擇以下三種方法之一還原您的資料庫。
使用哪個最好,則得依據您的需要以及您有什麼可用的工具。

1) 如果資料庫檔案小於 2 MB(準確地),請按照下列指示:

加載 phpMyAdmin 在您的新的代管主機 / 域名。
從左手邊的下拉式選單中選擇新的資料庫。
在右手邊視窗,選擇「Import(匯入)」標籤。
瀏覽您的電腦上的資料庫檔案。確定的「Character(字集)」設定成 utf8

點選「Go(執行)」。根據您的網路連接,這可能需要一些時間來加載。
如果一切順利的話,將會出現一個確認消息。前進到下一步驟。

2) 如果資料庫檔案大於 2 MB(準確地),而您想要使用 BigDump,請按照下列指示:

解壓縮 bigdump.zip 檔案,然後用純文字編輯器開啟 bigdump.php

找到以下的代碼,並適當地填寫您的資料庫名稱、使用者名稱和密碼:

代碼: 選擇全部

 // Database configuration

$db_server   = 'localhost';
$db_name     = '';
$db_username = '';
$db_password = '';
大多數人會保留「$ db_server」它的預設值「localhost」。
不過,如果您的代管服務的主機有特別不同的資料庫伺服器 / ip,那麼一定要相應地改變它。
這「$db_server」名稱在您的 config.php 檔案中是「$dbhost」。
如果您不太確定,那麼請聯繫您的代管服務的主機商以找出。

找到:

代碼: 選擇全部

$db_connection_charset = '';
取代成:

代碼: 選擇全部

$db_connection_charset = 'utf8';
找到:

代碼: 選擇全部

$linespersession  = 3000;   // Lines to be executed per one import session
$delaypersession  = 0;
取代成:

代碼: 選擇全部

$linespersession  = 3000;   // Lines to be executed per one import session
$delaypersession  = 300;
儲存檔案。

使用 FileZilla,打開一個 FTP 連接到您的伺服器。
在您的伺服器上建立一個新的資料夾,取名為「dump」。
設定此資料夾的權限為完全的寫入。
通常,您需要右鍵單擊該檔案,選擇檔案權限屬性
設定權限為 777,如下圖。
圖檔

同時上傳 bigdump.php 和資料庫備份的檔案到這個資料夾內。
將您的瀏覽器指向您的新域名之 dump/bigdump.php
按照螢幕上的說明匯入資料庫備份的檔案。

根據備份的大小,這將需要一些時間來完成。
執行過程中,請不要關閉瀏覽器。
當它完成時,您將收到確認消息。
上述過程完成後,從你的伺服器刪除 dump 資料夾。繼續執行的指令。

3) 如果您想要使用 SSH 還原資料庫備份,請按照下列指示:

經由 FTP 上傳資料庫備份的 SQL 檔案到您的伺服器上。

打開一個 SSH 連接到您的伺服器,然後瀏覽到 SQL 檔案的位置。
在 SSH 運行下面的命令來恢復資料庫。

代碼: 選擇全部

gunzip < NAME_OF-FILE.GZ | mysql -u USERNAME -p PASSWORD --default-character-set=utf8 DATABASE_NAME
務必確定「USERNAME(使用者名稱)」和「PASSWORD(密碼)」是資料庫的正確之值。
另外,一定要以「DATABASE_NAME」作為您新創建的資料庫名稱,
和以「NAME_OF_FILE」作為資料庫的備份 SQL/GZ 檔案之全名。

注意:上面的命令只適用在如果資料庫匯出是用 gzip 壓縮的。
否則,如果資料庫不是用 gzip 壓縮或您在上述步驟中選擇「Text(文字)」或「None(無)」,那麼使用下面的命令來代替:

代碼: 選擇全部

mysql -u USERNAME -p PASSWORD --default-character-set=utf8 DATABASE_NAME < NAME_OF-FILE
根據資料庫備份的大小,這將需要一些時間來完成。
如果沒有任何錯誤,您將獲得提示。

還原 phpBB 檔案

經由 FTP 上傳備份的 phpBB 檔案,到新伺服器上您所指定的位置。

最後的步驟

重新建立 config.php 檔案

請參考下面的文章之必要的步驟,重建您的 config.php 檔案,並取代舊的:
http://www.phpbb.com/kb/article/rebuild ... gphp-file/

更新您的資料庫

請注意,如果在新主機上 phbBB 的版本高於舊主機上的版本,這一步才是必要的,。

使用 FTP 上傳您已經安裝的新主機的 phpBB 版本之「install」資料夾。
然後,瀏覽到 http://www.your_domain/your_forum_folder/install/database_update.php(按 Enter)。
當此 script 已完成,刪除「install」資料夾。

改變您論壇的 cookie 設定

請注意,如果您已經轉移到一個新的域名,這一步才是必要的。

參考下面的文章,以了解更新您論壇的 cookie 設定之必要的步驟:
http://www.phpbb.com/kb/article/fixing- ... -settings/

恭喜您!
  • 1263276000 - edited by ric323 to note FTP should use binary mode for files with no extension.
  • 1263308381 - added further clarification to the above edit as suggested by RMcGirr83
  • 1263802302 - Bug #56755
  • 1267643116 - edited by stevemaury to clean up MySQL syntax
  • 1340036412 - edited by stevemaury to add database updating instructions
--
資料來源:
https://www.phpbb.com/kb/article/transf ... or-domain/

--
p.s.
上頭關於設定檔案權限或屬性的圖片是錯誤的;
如果您有這方面的問題,那麼請參考下列文章:

viewtopic.php?f=176&t=52249

本文同步發表於譯者之討論區中
施比受有福,歡迎來信賜教,謝謝 & 再見!
祝福您 好運 ^_^
歡迎加入★★心靈捕手★★ :: 討論區!!
http://wang5555.hopto.org/phpBB3/
p.s. 奉老婆之命:在晚上十一點前,得關機睡覺!!!

回覆文章

回到「3.0」