Developer Services Portal v. 4.17.05
ここでは、オンプレミスの Apigee Developer Channel Services をアップグレードする方法を説明します。
正しいアップデート手順を決定する
ポータルのアップデート手順は現在のインストール環境によって異なります。
- 4.17.01 に更新されたシステムから Apache/MySQL または Apache/MariaDB を使用している場合は、.tar ファイルを使用したポータルのアップグレードをご覧ください。
- 4.17.01 の新規インストールで Nginx/Postgres を使用している場合は、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)
デフォルトのインストール ディレクトリ
アップグレード プロセスでは、デベロッパー ポータルが次の場所にインストールされていることを前提としています。
- /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
ポータルのバージョンを確認するには、ブラウザで次の URL を開きます。
http://yourportal.com/buildInfo
アップデート前の準備
既存のインストールの場合、Drupal コアまたはカスタム以外のモジュールのコードを変更していると、変更が上書きされます。これには、.htaccess に加えた変更などが含まれます。/sites ディレクトリ以外のものはすべて Drupal が所有していると想定する必要があります。このルールの例外は robots.txt です。このファイルがウェブルートに存在する場合は、保持されます。
インストールを続行する前に、Drupal ウェブのルート ディレクトリ全体のバックアップを作成します。以下で説明するインストール手順を完了したら、バックアップからカスタマイズを復元できます。
.tar ファイルを使用したポータルのアップグレード
- Drupal MySQL/MariaDB インスタンスをバックアップします。
詳細については、http://www.thegeekstuff.com/2008/09/backup-and-restore-mysql-database-using-mysqldump/ をご覧ください。- オプション 1: Drush を使用する
Drush コマンド sql-dump は、データベースのコピーを作成します。Drupal ディレクトリ(デフォルトでは /var/www/html)から、次のコマンドを実行します。
> drush sql-dump > /path/to/backup_dir/database-backup.sql
詳細については、drush help sql-dump を使用してください。 - オプション 2: MySQLdump を使用する
mysqldump コマンドを使用して、データベースのコピーを作成します。
mysqldump -u USERNAME -p'PASSWORD' DATABASENAME > /path/to/backup_dir/database-backup.sql
-p オプションとパスワードの間にスペースを入れないでください。パスワードに特殊文字が含まれている場合は、パスワードを単一引用符で囲む必要があります。
USERNAME と DATABASENAME は、ポータルのインストール時に設定します。デフォルトでは、どちらも devportal です。
- オプション 1: Drush を使用する
- Drupal のウェブルート ディレクトリ全体のバックアップを作成します。デフォルトのインストール場所は /var/www/html ですが、インストール時に変更されている可能性があります。
- デベロッパー チャンネル サービスの DeveloperServices_x.y.z.tar ファイルを ftp.apigee.com からダウンロードします。ここで、x.y.z はポータルのバージョン番号に対応します。プロンプトが表示されたら、Apigee から受け取った認証情報を入力します。
Apigee から送信されたリンクからファイルをダウンロードするには、ブラウザを使用するか、リンクをコピーして次の cURL コマンドに追加します。
> curl -kOL <ここにリンクを貼り付け>
注: ポータルが外部インターネットに接続されていないサーバー上にある場合は、アクセス権のあるサーバーでこの手順を実行します。
Apigee Edge サポートに移動し、[Login to your Support Portal] を選択して、デベロッパー チャンネル サービスのアップグレード .tar ファイルをリクエストします。サポート ポータルのアカウントをお持ちでない場合は、[Login to your Support Portal] を選択し、ログインページで [In a hurry? こちらからサポート チケットを送信してください。 -
インターネット接続があるサーバーでアップグレードする場合:
- ポータルのアップグレード ファイルを抽出します。
> tar -xvf <tar file>
このコマンドを実行すると、DeveloperServices-4.x.y.z という名前の新しいディレクトリが作成されます。 - DeveloperServices-4.x.y.z ディレクトリに移動します。
- 次のコマンドを使用して、最新の Drupal バージョンをダウンロードします。
> drush dl drupal
このコマンドにより、drupal-x.y という名前のディレクトリが作成されます。ここで、x.y は Drupal の現在のバージョンに対応します。 - networked-update.sh スクリプトを実行します。
> ./networked-update.sh
ファイル権限によっては、sudo を使用してこのコマンドを実行するか、管理者として実行する必要があります。 - Drupal の更新に関する通知を受け取るには、Drupal Update Manager モジュールが有効になっていることを確認します。Drupal メニューから [Modules] を選択し、[Update manager] モジュールまで下にスクロールします。有効になっていない場合は、有効にします。
有効にすると、[Reports] > [Available Updates] メニュー項目を使用して、利用可能なアップデートを確認できます。
[Reports] > [Available Updates] > [Settings] メニュー項目を使用して、アップデートが利用可能になったときにメールを送信するようにモジュールを構成し、アップデートを確認する頻度を設定します。
- ポータルのアップグレード ファイルを抽出します。
-
インターネットに接続されていないサーバーでアップグレードする場合:
- デベロッパー チャンネル サービスの DeveloperServices_x.y.z.tar ファイルをダウンロードしたサーバーで、ポータルのアップグレード ファイルを抽出します。
> tar -xvf <tar file>
このコマンドを実行すると、DeveloperServices-4.x.y.z という名前の新しいディレクトリが作成されます。 - DeveloperServices-4.x.y.z ディレクトリに移動します。
- non-networked-update.sh スクリプトを実行します。
> ./non-networked-update.sh
ファイルへのアクセス許可によっては、sudo を使用してこのコマンドを実行するか、管理者として実行する必要があります。
このコマンドは、必要なすべてのアップデート ファイルをダウンロードして、devportal-update.tgz という名前の単一のファイルにパッケージ化し、選択した場所にファイルを書き込みます。 - devportal-update.tgz をターゲット サーバー(ポータルを実行しているサーバー)にコピーします。
注: devportal-update.tgz をターゲット サーバーのウェブルートにコピーしないでください。 - devportal-update.tgz ファイルを現在のディレクトリに解凍します。
> tar -xzf /path/to/devportal-update.tgz - developer-update ディレクトリに移動します。
- 次のコマンドを実行して、アップデートをインストールします。
> ./install-update.sh - プロンプトに回答します。
- デベロッパー チャンネル サービスの DeveloperServices_x.y.z.tar ファイルをダウンロードしたサーバーで、ポータルのアップグレード ファイルを抽出します。
これでアップグレードは完了です。
RPM を使用してポータルをアップグレードする
ノード上のポータル RPM を更新する手順は次のとおりです。
- Drupal ディレクトリ(デフォルトでは /opt/apigee/apigee-drupal)に移動します。
> cd /opt/apigee/apigee-drupal - 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 - Drupal のウェブルート ディレクトリ全体のバックアップを作成します。デフォルトのインストール場所は /opt/apigee/apigee-drupal ですが、変更されている可能性があります。
このディレクトリの場所が不明な場合は、drush status コマンドまたは Drupal メニューの [Configuration] > [Media] > [File] エントリを使用して、パブリック ファイル システムとプライベート ファイル システムのパスの場所を特定します(次のステップで使用します)。 - /opt/apigee/data/apigee-drupal-devportal/private 内のファイルのバックアップを作成します。
- Edge apigee-setup ユーティリティのインストールの説明に従って、SELinux を無効にします。
-
インターネット接続があるサーバーでアップグレードする場合:
- 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 - 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 をインストールせずに続行できます。
- Edge 4.17.05 の bootstrap_4.17.05.sh ファイルを /tmp/bootstrap_4.17.05.sh にダウンロードします。
-
インターネットに接続されていないサーバーでアップグレードする場合:
- Edge apigee-setup ユーティリティのインストールの「ローカルに Apigee リポジトリを作成する」の手順で 4.17.05 リポジトリをローカルに作成します。
注: すでに 4.17.01 リポジトリが存在する場合は、Edge apigee-setup ユーティリティのインストールの「ローカルの Apigee リポジトリを更新する」の手順に沿って、4.17.05 リポジトリを追加できます。 -
.tar ファイルから apigee-service をインストールするには:
- ローカル リポジトリがあるノードで、次のコマンドを使用して、ローカル リポジトリを /opt/apigee/data/apigee-mirror/apigee-4.17.05.tar.gz という名前の単一の.tar ファイルにパッケージ化します。
> /opt/apigee/apigee-service/bin/apigee-service apigee-mirror package - Edge を更新する対象のノードに .tar ファイルをコピーします。たとえば、新しいノードの /tmp ディレクトリにコピーします。
- 新しいノードで、ファイルを /tmp ディレクトリに解凍します。
> tar -xzf apigee-4.17.05.tar.gz
このコマンドにより、.tar ファイルを含むディレクトリに repos という名前の新しいディレクトリが作成されます。(例: /tmp/repos)。 - Edge の apigee-service ユーティリティと依存関係を /tmp/repos からインストールします。
> sudo bash /tmp/repos/bootstrap_4.17.05.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos
コマンドに repos ディレクトリへのパスが含まれている点に注意してください。
- ローカル リポジトリがあるノードで、次のコマンドを使用して、ローカル リポジトリを /opt/apigee/data/apigee-mirror/apigee-4.17.05.tar.gz という名前の単一の.tar ファイルにパッケージ化します。
-
Nginx ウェブサーバーを使用して apigee-service をインストールするには:
- Edge apigee-setup ユーティリティのインストールの「Nginx ウェブサーバーを使用してリポジトリからインストールする」の手順に沿って、Nginx ウェブサーバーを構成します。
- リモートノードで、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 名です。 - リモートノードで、Edge apigee-service ユーティリティと依存関係をインストールします。
> sudo bash /tmp/bootstrap_4.17.05.sh apigeerepohost=remoteRepo:3939 apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://
ここで、uName:pWord はリポジトリのユーザー名とパスワードです。
- Edge apigee-setup ユーティリティのインストールの「ローカルに Apigee リポジトリを作成する」の手順で 4.17.05 リポジトリをローカルに作成します。
- apigee-service を使用して apigee-setup ユーティリティを更新します。
> /opt/apigee/apigee-service/bin/apigee-service apigee-setup update - ノードで更新ユーティリティを実行して、Postgres データベースを更新します。
> /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
ここで、configFile は、Postgres データベースのインストールに使用した構成ファイルです。構成ファイルの唯一の要件は、構成ファイルが「apigee」ユーザーによってアクセス可能または読み取り可能であることです。 - Postgres を起動します。
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql start - ノードで更新ユーティリティを実行して、ポータルを更新します。
> /opt/apigee/apigee-setup/bin/update.sh -c dp -f configFile
ここで、configFile は、ポータルのインストールに使用した構成ファイルです。構成ファイルの唯一の要件は、構成ファイルが「apigee」ユーザーによってアクセス可能または読み取り可能であることです。
更新後のルート ディレクトリは次のようになります。
/opt/apigee/apigee-drupal/wwwroot
これでアップグレードは完了です。