tar ベースのポータルを RPM ベースのポータルに変換する

Apigee Developer Services ポータル(略して「ポータル」)の 4.18.05 リリースでは、以前のポータルを更新することはできません。 tar ベースバージョンのポータルが含まれています。直接更新できるのは RPM ベースのポータルのみです 4.18.05 に変更します。

ただし、tar ベースのポータルを 4.18.05 RPM ベースの 必要があります。このプロセスの一環として、既存のポータルの MySQL/MariaDB を Postgres データベースです。移行後、ポータルは RPM ベースのポータルのままになります。

旧バージョンの tar ベースのポータルは、RPM ベースのポータルに移行できます。 バージョン 4.17.05 だけでなく、バージョン 4.16.09 と 4.17.01 も含まれます。唯一の要件は ポータルで Drupal 7 以降を実行しているDrupal のバージョンを確認するには、[Reports(レポート)] を選択します。 >Status レポートをご覧ください。最初の行に Drupal のバージョンが表示されます。 あります。

tar ベースのポータルから RPM ベースのポータルに移行する手順の概要 次のとおりです。

  • RPM ベースの 4.18.05 バージョンのポータルを 作成します。
  • RPM ベースのポータルに新しい Postgres データベースを作成します。
  • ポータル データベースを tar ベースのポータルから移行します。
  • すべてのアクセサリ ファイルを tar ベースのポータルから RPM ベースのポータルにコピーします。 登録できます
  • 新しい RPM ベースのポータルを指すように DNS エントリを更新します。

    RPM ベースのポータルはデフォルトでポート 8079 を使用しますが、tar ベースのポータルはデフォルトでポート 8079 を使用します。 ポート 80 を使用します。DNS エントリで正しいポート番号を使用していることを確認してください。詳しくは、 情報を取得するため、ポータルで使用する HTTP ポートを設定する ポートの使用を検討してください。

次の日付より後の新しいデフォルト インストール ディレクトリ コンバージョン

Nginx/Postgres を使用するようにインストールを更新すると、ルート ディレクトリが変更された 送信元:

/opt/apigee/apigee-drupal

これを、次のように変更します。

/opt/apigee/apigee-drupal/wwwroot

ポータルの変換手順

ポータルを RPM ベースのインストールに変換するには:

  1. tar ベースのバージョンと異なるノードに RPM ベースの 4.18.05 バージョンのポータルをインストールします。 登録できます
  2. RPM ベースのポータルで新しい Postgres データベースを作成します。後で Cloud Shell を データベースを tar ベースのポータルからこの新しいデータベースに送信します。 <ph type="x-smartling-placeholder">
      </ph>
    1. psql にログインします。
      psql -h localhost -p 5432 -U apigee

      ポータル構成の PG_PWD プロパティで定義されている Postgres パスワードを入力します。 表示されます。

    2. 新しい PostgreSQL データベースを作成します。
      CREATE DATABASE newportaldb;
    3. psql を終了します。
      \q
  3. tar ベースのポータルで、不要になった古いモジュールを削除します。

    cd /var/www/html
    drush sql-query --db-prefix "DELETE from {system} where name = 'apigee_account' AND type = 'module';"
    drush sql-query --db-prefix "DELETE from {system} where name = 'apigee_checklist' AND type = 'module';"
    drush sql-query --db-prefix "DELETE from {system} where name = 'apigee_sso_ui' AND type = 'module';"
  4. tar ベースのポータルで、Migrator Drupal モジュールをインストールして構成します。 <ph type="x-smartling-placeholder">
      </ph>
    1. cd /tmp 
    2. wget https://ftp.drupal.org/files/projects/dbtng_migrator-7.x-1.4.tar.gz 
    3. gunzip /tmp/dbtng_migrator-7.x-1.4.tar.gz 
    4. tar -xvf /tmp/dbtng_migrator-7.x-1.4.tar --directory /var/www/html/sites/all/modules 
    5. 管理者としてポータルにログインします。
    6. Drupal メニューで [Modules] を選択します。
    7. [DBTNG Migrator] モジュールを有効にします。
    8. 構成を保存します。
  5. tar ベースのポータルで、/var/www/html/sites/default/settings.php を編集します。 新しいデータベースを指す 2 つ目のデータベース構成を RPM ベースの 登録できます現在のデータベース構成の名前は「default」です。新しい構成に名前を付ける 「custom」を指定することをおすすめします。
    $databases = array (
      'default' =>
      array (
        'default' =>
        array (
          'database' => 'devportal',
          'username' => 'devportal',
          'password' => 'devportal',
          'host' => 'localhost',
          'port' => '',
          'driver' => 'mysql',
          'prefix' => '',
        ),
      ),
      'custom' =>
      array (
        'default' =>
        array (
          'database' => 'newportaldb',
          'username' => 'apigee',
          'password' => 'postgres',
          'host' => '192.168.168.100',
          'port' => '5432',
          'driver' => 'pgsql',
          'prefix' => '',
        )
      )
    );

    ここで、hostport には、IP アドレスとポートを指定します。 Postgres サーバーです。Postgres は接続にポート 5432 を使用します。

  6. tar ベースのポータルで、Postgres ドライバをインストールします。 <ph type="x-smartling-placeholder">
      </ph>
    1. Yum を使用してドライバをインストールします。
      yum install php-pdo_pgsql
    2. /etc/php.ini を編集して、ファイルの任意の場所に次の行を追加します。
      extension=pgsql.so
    3. Apache を再起動します。
      service httpd restart
  7. tar ベースのポータルで、ポータル データベースを RPM ベースのポータルに移行します。 ポータル: <ph type="x-smartling-placeholder">
      </ph>
    1. 管理者としてポータルにログインします。
    2. Drupal のメニューで、[Structure] -> [Migrator] を選択します。
    3. tar ベースのポータルの元のデータベース(default)を選択します。 移行先データベース、custom(表示されている settings.php 個のファイルに基づく) ご覧ください。
    4. [移行] をクリックします。tar ベースのデータベースが RPM ベースのデータベースに移行され、 データベースです
  8. sites ディレクトリを tar ベースのサーバーから RPM ベースのサーバーにコピーします。「 以下の手順に示すパスは、デフォルトのパスに基づいています。必要に応じてこれらを 確認できます。
    1. tar ベースのポータルで、/var/www/html/sites ディレクトリをバンドルします。
      cd /var/www/html/sites
      tar -cvzf /tmp/sites.tar.gz .
    2. /tmp/sites.tar.gz のコピー先 RPM ベースのサーバー上の /opt/apigee/apigee-drupal/wwwroot/sites
    3. sites ディレクトリのバンドルを解除します。ただし、重要なファイルは上書きしないでください。
      1. settings.php ファイルをバックアップします。
        sudo cp /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php
          /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.bak.php
      2. 既存の files ディレクトリをバックアップします。
        sudo mv /opt/apigee/apigee-drupal/wwwroot/sites/default/files
          /opt/apigee/apigee-drupal/wwwroot/sites/default/files_old
      3. 既存の sites ディレクトリをバックアップします。
        tar -cvzf /tmp/sites_old.tar.gz /opt/apigee/apigee-drupal/wwwroot/sites
      4. tar ベースのサーバーから sites ディレクトリを解凍します。
        gunzip /opt/apigee/apigee-drupal/wwwroot/sites/sites.tar.gz
        tar -xvf /opt/apigee/apigee-drupal/wwwroot/sites/sites.tar
      5. コピーしたファイルに適切なオーナー権限があることを確認します。
        chown -R apigee:apigee /opt/apigee/apigee-drupal/wwwroot/sites/
      6. settings.php ファイルを復元します。
        sudo cp /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.bak.php
          /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php
      7. 非公開ファイルを新しい場所に移動する:
        cp -r /opt/apigee/apigee-drupal/wwwroot/sites/default/files/private/* /opt/apigee/data/apigee-drupal-devportal/private
        rm -rf /opt/apigee/apigee-drupal/wwwroot/sites/default/files/private
        chown -R apigee:apigee /opt/apigee/data/apigee-sap-drupal-devportal/private
  9. tar ベースのポータル上(ウェブルートへのパスを変更した場合のみ) デフォルトのパス /var/www/html から tar ベースのポータルのディレクトリに移動し、次のコマンドを実行します。 drush statusfiles パスと private files パスを確認します。
    cd /var/www/html
    drush status

    ファイル/非公開ファイルが sites ディレクトリにない場合は、 RPM ベースのサーバーを使用します。

  10. RPM ベースのポータルで、 プロパティを設定する /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php デフォルト データベースの例:
    vi /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php

    settings.php でデフォルトのデータベースの説明を設定します。

    $databases = array (
      'default' =>
      array (
        'default' =>
        array (
          'database' => 'newportaldb',
          'username' => 'apigee',
          'password' => 'postgres',
          'host' => 'localhost', 'port' => '5432',
          'driver' => 'pgsql',
          'prefix' => '',
        )
      )
    );

    ここで、database には、作成した新しいデータベースを指定します。 usernamepassword は、カスタム データベース用に定義されたとおりです。 tar ベースのポータル上に存在し、prefix は空です。

  11. RPM ベースのポータル上: RPM ベースのポータルに含まれるものは、 Drupal モジュールの使用が tar ベースのバージョンよりも多くなっています。RPM ベースのポータルに移行すると、 不足しているモジュールがないか確認し、必要に応じてインストールする必要があります。
    1. 不足しているモジュールの検出に使用する Drupal missing_module をインストールします。
      cd /opt/apigee/apigee-drupal/wwwroot
      drush dl missing_module
      drush en missing_module
    2. RPM ベースのポータルに管理者としてログインします。
    3. [レポート >ステータス レポート」に移動して、 欠けているモジュールが示されます。
    4. そのレポートを使用して不足しているモジュールをインストールするか、次のコマンドを使用します。
      cd /opt/apigee/apigee-drupal/wwwroot
      drush dl <moduleA> <moduleB> ...
      drush en <moduleA> <moduleB> ...
    5. すべてのモジュールを有効にしたら、ファイルの所有者が apigee ユーザーであることを確認します。
      chown -LR apigee:apigee /opt/apigee/apigee-drupal/wwwroot

      ファイル権限の詳細については、このモジュールの https://www.drupal.org/node/244924.

  12. RPM ベースのポータルの場合、ブラウザで update.php を実行してエラーを解消します。 以下のようになります。 <ph type="x-smartling-placeholder">
      </ph>
    1. RPM ベースのポータルに管理者としてログインします。
    2. ブラウザで、次の URL に移動します。
      http://portal_IP_or_DNS:8079/update.php

      ここで、portal_IP_or_DNS は RPM ベースの IP アドレスまたはドメイン名です。 登録できます

    3. 画面の指示に沿って操作します。
  13. DNS エントリを更新して、新しい RPM ベースのポータルを指すようにします。

    RPM ベースのポータルはデフォルトでポート 8079 を使用しますが、tar ベースのポータルはデフォルトでポート 8079 を使用します。 ポート 80 を使用します。DNS エントリで正しいポート番号を使用していることを確認してください。詳しくは、 詳細については、ポータルで使用する HTTP ポートを設定するをご覧ください。 ポートを開きました

変換が完了します。