升级 Drupal

在 Edge for Private Cloud 中安装 Apigee Developer Services 门户(简称门户)时,您可能会收到一条通知,告知您有新版 Drupal。新版本可能意味着 Drupal 功能版本、补丁、安全更新或其他类型的 Drupal 更新。如果出现安全更新,您需要尽快升级 Drupal 的安装,以确保您的网站始终安全无虞。

升级 Drupal 核心

以下过程介绍了如何将 Drupal 7.x.y 的 Private Cloud 安装更新为其他次要版本(例如,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 安装之外的位置。如需查看完整说明,请参阅备份门户

    如果您对 .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 核心和 contrib 项目可用的次要更新。

  5. 重新应用对 .htaccessrobots.txtdefaults.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 使用 /sites/all/modules/contrib 中的较新版本,而不是 /profiles/apigee/modules/contrib 中的较旧版本。如需了解详情,请参阅更新模块 (Drupal.org)

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

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

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