Edge for Private Cloud v4.18.05
ここでは、オンプレミスの Apigee Developer Services ポータル(略して「ポータル」)をアップグレードする方法を説明します。
正しいアップデート手順を決定する
ポータルのアップデート手順は現在のインストール環境によって異なります。
- Nginx/Postgres を使用している場合は、後述の RPM を使用してポータルをアップグレードするに従います。
- Apache/MySQL または Apache/MariaDB を使用している場合は、tar ベースのポータルを RPM ベースのポータルに変換するをご覧ください。
現在のインストール タイプを確認する
現在のインストール タイプがわからない場合は、次のコマンドを使用して確認します。
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
ポータルのバージョンを確認するには、ブラウザで次の URL を開きます。
http://yourportal.com/buildInfo
アップデート前の準備
既存のインストールの場合、Drupal コアまたはカスタム以外のモジュールのコードを変更していると、変更が上書きされます。これには、.htaccess に加えた変更などが含まれます。/sites ディレクトリ外のものはすべて Drupal が所有していると想定する必要があります。このルールの例外は robots.txt です。このファイルがウェブルートに存在する場合は、保持されます。
インストールを続行する前に、Drupal ウェブのルート ディレクトリ全体のバックアップを作成します。以下で説明するインストール手順を完了したら、バックアップからカスタマイズを復元できます。
RPM を使用してポータルをアップグレードする
ノード上のポータル RPM を更新するには:
- Drupal ディレクトリ(デフォルトでは
/opt/apigee/apigee-drupal)に移動します。cd /opt/apigee/apigee-drupal
- 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
- devportal は、ポータル インストール構成ファイルの
- Drupal のウェブルート ディレクトリ全体のバックアップを作成します。デフォルトのインストール場所は
/opt/apigee/apigee-drupalですが、変更されている可能性があります。このディレクトリの場所がわからない場合は、
drush statusコマンドまたは Drupal メニューの [Configuration] > [Media] > [File] エントリを使用して、パブリック ファイル システムとプライベート ファイル システムのパスの場所を特定します(次のステップで使用します)。 /opt/apigee/data/apigee-drupal-devportal/private内のファイルのバックアップを作成します。- Drupal をメンテナンス モードに設定します。
- Drupal メニューで [Configuration] を選択します。
- [構成] ページで、[開発] の [メンテナンス モード] を選択します。
- [Put site into maintenance mode] チェックボックスをオンにします。
- メンテナンス中にユーザーに表示されるメッセージを入力します。
- [設定を保存] を選択します。
- Edge apigee-setup ユーティリティのインストールの説明に従って、SELinux を無効にします。
/optディレクトリに移動します。cd /opt
- インターネット接続があるサーバーでアップグレードする場合:
- Edge 4.18.05
bootstrap_4.18.05.shファイルを/tmp/bootstrap_4.18.05.shにダウンロードします。curl https://software.apigee.com/bootstrap_4.18.05.sh -o /tmp/bootstrap_4.18.05.sh
- Edge 4.18.05
apigee-serviceユーティリティと依存関係をインストールします。sudo bash /tmp/bootstrap_4.18.05.sh apigeeuser=uName apigeepassword=pWord
ここで、uName と pWord は Apigee から受け取ったユーザー名とパスワードです。pWord を省略すると、入力するよう求められます。
デフォルトでは、インストーラは Java 1.8 がインストールされていることを確認します。「C」オプションを使用すると、Java をインストールせずに続行できます。
- Edge 4.18.05
- インターネットに接続されていないサーバーでアップグレードする場合:
- ローカルに Apigee リポジトリを作成するの手順で 4.18.05 リポジトリをローカルに作成します。
- .tar ファイルから apigee-service をインストールするには:
- ローカル リポジトリがあるノードで、次のコマンドを使用して、ローカル リポジトリを
/opt/apigee/data/apigee-mirror/apigee-4.18.05.tar.gzという名前の単一の .tar ファイルにパッケージ化します。/opt/apigee/apigee-service/bin/apigee-service apigee-mirror package
- Edge を更新する対象のノードに .tar ファイルをコピーします。たとえば、新しいノードの
/tmpディレクトリにコピーします。 - 新しいノードで、ファイルを /tmp ディレクトリに解凍します。
tar -xzf apigee-4.18.05.tar.gz
このコマンドにより、.tar ファイルを含むディレクトリに repos という名前の新しいディレクトリが作成されます。(例: /tmp/repos)。
/tmp/reposから Edgeapigee-serviceユーティリティと依存関係をインストールします。sudo bash /tmp/repos/bootstrap_4.18.05.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos
コマンドに repos ディレクトリへのパスが含まれている点に注意してください。
- ローカル リポジトリがあるノードで、次のコマンドを使用して、ローカル リポジトリを
- Nginx ウェブサーバーを使用して apigee-service をインストールするには:
- Edge apigee-setup ユーティリティのインストールの「Nginx ウェブサーバーを使用してリポジトリからインストールする」の手順に沿って、Nginx ウェブサーバーを構成します。
- リモートノードで、Edge
bootstrap_4.18.05.shファイルを/tmp/bootstrap_4.18.05.shにダウンロードします。/usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrap_4.18.05.sh -o /tmp/bootstrap_4.18.05.sh
ここで、uName と pWord は、上記でリポジトリに設定したユーザー名とパスワードです。remoteRepo は、リポジトリ ノードの IP アドレスまたは DNS 名です。
- リモートノードで、Edge
apigee-serviceユーティリティと依存関係をインストールします。sudo bash /tmp/bootstrap_4.18.05.sh apigeerepohost=remoteRepo:3939 apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://
ここで、uName と pWord はリポジトリのユーザー名とパスワードです。
apigee-serviceを使用してapigee-setupユーティリティを更新します。/opt/apigee/apigee-service/bin/apigee-service apigee-setup update
- Postgre ノードで更新ユーティリティを実行します。
/opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
ここで、configFile は、Postgres データベースのインストールに使用した構成ファイルです。構成ファイルの唯一の要件は、構成ファイルが「apigee」ユーザーによってアクセス可能または読み取り可能であることです。
- Postgres データベースを更新します。
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql db_upgrade
- ノードでアップデート ユーティリティを実行して、ポータルをアップデートします。
/opt/apigee/apigee-setup/bin/update.sh -c dp -f configFile
ここで、configFile はポータルのインストールに使用した構成ファイルです。構成ファイルの唯一の要件は、構成ファイルが「apigee」ユーザーによってアクセス可能または読み取り可能であることです。
- ブラウザ ウィンドウで次の URL を開いて、Drupal の
update.phpスクリプトを実行します。http://portal_IP_DNS:8079/update.php
- Drupal をメンテナンス モードに無効にします。
- Drupal メニューで [Configuration] を選択します。
- [構成] ページで、[開発] の [メンテナンス モード] を選択します。
- [Put site into maintenance mode] チェックボックスをオフにします。
- [設定を保存] を選択します。
更新後のルート ディレクトリは次のようになります。
/opt/apigee/apigee-drupal/wwwroot
これでアップグレードは完了です。