升級 Drupal

Edge for Private Cloud 4.19.01 版

在 Apigee Developer Services 入口網站 (或簡稱「入口網站」) 的 Edge for Private Cloud 安裝作業中,您可能會收到新版 Drupal 可用的通知。新版本可能是指 Drupal 功能版本、修補程式、安全性更新或其他類型的 Drupal 更新。如果是安全性更新,請盡快升級 Drupal 安裝,確保網站安全。

升級 Drupal 核心

以下程序說明如何將 Drupal 7.x.y 的私有雲安裝作業更新至其他子版本 (例如從 Drupal 7.54 更新至 7.59)。

請注意下列事項:

  • 這項程序只會更新 Drupal 安裝。不會更新入口網站隨附的 Apigee 軟體。如要瞭解如何升級 Apigee 入口網站軟體,請參閱「升級入口網站」。

    在私有雲升級期間 (例如從 4.18.05 升級至 4.19.01),如果 Apigee 更新公用程式實際降級您的 Drupal 版本,您可能需要重新執行 Drupal 升級公用程式。詳情請參閱「重新執行 Drupal 升級作業」。

  • 您必須從入口網站的根目錄執行 Drush (Drupal Shell) 指令。入口網站預設安裝位置為:
    • /opt/apigee/apigee-drupal/wwwroot (Nginx)
    • /var/www/html (Apache)
    以下程序假設 Nginx 伺服器安裝在上述預設位置。

確認目前的 Drupal 版本

開始更新 Drupal 前,請在 Drupal 安裝資料夾中執行下列指令,判斷目前的 Drupal 版本。根據預設,Drupal 會安裝在 /opt/apigee/apigee-drupal/wwwroot:

cd /opt/apigee/apigee-drupal/wwwroot
drush status | grep 'Drupal version'

輸出內容應如下所示:

Drupal version          :  7.54

如果您將 Drupal 安裝在 /opt/apigee/apigee-drupal/wwwroot 以外的目錄,請務必先切換至該目錄,再執行 drush 指令。

更新 Drupal 版本

本節說明如何透過指令列使用 Drush 指令更新 Drupal 版本。另請參閱「使用 Drush 更新 Drupal (Drupal.org)」。

如要更新 Drupal 安裝:

  1. 切換至 /opt/apigee/apigee-drupal/wwwroot 目錄,或您安裝入口網站的目錄。
  2. 完整備份所有檔案、目錄和資料庫。請將備份儲存在 Drupal 安裝位置以外的地方。如需完整操作說明,請參閱「備份入口網站」。

    如果您修改了 .htaccess、robots.txt 或 defaults.settings.php (位於 sites 目錄中) 等檔案,則必須在更新後重新套用變更。您也必須重新套用在 sites/all 目錄中進行的任何自訂設定。

  3. 將網站設為維護模式:
    drush vset --exact maintenance_mode 1
    drush cache-clear all
  4. 使用下列指令安裝所需版本的 Drupal:
    drush pm-update drupal-version

    其中 version 是所需版本。

    或者,您也可以執行 drush pm-update drupal,更新至最新的 Drupal 核心版本。您可以執行 drush pm-updatestatus,列出 Drupal 核心和貢獻專案可用的次要更新。

  5. 重新套用對 .htaccess、robots.txt 或 defaults.settings.php (位於 sites 目錄中) 所做的任何變更。
  6. 重新套用對 sites/all 目錄所做的任何變更。
  7. 將網站移出維護模式:
    drush vset --exact maintenance_mode 0
    drush cache-clear all

升級 PHP 和 Drupal contrib 模組

按照本節上述操作說明升級 Drupal 時,Drupal 使用的模組 (例如 contrib 和 PHP) 也會一併升級。不過,在私有雲版本之間,您應隨時掌握最新的 Drupal 模組。

請注意,如果模組位於 /profiles/apigee/modules/contrib,您可以將較新版本的模組儲存在 /sites/all/modules/contrib,藉此取代該模組。Edge for Private Cloud 使用 /sites/all/modules/contrib 中的新版本,而非 /profiles/apigee/modules/contrib 中的舊版本。詳情請參閱「更新模組 (Drupal.org)」一文。

如果您安裝的新版私有雲包含先前儲存在 /sites/all/modules/contrib 中的模組較新版本,請從 /sites/all/modules/contrib 移除該模組。詳情請參閱「移動模組和主題 (Drupal.org)」。

如果更新時遇到問題,該怎麼辦?

使用建立的備份檔案,將網站還原至先前的狀態。請與 Apigee Edge 支援團隊聯絡,並提供更新期間回報的任何錯誤訊息。