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 の最新モジュールが提供された場合は、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 に配置したバージョンよりも新しい場合は、 からそのモジュールを削除します。詳細については、モジュールとテーマの移動(Drupal.org)をご覧ください。

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

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