Developer Services ポータルのアップグレード

Developer Services Portal v. 4.17.09

ここでは、オンプレミスの 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 を使用している場合、次の形式でポータルのウェブルート ディレクトリが返されます。

    *: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

ポータルのバージョンを確認するには、ブラウザで次の URL を開きます。

http://your_portal.com/buildInfo

アップデート前の準備

既存のインストールの場合、Drupal コアまたはカスタム以外のモジュールのコードを変更していると、変更が上書きされます。これには、.htaccess に加えた変更などが含まれます。/sites ディレクトリ外のものはすべて Drupal が所有していると想定する必要があります。このルールの例外は robots.txt です。このファイルがウェブルートに存在する場合は、保持されます。

インストールを続行する前に、Drupal ウェブのルート ディレクトリ全体のバックアップを作成します。以下で説明するインストール手順を完了したら、バックアップからカスタマイズを復元できます。

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 は、Portal インストール構成ファイルの 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 のウェブルート ディレクトリ全体のバックアップを作成します。デフォルトのインストール場所は /opt/apigee/apigee-drupal ですが、変更されている可能性があります。
    このディレクトリの場所が不明な場合は、drush status コマンドまたは Drupal メニューの [Configuration] > [Media] > [File] エントリを使用して、パブリック ファイル システムとプライベート ファイル システムのパスの場所を特定します(次のステップで使用します)。
  4. /opt/apigee/data/apigee-drupal-devportal/private 内のファイルのバックアップを作成します。
  5. Drupal をメンテナンス モードに設定します。
    1. Drupal メニューで [Configuration] を選択します。
    2. [構成] ページで、[開発] の [メンテナンス モード] を選択します。
    3. [Put site into maintenance mode] チェックボックスをオンにします。
    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. Edge を更新する対象のノードに .tar ファイルをコピーします。たとえば、新しいノードの /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

        コマンドに repos ディレクトリへのパスが含まれている点に注意してください。

    3. Nginx ウェブサーバーを使用して apigee-service をインストールするには:
      1. Edge apigee-setup ユーティリティのインストールの「Nginx ウェブサーバーを使用してリポジトリからインストールする」の手順に沿って、Nginx ウェブサーバーを構成します。
      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 ユーティリティと依存関係をインストールします。
        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. ブラウザ ウィンドウで次の URL を開いて、Drupal の update.php スクリプトを実行します。
    http://portalIP_DNS:8079/update.php
  15. Drupal をメンテナンス モードに無効にします。
    1. Drupal メニューで [Configuration] を選択します。
    2. [構成] ページで、[開発] の [メンテナンス モード] を選択します。
    3. [Put site into maintenance mode] チェックボックスをオフにします。
    4. [設定を保存] を選択します。

更新後のルート ディレクトリは次のようになります。

/opt/apigee/apigee-drupal/wwwroot

これでアップグレードは完了です。