Edge for Private Cloud バージョン 4.17.09
Developer Services ポータルの 4.17.09 リリースでは、以前の tar ベースのポータルは更新できません。RPM ベースのポータルの場合は、4.17.09 にのみ直接更新できます。
ただし、tar ベースのポータルを 4.17.09 RPM ベースのポータル インスタンスに変換することは可能です。このプロセスの一環として、既存のポータルの MySQL/MariaDB を Postgres データベースに移行します。変換後、ポータルは RPM ベースのポータルのままとなります。
tar ベースのポータルの多くの以前のバージョン(バージョン 4.17.05 だけでなく、バージョン 4.16.09 や 4.17.01 など)を RPM ベースのポータルに移行できます。唯一の要件は、ポータルで Drupal 7 以降が実行されていることです。Drupal のバージョンを確認するには、Drupal のメニューで [Reports] > [Status Reports] を選択します。出力の最初の行に Drupal のバージョンが表示されます。
tar ベースのポータルから RPM ベースのポータルに移行する手順の概要は次のとおりです。
- RPM ベースの 4.17.09 バージョンの Developer Service ポータルを新しいノードにインストールします。
- RPM ベースのポータルで新しい Postgres データベースを作成します。
- ポータル データベースを tar ベースのポータルから移行します。
- tar ベースのポータルからすべてのアクセサリ ファイルを RPM ベースのポータルにコピーします。
- 新しい RPM ベースのポータルを参照するように DNS エントリを更新します。
RPM ベースのポータルではデフォルトでポート 8079 が使用されますが、tar ベースのバージョンではポート 80 が使用されます。DNS エントリで正しいポート番号を使用していることを確認してください。別のポートの使用方法については、ポータルで使用される HTTP ポートを設定するをご覧ください。
変換後の新しいデフォルト インストール ディレクトリ
インストールを更新して Nginx/Postgres を使用するように変更すると、ルート ディレクトリも変わります。変更前のディレクトリは以下のとおりです。
/opt/apigee/apigee-drupal
なります。
/opt/apigee/apigee-drupal/wwwroot
ポータル変換手順
ポータルを RPM ベースのインストールに変換するには:
- RPM ベースの 4.17.09 バージョンの Developer Service ポータルを tar ベースのポータルとは異なるノードにインストールします。
-
RPM ベースのポータルで、新しい Postgres データベースを作成します。後で、tar ベースのポータルからこの新しいデータベースにデータベースを移行します。
- psql にログインします。
>psql -h localhost -p 5432 -U apigee
ポータル構成ファイルの PG_PWD プロパティで定義されている Postgres パスワードを入力します。 - 新しい PostgreSQL データベースを作成します。
# CREATE DATABASE newportaldb; - psql を終了します。
# \q
- psql にログインします。
-
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 = "query = DELETE from {system}」 -
tar ベースのポータルで、Migrator Drupal モジュールをインストールして構成します。
- cd /tmp
- wget https://ftp.drupal.org/files/projects/dbtng_migrator-7.x-1.4.tar.gz
- gunzip /tmp/dbtng_migrator-7.x-1.4.tar.gz
- tar -xvf /tmp/dbtng_migrator-7.x-1.4.tar --directory /var/www/html/sites/all/modules
- ポータルに管理者としてログインします。
- Drupal のメニューで [Modules] を選択します。
- DBTNG Migrator モジュールを有効にします。
- 構成を保存します。
- tar ベースのポータルで、/var/www/html/sites/default/settings.php を編集して、RPM ベースのポータルに新しく作成されたデータベースを指す 2 つ目のデータベース構成を追加します。現在のデータベース構成の名前は default です。新しい構成にカスタムという名前を付けます。
$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' => '', ) ) );
ここで、host と port には Postgres サーバーの IP アドレスとポートを指定します。Postgres では、接続にポート 5432 を使用します。 -
tar ベースのポータルで、Postgres ドライバをインストールします。
- Yum を使用してドライバをインストールします。
> yum install php-pdo_pgsql - /etc/php.ini を編集して、ファイルの任意の場所に次の行を追加します。
extension=pgsql.so - Apache を再起動します。
> service httpd restart
- Yum を使用してドライバをインストールします。
-
tar ベースのポータルで、ポータル データベースを RPM ベースのポータルに移行します。
- 管理者としてポータルにログインします。
- Drupal のメニューで [Structure] -> [Migrator] を選択します。
- tar ベースのポータルの元のデータベース(default)と宛先のデータベース(custom)を選択します(上記の settings.php ファイルに基づきます)。
- [移行] をクリックします。tar ベースのデータベースが RPM ベースのデータベースに移行されます。
- sites ディレクトリを tar ベースのサーバーから RPM ベースのサーバーにコピーします。
次の手順に示すパスは、デフォルトのパスに基づいています。インストール環境に応じて変更してください。- tar ベースのポータルで、/var/www/html/sites ディレクトリをバンドルします。
> cd /var/www/html/sites
> tar -cvzf /tmp/sites.tar.gz - /tmp/sites.tar.gz を RPM ベースのサーバーの /opt/apigee/apigee-drupal/wwwroot/sites にコピーします。
- sites ディレクトリのバンドルを解除します。ただし、重要なファイルは上書きしないでください。
- settings.php ファイルをバックアップします。
> sudo cp /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.bak.php - 既存のファイル ディレクトリをバックアップします。
> sudo mv /opt/apigee/apigee-drupal/wwwroot/sites/default/files /opt/apigee/apigee-drupal/wwwroot/sites/default/files_old - 既存の sites ディレクトリをバックアップします。
> tar -cvzf /tmp/sites_old.tar.gz /opt/apigee/apigee-drupal/wwwroot/sites - tar ベースのサーバーから sites ディレクトリを解凍して展開します。
> gunzip /opt/apigee/apigee-drupal/wwwroot/sites/sites.tar.gz
> tar -xvf /opt/apigee/apigee-drupal/wwwroot/sites/sites.tar - コピーされたファイルに適切な所有権があることを確認します。
> chown -R apigee:apigee /opt/apigee/apigee-drupal/wwwroot/sites/ - settings.php ファイルを復元します。
> sudo cp /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.bak.php /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php - 次の場所に非公開ファイルを移動します。
> cp -r /opt/apigee/apigee-drupal/wwwroot/sites/default/files/private/* /opt/apigee/data/apigee-drupal-dev/private
> rm -rf /opt/apigee/apigee-private-portal > wwwroot/sites/default/files/private-portal > wwwroot/sites/default/files/privaterupal
own
- settings.php ファイルをバックアップします。
- tar ベースのポータルで、/var/www/html/sites ディレクトリをバンドルします。
- tar ベースのポータルで、tar ベースのポータルのウェブルート ディレクトリへのパスをデフォルトのパス /var/www/html から変更した場合にのみ: drush status を実行し、ファイルのパスとプライベート ファイルのパスを確認します。
> cd /var/www/html
> drush status
(ファイル/プライベート ファイルが上記のように RPM のディレクトリになっていない場合) - 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' => '', ) ) );
user は、作成したカスタム データベースのプレフィックスを指定します。
$databases = array ( 'default' => array ( 'default' => array ( 'database' => 'newportaldb', 'username' => 'apigee', 'password' => 'postgres', 'host' => 'localhost', 'port' => '5432', 'driver' => 'pgsql', 'prefix' => '', ) ) );
-
RPM ベースのポータルでは、RPM ベースのポータルに含まれる Drupal モジュールの数が、tar ベースのポータルよりも少なくなります。RPM ベースのポータルに移行した後は、不足しているモジュールがないか確認し、必要に応じてインストールする必要があります。
- 不足しているモジュールを検出するために使用する Drupal missing_module をインストールします。
> cd /opt/apigee/apigee-drupal/wwwroot
> drush dl missing_module
> drush en missing_module - 管理者として RPM ベースのポータルにログインします。
- Drupal のメニューで [Reports] > [Status reports] を選択し、欠落しているモジュールがないか確認します。
- このレポートを使用して不足しているモジュールをインストールするか、次のコマンドを使用します。
> cd /opt/apigee/apigee-drupal/wwwroot
> drush dl <moduleA> <moduleB> ...
> drush en <moduleA> <moduleB> ... - すべてのモジュールを有効にしたら、次のファイルでファイルを所有していることを確認します。
> chown -LR apigee:apigee /opt/apigee/apigee-drupal/wwwroot
ファイルの権限の詳細については、https://www.drupal.org/node/244924 をご覧ください。
- 不足しているモジュールを検出するために使用する Drupal missing_module をインストールします。
-
RPM ベースのポータルで、ブラウザで update.php を実行し、不足しているモジュールのエラーを削除します。
- 管理者として RPM ベースのポータルにログインします。
- ブラウザで、次の URL に移動します。
http://{portal_IP_or_DNS}:8079/update.php
portal_IP_or_DNS は、RPM ベースのポータルの IP アドレスまたはドメイン名です。 - 画面の指示に沿って操作します。
- 新しい RPM ベースのポータルを参照するように DNS エントリを更新します。
RPM ベースのポータルではデフォルトでポート 8079 が使用されますが、tar ベースのバージョンではポート 80 が使用されます。DNS エントリで正しいポート番号を使用していることを確認してください。別のポートの使用方法については、ポータルで使用される HTTP ポートを設定するをご覧ください。
これで変換は完了です。