升级开发者服务门户

开发者服务门户 v. 4.17.09

此过程介绍了如何升级现有的 Apigee 开发者渠道服务本地安装。

确定正确的更新流程

您用于更新门户的步骤取决于您当前的安装方式:

确定当前的安装类型

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

  • 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)

默认安装目录

升级流程假定开发者门户的安装位置:

  • 4.17.05 及更高版本:/opt/apigee/apigee-drupal/wwwroot
  • 4.17.05 之前:/opt/apigee/apigee-drupal(Nginx)或 /var/www/html(Apache)

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

支持的升级版本

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

  • OPDK-17-01.x
  • OPDK-17-05.x

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

http://your_portal.com/buildInfo

更新前

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

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

使用 RPM 升级门户

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

  1. 切换到 Drupal 目录。例如 /opt/apigee/apigee-drupal/wwwroot

    cd /opt/apigee/apigee-drupal/wwwroot

    如需了解产品版本的默认目录,请参阅默认安装目录

  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 属性所指定。
    • 系统会提示您输入门户安装配置文件中 DRUPAL_PG_PASS 属性所定义的 Postgres 用户密码。

    如果您日后必须从备份中恢复,请使用以下命令:

    pg_restore --clean --dbname=devportal --host=localhost  --username=apigee < /tmp/portal.dmp
  3. 备份整个 Drupal Web 根目录。默认安装位置为 /opt/apigee/apigee-drupal,但您可能已对其进行了更改。
    如果您不确定此目录的位置,请使用 drush status 命令或 Drupal 菜单中的 Configuration > Media > File 条目来确定公共文件系统和私有文件系统路径的位置(以便执行下一步)。
  4. 备份 /opt/apigee/data/apigee-drupal-devportal/private 中的文件。
  5. 将 Drupal 设为维护模式:
    1. 在 Drupal 菜单中,选择配置
    2. 配置页面上,选择开发下的维护模式
    3. 选中将网站置于维护模式复选框。
    4. 输入用户在维护期间会看到的消息。
    5. 选择保存配置
  6. 按照安装 Edge apigee-setup 实用程序中的说明,停用 SELinux。
  7. 切换到 /opt 目录:
    cd /opt
  8. 在连接到互联网的服务器上进行升级
    1. 将 Edge 4.17.09 bootstrap_4.17.09.sh 文件下载到 /tmp/bootstrap_4.17.09.sh
      curl https://software.apigee.com/bootstrap_4.17.09.sh -o /tmp/bootstrap_4.17.09.sh
    2. 安装 Edge 4.17.09 apigee-service 实用程序和依赖项:
      sudo bash /tmp/bootstrap_4.17.09.sh apigeeuser=uName
        apigeepassword=pWord

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

      默认情况下,安装程序会检查您是否已安装 Java 1.8。您可以使用“C”选项继续操作,而无需安装 Java。

  9. 如需在未连接到互联网的服务器上进行升级,请执行以下操作
    1. 按照安装 Edge apigee-setup 实用程序中的“创建本地 Apigee 代码库”部分中的说明创建本地 4.17.09 代码库。
    2. 如需从 .tar 文件安装 apigee-service,请执行以下操作:
      1. 在包含本地代码库的节点上,使用以下命令将本地代码库打包到名为 /opt/apigee/data/apigee-mirror/apigee-4.17.09.tar.gz 的单个 .tar 文件中:
        /opt/apigee/apigee-service/bin/apigee-service apigee-mirror package
      2. 将 .tar 文件复制到您要更新 Edge 的节点。例如,将其复制到新节点上的 /tmp 目录。
      3. 在新节点上,将文件解压缩到 /tmp 目录:
        tar -xzf apigee-4.17.09.tar.gz

        此命令会在包含 .tar 文件的目录中创建一个名为 repos 的新目录。例如 /tmp/repos。

      4. /tmp/repos 安装 Edge apigee-service 实用程序和依赖项:
        sudo bash /tmp/repos/bootstrap_4.17.09.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos

        请注意,您需要在此命令中添加代码库目录的路径。

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

        其中 uName:pWord 是您在上文中为代码库设置的用户名和密码,remoteRepo 是代码库节点的 IP 地址或 DNS 名称。

      3. 在远程节点上,安装 Edge apigee-service 实用程序和依赖项:code
        sudo bash /tmp/bootstrap_4.17.09.sh apigeerepohost=remoteRepo:3939
          apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://

        其中,uName:pWord 是代码库用户名和密码。

  10. 使用 apigee-service 更新 apigee-setup 实用程序:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup update
  11. 在您的节点上运行更新实用程序,以更新 Postgres 数据库:
    /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile

    其中 configFile 是您用于安装 Postgres 数据库的配置文件。对配置文件的唯一要求是,“apigee”用户必须能够访问或读取该配置文件。

  12. 启动 Postgres:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql start
  13. 在节点上运行更新实用程序以更新门户:
    /opt/apigee/apigee-setup/bin/update.sh -c dp -f configFile

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

  14. 在浏览器窗口中打开以下网址,运行 Drupal 的 update.php 脚本:
    http://portalIP_DNS:8079/update.php
  15. 将 Drupal 停用为维护模式:
    1. 在 Drupal 菜单中选择配置
    2. 配置页面上,选择开发下的维护模式
    3. 取消选中将网站置于维护模式复选框。
    4. 选择保存配置

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

/opt/apigee/apigee-drupal/wwwroot

升级现已完成。