Drupal のアップグレード

Edge for Private Cloud の Apigee Developer Services ポータル(略して「ポータル」)では、Drupal の新しいバージョンが入手可能になったときに通知を受けることができます。新しいバージョンとは、Drupal 機能リリース、パッチ、セキュリティ アップデート、その他の種類の Drupal アップデートを意味します。セキュリティ アップデートの場合は、サイトの安全性を維持するために Drupal のインストール環境をすみやかにアップグレードしてください。

Drupal コアのアップグレード

以下の手順では、Private Cloud に含まれる Drupal 7.xy を別のマイナー バージョン(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

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

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

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

インストールされている Drupal をアップデートするには:

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

    たとえば、sites ディレクトリにある .htaccessrobots.txtdefaults.settings.php などのファイルを変更した場合は、アップデート後にそれらの変更を再適用する必要があります。また、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 をアップグレードすると、Drupal によって使用される contrib や PHP などのモジュールもアップグレードされます。ただし、次回の新しい 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 サポートに連絡し、アップデート中に報告されたエラー メッセージを知らせます。