升级开发者服务门户

开发者服务门户 v. 4.17.05

此过程介绍了如何升级现有的 Apigee Developer Channel Services 本地安装。

确定正确的更新过程

您用于更新门户的过程取决于您当前的安装:

确定当前安装类型

如果您不确定当前的安装类型,请使用以下命令进行确定:

  • ls /opt
    如果您使用的是 Nginx/Postgres,则会看到以下目录:/opt/apigee 和 /opt/nginx。

    如果您使用的是 Apache/MySQL 或 Apache/MariaDB,则不应存在这些目录。
  • /opt/apigee/apigee-service/bin/apigee-all status
    如果您使用的是 Nginx/Postgres,则会看到以下输出:

    + apigee-service apigee-drupal-devportal status
    OK: apigee-drupal-devportal is up and running
    + apigee-service apigee-lb status
    apigee-service: apigee-lb: OK
    + apigee-service apigee-postgresql status
    apigee-service: apigee-postgresql: OK
  • apachectl -S
    如果您使用的是 Apache/MySQL 或 Apache/MariaDB,则此命令应返回门户的 Web 根目录,格式如下:

    *:80 192.168.56.102 (/etc/httpd/conf/vhosts/devportal.conf:1)

默认安装目录

升级过程假定开发者门户安装在以下位置:

  • /opt/apigee/apigee-drupal (Nginx)
  • /var/www/html (Apache)

如果您未在默认目录中安装门户,请修改以下过程中的路径,以使用您的安装目录。

如果您不知道安装目录,可以按照常用的 Drush 命令中的说明进行确定。

从新的 4.17.01 安装更新 Nginx/Postgres 后的新默认安装目录

更新使用 Nginx/Postgres 的 4.17.01 新安装后,根目录从以下位置更改:

/opt/apigee/apigee-drupal

更改为:

/opt/apigee/apigee-drupal/wwwroot

支持的升级版本

以下版本的门户支持此升级过程:

  • pantheon-14.02.x
  • pantheon-14.03.x
  • pantheon-14.04.x
  • pantheon-14.07.x
  • pantheon-15-01.x
  • OPDK-15-04.x
  • OPDK-15-07.x
  • OPDK-16-01.x
  • OPDK-16-05.x
  • OPDK-16-09.x
  • OPDK-17-01.x

如需确定门户版本,请在浏览器中打开以下网址:

http://yourportal.com/buildInfo

更新前

对于现有安装,如果您修改了 Drupal 核心或任何非自定义模块中的任何代码,您的修改将被覆盖。这包括您可能对 .htaccess 所做的任何更改。 您应假定 /sites 目录之外的所有内容都归 Drupal 所有。此规则的一个例外是 robots.txt;如果此文件存在于 Web 根目录中,系统会为您保留该文件。

在继续安装之前,请备份整个 Drupal Web 根目录。执行下述安装步骤后,您可以从备份中恢复自定义设置。

使用 .tar 文件升级门户

  1. 备份 Drupal MySQL/MariaDB 实例。
    如需了解详情,请参阅 http://www.thegeekstuff.com/2008/09/backup-and-restore-mysql-database-using-mysqldump/
    1. 方法 1:使用 Drush

      Drush 命令 sql-dump 会创建数据库的副本。在 Drupal 目录(默认为 /var/www/html)中,运行以下命令:
      > drush sql-dump > /path/to/backup_dir/database-backup.sql

      如需了解详情,请使用 drush help sql-dump。
    2. 方法 2:使用 MySQLdump
      使用 mysqldump 命令创建数据库副本:
      mysqldump -u USERNAME -p'PASSWORD' DATABASENAME > /path/to/backup_dir/database-backup.sql

      -p 选项和密码之间不应有空格。如果密码包含特殊字符,则必须用单引号括住密码。

      您在安装门户时设置了 USERNAME 和 DATABASENAME。默认情况下,两者都是 devportal。
  2. 备份整个 Drupal Web 根目录。默认安装位置为 /var/www/html,但您可能在安装时更改了该位置。
  3. 从 ftp.apigee.com 下载开发者渠道服务 DeveloperServices_x.y.z.tar 文件,其中 x.y.z 对应于门户版本号。出现提示时,输入您从 Apigee 收到的凭据。

    您可以在浏览器中通过 Apigee 发送给您的链接下载文件,也可以复制该链接,然后将其添加到以下 cURL 命令中:
    > curl -kOL <paste link here>

    注意:如果您的门户位于没有外部互联网连接的服务器上,请在具有访问权限的服务器上执行此步骤。

    前往 Apigee Edge 支持,然后选择登录支持门户,请求获取开发者渠道服务升级 .tar 文件。如果您没有支持门户账号,请选择登录支持门户,然后在登录页面上选择时间紧迫?点击此处提交支持服务工单。
  4. 对于在连接到互联网的服务器上进行的升级:
    1. 解压缩门户升级文件:
      > tar -xvf <tar file>

      此命令解压缩会创建一个名为 DeveloperServices-4.x.y.z 的新目录。
    2. 切换到 DeveloperServices-4.x.y.z 目录。
    3. 使用以下命令下载最新的 Drupal 版本:
      > drush dl drupal

      此命令会创建一个名为 drupal-x.y 的目录,其中 x.y 对应于当前版本的 Drupal。
    4. 运行 networked-update.sh 脚本:
      > ./networked-update.sh

      根据文件权限,您可能需要使用 sudo 运行此命令,或以管理员身份运行此命令。
    5. 如需接收 Drupal 更新通知,请确保已启用 Drupal 更新管理器模块。从 Drupal 菜单中选择模块,然后向下滚动到更新管理器模块。如果尚未启用,请将其启用。

      启用后,您可以使用报告 > 可用更新菜单项查看可用更新。

      使用 Reports > Available Updates > Settings 菜单项,将模块配置为在有可用更新时向您发送电子邮件,并设置检查更新的频率。
  5. 对于在没有互联网连接的服务器上进行的升级:
    1. 在下载了开发者渠道服务 DeveloperServices_x.y.z.tar 文件的服务器上,解压缩门户升级文件:
      > tar -xvf <tar file>

      此命令解压缩会创建一个名为 DeveloperServices-4.x.y.z 的新目录。
    2. 切换到 DeveloperServices-4.x.y.z 目录。
    3. 运行 non-networked-update.sh 脚本:
      > ./non-networked-update.sh

      根据文件权限,您可能需要使用 sudo 运行此命令,或以管理员身份运行此命令。

      此命令会下载所有必要的更新文件,并将其打包到名为 devportal-update.tgz 的单个文件中,然后将该文件写入您选择的位置。
    4. 将 devportal-update.tgz 复制到目标服务器(运行门户的服务器)。
      注意:请勿将 devportal-update.tgz 复制到目标服务器的 Web 根目录。
    5. 将 devportal-update.tgz 文件解压缩到当前目录:
      > tar -xzf /path/to/devportal-update.tgz
    6. 切换到 developer-update 目录。
    7. 运行以下命令以安装更新:
      > ./install-update.sh
    8. 回答提示。

升级现已完成。

使用 RPM 升级门户

请按照以下步骤更新节点上的门户 RPM:

  1. 切换到 Drupal 目录,默认为 /opt/apigee/apigee-drupal:
    > cd /opt/apigee/apigee-drupal
  2. 备份 Drupal 数据库实例。pg_dump 命令会创建数据库的副本:

    pg_dump --dbname=devportal --host=192.168.56.101 --username=drupaladmin --password --format=c > /tmp/portal.dmp

    其中:
    • dbname 指定数据库名称,如门户安装配置文件中的 PG_NAME 属性所指定。
    • host 指定门户节点的 IP 地址。
    • username 指定门户用于访问数据库的 Postgres 用户名,如门户安装配置文件中的 DRUPAL_PG_USER 属性所指定。
    • 系统会提示您输入 Postgres 用户密码,该密码由门户安装配置文件中的 DRUPAL_PG_PASS 属性定义。

    如果您以后必须从备份中恢复,请使用以下命令:
    pg_restore --clean --dbname=devportal --host=localhost --username=apigee < /tmp/portal.dmp
  3. 备份整个 Drupal Web 根目录。默认安装位置为 /opt/apigee/apigee-drupal,但您可能已更改该位置。

    如果您不确定此目录的位置,请使用 drush status 命令或 Drupal 菜单中的配置 > 媒体 > 文件条目来确定公共文件系统和私有文件系统路径的位置(用于下一步)。
  4. 备份 /opt/apigee/data/apigee-drupal-devportal/private 中的文件。
  5. 按照安装 Edge apigee-setup 实用程序中的说明停用 SELinux。
  6. 对于在连接到互联网的服务器上进行的升级:
    1. 将 Edge 4.17.05 bootstrap_4.17.05.sh 文件下载到 /tmp/bootstrap_4.17.05.sh:
      > curl https://software.apigee.com/bootstrap_4.17.05.sh -o /tmp/bootstrap_4.17.05.sh
    2. 安装 Edge 4.17.05 apigee-service 实用程序和依赖项:
      > sudo bash /tmp/bootstrap_4.17.05.sh apigeeuser=uName apigeepassword=pWord

      其中 uName:pWord 是您从 Apigee 收到的用户名和密码。如果您省略 pWord,系统会提示您输入该参数。

      默认情况下,安装程序会检查您是否已安装 Java 1.8。您可以使用“C”选项继续操作,而无需安装 Java。
  7. 对于在没有互联网连接的服务器上进行的升级:
    1. 按照安装 Edge apigee-setup 实用程序中的“创建本地 Apigee 代码库”中所述,创建本地 4.17.05 代码库。
      注意:如果您已有 4.17.01 代码库,则可以向其添加 4.17.05 代码库,如安装 Edge apigee-setup 实用程序中的“更新本地 Apigee 代码库”中所述。
    2. 如需从 .tar 文件安装 apigee-service,请执行以下操作:
      1. 在具有本地代码库的节点上,使用以下命令将本地代码库打包到名为 /opt/apigee/data/apigee-mirror/apigee-4.17.05.tar.gz 的单个.tar 文件中:
        > /opt/apigee/apigee-service/bin/apigee-service apigee-mirror package
      2. 将 .tar 文件复制到要更新 Edge 的节点。例如,将其复制到新节点上的 /tmp 目录。
      3. 在新节点上,将文件解压缩到 /tmp 目录:
        > tar -xzf apigee-4.17.05.tar.gz

        此命令会在包含 .tar 文件的目录中创建一个名为 repos 的新目录。例如 /tmp/repos。
      4. 从 /tmp/repos 安装 Edge apigee-service 实用程序和依赖项:
        > sudo bash /tmp/repos/bootstrap_4.17.05.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos

        请注意,您在此命令中添加了 repos 目录的路径。
    3. 如需使用 Nginx Web 服务器安装 apigee-service,请执行以下操作:
      1. 按照安装 Edge apigee-setup 实用程序中的“使用 Nginx Web 服务器从代码库安装”中的说明配置 Nginx Web 服务器。
      2. 在远程节点上,将 Edge bootstrap_4.17.05.sh 文件下载到 /tmp/bootstrap_4.17.05.sh:
        > /usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrap_4.17.05.sh -o /tmp/bootstrap_4.17.05.sh

        其中,uName:pWord 是您在上面为代码库设置的用户名和密码,remoteRepo 是代码库节点的 IP 地址或 DNS 名称。
      3. 在远程节点上,安装 Edge apigee-service 实用程序和依赖项:
        > sudo bash /tmp/bootstrap_4.17.05.sh apigeerepohost=remoteRepo:3939 apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://

        其中 uName:pWord 是代码库用户名和密码。
  8. 使用 apigee-service 更新 apigee-setup 实用程序:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-setup update
  9. 在节点上运行更新实用程序以更新 Postgres 数据库:
    > /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile

    其中,configFile 是您用于安装 Postgres 数据库的配置文件。对配置文件的唯一要求是配置文件必须可供“apigee”用户访问或读取。
  10. 启动 Postgres:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql start
  11. 在节点上运行更新实用程序以更新门户:
    > /opt/apigee/apigee-setup/bin/update.sh -c dp -f configFile

    其中 configFile 是您用于安装门户的配置文件。对配置文件的唯一要求是,配置文件必须可供“apigee”用户访问或读取。

请注意,更新后的根目录现在为:

/opt/apigee/apigee-drupal/wwwroot

升级现已完成。