ポータルをアップグレードする

Edge for Private Cloud v4.19.01

ここでは、オンプレミスの Apigee Developer 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
  • OPDK-17-09.x
  • OPDK-18-01.x
  • OPDK-18-05.x

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

http://yourportal.com/buildInfo

アップデート前の準備

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

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

RPM を使用してポータルをアップグレードする

ノード上のポータル RPM を更新するには:

  1. Drupal ディレクトリ(デフォルトでは /opt/apigee/apigee-drupal)に移動します。
    cd /opt/apigee/apigee-drupal
  2. Drupal データベース インスタンスをバックアップします。pg_dump コマンドは、データベースのコピーを作成します。
    pg_dump --dbname=devportal --host=host_IP_address --username=drupaladmin
      --password --format=c > /tmp/portal.dmp

    ここで

    • devportal は、ポータル インストール構成ファイルの PG_NAME プロパティで指定されたデータベース名です。
    • host_IP_address は、ポータルノードの IP アドレスです。
    • drupaladmin は、ポータル インストール構成ファイルの DRUPAL_PG_USER プロパティで指定された、ポータルがデータベースにアクセスするために使用する Postgres ユーザー名です。

    ポータル インストール構成ファイルの 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.19.01 bootstrap_4.19.01.sh ファイルを /tmp/bootstrap_4.19.01.sh にダウンロードします。
      curl https://software.apigee.com/bootstrap_4.19.01.sh -o /tmp/bootstrap_4.19.01.sh
    2. Edge 4.19.01 apigee-service ユーティリティと依存関係をインストールします。
      sudo bash /tmp/bootstrap_4.19.01.sh apigeeuser=uName apigeepassword=pWord

      ここで、uName と pWord は Apigee から受け取ったユーザー名とパスワードです。pWord を省略すると、入力するよう求められます。

      デフォルトでは、インストーラは Java 1.8 がインストールされていることを確認します。「C」オプションを使用すると、Java をインストールせずに続行できます。

  9. インターネットに接続されていないサーバーでアップグレードする場合:
    1. ローカルに Apigee リポジトリを作成するの手順で 4.19.01 リポジトリをローカルに作成します。
    2. .tar ファイルから apigee-service をインストールするには:
      1. ローカル リポジトリがあるノードで、次のコマンドを使用して、ローカル リポジトリを /opt/apigee/data/apigee-mirror/apigee-4.19.01.tar.gz という名前の単一の .tar ファイルにパッケージ化します。
        /opt/apigee/apigee-service/bin/apigee-service apigee-mirror package
      2. Edge を更新する対象のノードに .tar ファイルをコピーします。たとえば、新しいノードの /tmp ディレクトリにコピーします。
      3. 新しいノードで、ファイルを /tmp ディレクトリに解凍します。
        tar -xzf apigee-4.19.01.tar.gz

        このコマンドにより、.tar ファイルを含むディレクトリに repos という名前の新しいディレクトリが作成されます。(例: /tmp/repos)。

      4. /tmp/repos から Edge apigee-service ユーティリティと依存関係をインストールします。
        sudo bash /tmp/repos/bootstrap_4.19.01.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos

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

    3. Nginx ウェブサーバーを使用して apigee-service をインストールするには:
      1. Edge apigee-setup ユーティリティのインストールの「Nginx ウェブサーバーを使用してリポジトリからインストールする」の手順に沿って、Nginx ウェブサーバーを構成します。
      2. リモートノードで、Edge bootstrap_4.19.01.sh ファイルを /tmp/bootstrap_4.19.01.sh にダウンロードします。
        /usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrap_4.19.01.sh
          -o /tmp/bootstrap_4.19.01.sh

        ここで、uName と pWord は、上記でリポジトリに設定したユーザー名とパスワードです。remoteRepo は、リポジトリ ノードの IP アドレスまたは DNS 名です。

      3. リモートノードで、Edge apigee-service ユーティリティと依存関係をインストールします。
        sudo bash /tmp/bootstrap_4.19.01.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. ノードでアップデート ユーティリティを実行して、ポータルをアップデートします。
    /opt/apigee/apigee-setup/bin/update.sh -c dp -f configFile

    ここで、configFile はポータルのインストールに使用した構成ファイルです。構成ファイルの唯一の要件は、構成ファイルが「apigee」ユーザーによってアクセス可能または読み取り可能であることです。

  13. ブラウザ ウィンドウで次の URL を開いて、Drupal の update.php スクリプトを実行します。
    http://portal_IP_DNS:8079/update.php
  14. メンテナンス モードを無効にします。
    1. Drupal メニューで [Configuration] を選択します。
    2. [構成] ページで、[開発] の [メンテナンス モード] を選択します。
    3. [Put site into maintenance mode] チェックボックスをオフにします。
    4. [設定を保存] を選択します。

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

/opt/apigee/apigee-drupal/wwwroot

これでアップグレードは完了です。Apigee 更新ユーティリティによって Drupal のバージョンがダウングレードされた場合は、Drupal アップグレード ユーティリティを再度実行する必要があります。詳細については、Drupal のアップグレードを再実行するをご覧ください。

Drupal のアップグレードを再度実行する

Apigee 更新ユーティリティを実行して Edge for Private Cloud をアップグレードした結果、Drupal のバージョンがダウングレードされた場合は、Drupal のアップグレードを再インストールします。これは、Private Cloud の更新の間に Drupal のみをアップグレードした場合に発生することがあります。

次に例を示します。

  1. Edge for Private Cloud のバージョン 4.18.05 を実行していました。これには Drupal 7.59 が含まれています。
  2. 必要なセキュリティ アップデートのため、Drupal を 7.64 にアップグレードしました。
  3. プライベート クラウド を 4.19.01 にアップグレードします。これには Drupal 7.61 が含まれています。

このケースが示すように、Apigee 更新ユーティリティで使用される Drupal バージョンが、最新の Drupal アップグレードを参照していない可能性があります。そのため、Drupal のアップグレードを再度実行して、Drupal のインストールを新しいバージョンに戻す必要があります。