Drupal をアップグレードする

Apigee Developer Services ポータル(略して「ポータル」)の Edge for Private Cloud インストール環境で、Drupal の新しいバージョンが利用可能になったことを知らせる通知が届くことがあります。新しいバージョンには、Drupal 機能リリース、パッチ、セキュリティ アップデート、その他の Drupal のアップデートが含まれています。セキュリティ アップデートの場合、サイトの安全性を確保するため、できるだけ早く Drupal をアップグレードしてください。

Drupal コアのアップグレード

次の手順では、Drupal 7.x.y の Private Cloud インストールを別のマイナー バージョン(Drupal 7.54 から 7.59 など)に更新する方法について説明します。

次の点を考慮してください。

  • この手順では、Drupal のみが更新されます。ポータルに含まれる Apigee ソフトウェアは更新されません。Apigee ポータル ソフトウェアのアップグレードの詳細については、ポータルのアップグレードをご覧ください。

    Private Cloud のアップグレード(例: 4.18.05 から 4.19.01)中に、Apigee アップデート ユーティリティによって Drupal のバージョンが実際にダウングレードされた場合は、Drupal アップグレード ユーティリティを再度実行する必要があります。詳細については、Drupal のアップグレードを再度実行するをご覧ください。

  • Drush(Drupal Shell)コマンドは、ポータルサイトのルート ディレクトリから実行する必要があります。デフォルトでは、ポータルは次のディレクトリにインストールされます。
    • /opt/apigee/apigee-drupal/wwwroot(Nginx)
    • /var/www/html(Apache)
    以下の手順では、Nginx サーバーが上記のデフォルトの場所にインストールされていることを前提としています。

現在の Drupal のバージョンを確認する

Drupal の更新を開始する前に、Drupal のインストール フォルダから次のコマンドを実行して、現在の Drupal バージョンを特定できます。デフォルトでは、Drupal は /opt/apigee/apigee-drupal/wwwroot にインストールされます。

cd /opt/apigee/apigee-drupal/wwwroot
drush status | grep 'Drupal version'

出力は次の形式のようになります。

Drupal version          :  7.54

/opt/apigee/apigee-drupal/wwwroot 以外のディレクトリに Drupal をインストールした場合は、drush コマンドを実行する前にそのディレクトリに変更してください。

Drupal のバージョンのアップデート

このセクションでは、コマンドラインから Drush コマンドを使用して Drupal のバージョンをアップデートする方法を説明します。Drush を使用した Drupal の更新(Drupal.org)もご覧ください。

Drupal を更新するには:

  1. /opt/apigee/apigee-drupal/wwwroot ディレクトリ、またはポータルをインストールしたディレクトリに移動します。
  2. すべてのファイル、ディレクトリ、データベースの完全バックアップを作成します。バックアップを Drupal インストール以外の場所に保存します。詳しい手順については、ポータルのバックアップをご覧ください。

    .htaccessrobots.txtdefaults.settings.phpsites ディレクトリにある)などのファイルに変更を加えた場合は、更新後に変更を再適用する必要があります。また、sites/all ディレクトリで行ったカスタマイズを再適用する必要があります。

  3. サイトをメンテナンス モードにします。
    drush vset --exact maintenance_mode 1
    drush cache-clear all
  4. 次のコマンドを使用して、目的のバージョンの Drupal をインストールします。
    drush pm-update drupal-version

    ここで、version は目的のバージョンです。

    別の方法として、drush pm-update drupal を実行して Drupal コアを最新バージョンに更新することもできます。drush pm-updatestatus を実行して、Drupal コア プロジェクトと contrib プロジェクトで利用可能なマイナー アップデートを一覧表示できます。

  5. sites ディレクトリで .htaccessrobots.txtdefaults.settings.php の変更を再適用します。
  6. sites/all ディレクトリに加えた変更を再適用します。
  7. メンテナンス モードからサイトを削除する:
    drush vset --exact maintenance_mode 0
    drush cache-clear all

PHP モジュールと Drupal contrib モジュールのアップグレード

このセクションの上記の手順で Drupal をアップグレードすると、contrib や PHP などの Drupal で使用されるモジュールもアップグレードされます。ただし、Private Cloud リリースの合間に最新の Drupal モジュールに対応しておく必要があります。

対象のモジュールが /profiles/apigee/modules/contrib に含まれている場合は、新しいバージョンを /sites/all/modules/contrib に配置することで、そのモジュールの新しいバージョンに置き換えることができます。Edge for Private Cloud は、/profiles/apigee/modules/contrib の古いバージョンではなく /sites/all/modules/contrib の新しいバージョンを使用します。詳細については、モジュールのアップデート(Drupal.org)をご覧ください。

新しくインストールする Private Cloud バージョンに含まれるモジュールのバージョンが、以前に /sites/all/modules/contrib に配置したバージョンよりも新しい場合は、/sites/all/modules/contrib からそのモジュールを削除します。詳細については、モジュールとテーマの移動(Drupal.org)をご覧ください。

アップデート中に問題が発生した場合

作成したバックアップ ファイルを使用して、サイトを元の状態に復元します。Apigee Edge サポートに連絡し、アップデート中に報告されたエラー メッセージを知らせます。