升级 Drupal

在 Apigee 开发者服务门户(以下简称“门户”)的 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.org) 更新 Drupal

如需更新 Drupal 安装,请执行以下操作

  1. 切换到 /opt/apigee/apigee-drupal/wwwroot 目录或您安装门户的目录。
  2. 完整备份所有文件、目录和数据库。将备份保存在 Drupal 安装位置之外的位置。如需查看完整说明,请参阅备份门户

    如果您修改了 .htaccessrobots.txtdefaults.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. 重新应用对 .htaccessrobots.txtdefaults.settings.php(在 sites 目录中)所做的任何更改。
  6. 重新应用对 sites/all 目录所做的任何更改。
  7. 让您的网站退出维护模式:
    drush vset --exact maintenance_mode 0
    drush cache-clear all

升级 PHP 和 Drupal 贡献模块

使用本部分中的上述说明升级 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)

如果您安装的新版 Private Cloud 包含之前存储在 /sites/all/modules/contrib 中的较新版本的模块,请从 /sites/all/modules/contrib 中移除该模块。如需了解详情,请参阅迁移模块和主题 (Drupal.org)

如果我在更新过程中遇到问题,该怎么办?

使用您创建的备份文件将您的网站恢复到之前的状态。请与 Apigee Edge 支持团队联系,并提供更新期间报告的所有错误消息。