ポータルをインストールする

Edge for Private Cloud v4.19.01

Apigee Developer Services ポータル(略して「ポータル」)をインストールする前に、次のことを確認します。

  1. ポータルをインストールする前に Postgres をインストールしている。Edge のインストールの一環として Postgres をインストールするか、ポータルで使用するスタンドアロンの Postgres をインストールできます。
    • Postgres をスタンドアロンでインストールする場合は、ポータルと同じノードにインストールできます。
    • Edge と同時にインストールされた Postgres に接続する場合に、Postgres がマスター/スタンバイ モードで構成されているときは、マスター Postgres サーバーの IP アドレスを指定します。
  2. サポートされている 64 ビット版の Red Hat Enterprise Linux、CentOS、または Oracle でインストールを実施しようとしている。サポート対象バージョンのリストについては、サポート対象ソフトウェアおよびサポート対象バージョンをご覧ください。
  3. Yum がインストールされています。

インストーラには、Apigee Developer Services ポータル(略して「ポータル」)に必要な Drupal 提供モジュールのみが含まれます。他の提供モジュールをインストールする方法については、Drupal 7 の拡張をご覧ください。

インストールの概要

ポータルをインストールするには、次の操作を行います。以降のセクションで、それぞれの手順について詳しく説明します。

  1. 接続をテストする
  2. バージョン 7.0 より前の PHP を削除する
  3. Postgres をインストールする
  4. ポータルをインストールする
  5. アップデート マネージャーが有効になっていることを確認する
  6. (省略可)Apache Solr を構成する
  7. (省略可)SmartDocs をインストールする
  8. (省略可)JQuery を構成する

SMTPSSL プロパティのサポート終了

以前のリリースでは、SMTPSSL プロパティを使用して、ポータルに接続された SMTP サーバーで使用されるプロトコルを設定していました。このプロパティは非推奨となりました。

今後は、SMTPSSL プロパティの代わりに SMTP_PROTOCOL プロパティを使用して、ポータルに接続された SMTP サーバーで使用されるプロトコルを設定してください。有効な値は "standard"、"ssl"、"tls" です。

ポータル構成ファイルを作成する

以下では、ポータル インストール用のサイレント構成ファイルについて説明します。実際の構成に応じて、このファイルを編集します。setup.sh を実行するときに -f オプションでこのファイルを指定します。

IP1=IPorDNSnameOfNode

# Must resolve to IP address or DNS name of host - not to 127.0.0.1 or localhost.
HOSTIP=$(hostname -i)

# Specify the name of the portal database in Postgres.
PG_NAME=devportal

# Specify the Postgres admin credentials.
# The portal connects to Postgres by using the 'apigee' user.
# If you changed the Postgres password from the default of 'postgres'
# then set PG_PWD accordingly.
# If connecting to a Postgres node installed with Edge,
# contact the Edge sys admin to get these credentials.
PG_USER=apigee
PG_PWD=postgres

# The IP address of the Postgres server.
# If it is installed on the same node as the portal, specify that IP.
# If connecting to a remote Postgres server,specify its IP address.
PG_HOST=$IP1

# The Postgres user credentials used by the portal
# to access the Postgres database,
# This account is created if it does not already exist.
DRUPAL_PG_USER=drupaladmin
DRUPAL_PG_PASS=portalSecret

# Specify 'postgres' as the database.
DEFAULT_DB=postgres

# Specify the Drupal admin account details.
# DO NOT set DEVPORTAL_ADMIN_USERNAME=admin.
# The installer creates this user on the portal.
DEVPORTAL_ADMIN_FIRSTNAME=firstName
DEVPORTAL_ADMIN_LASTNAME=lastName
DEVPORTAL_ADMIN_USERNAME=userName
DEVPORTAL_ADMIN_PWD=PORTAL_ADMIN_PASSWORD
DEVPORTAL_ADMIN_EMAIL=foo@bar.com

# Edge connection details.
# If omitted, you can set them in the portal UI.
# Specify the Edge organization associated with the portal.
EDGE_ORG=edgeOrgName

# Specify the URL of the Edge management API.
# For a Cloud based installation of Edge, the URL is:
# https://api.enterprise.apigee.com/v1
# For a Private Cloud installation, it is in the form:
# http://ms_IP_or_DNS:8080/v1 or
# https://ms_IP_or_DNS:TLSport/v1
MGMT_URL=https://api.enterprise.apigee.com/v1

# The org admin credentials for the Edge organization in the form
# of Edge emailAddress:pword.
# The portal uses this information to connect to Edge.
DEVADMIN_USER=orgAdmin@myCorp.com
DEVADMIN_PWD=ORG_ADMIN_PASSWORD

# The PHP port.
# If omitted, it defaults to 8888.
PHP_FPM_PORT=8888

# Optionally configure the SMTP server used by the portal.
# If you do, the properties SMTPHOST and SMTPPORT are required.
# The others are optional with a default value as notated below.
# SMTP hostname. For example, for the Gmail server, use smtp.gmail.com.
SMTPHOST=smtp.gmail.com

# Set the SMTP protocol as "standard", "ssl", or "tls",
# where "standard" corresponds to HTTP.
# Note that in previous releases, this setting was controlled by the
# SMTPSSL property. That property has been deprecated.
SMTP_PROTOCOL="standard"

# SMTP port (usually 25).
# The value can be different based on the selected encryption protocol.
# For example, for Gmail, the port is 465 when using SSL and 587 for TLS.
SMTPPORT=25

# Username used for SMTP authentication, defaults is blank.
SMTPUSER=your@email.com

# Password used for SMTP authentication, default is blank.
SMTPPASSWORD=YOUR_EMAIL_PASSWORD

1. Apigee Edge への接続をテストする

ポータル サーバーで次の curl コマンドを実行して、ポータルをインストールしようとしているサーバーと Edge Management Server の間の接続をテストします。

curl -u EMAIL:PASSWORD http://ms_IP_or_DNS:8080/v1/organizations/ORGNAME

または

curl -u EMAIL:PASSWORD https://ms_IP_or_DNS:TLSPort/v1/organizations/ORGNAME

ここで、EMAILPASSWORDORGNAME の管理者のメールアドレスとパスワードです。

ご使用の Edge 環境に固有のホスト名とポート番号を指定します。Edge が使用するデフォルト ポートは 8080 です。クラウド上の組織に接続する場合、リクエスト URL は https://api.enterprise.apigee.com/v1/organizations/ORGNAME になります。

成功すると、curl から次のようなレスポンスが返されます。

{
  "createdAt" : 1348689232699,
  "createdBy" : "USERNAME",
  "displayName" : "cg",
  "environments" : [ "test", "prod" ],
  "lastModifiedAt" : 1348689232699,
  "lastModifiedBy" : "foo@bar.com",
  "name" : "cg",
  "properties" : {
    "property" : [ ]
  },
  "type" : "trial"
}

2. バージョン 7.0 より前の PHP を削除する

インストールを開始する前に、インストール スクリプトがシステムをチェックし、バージョン 7.0 より前の PHP が存在しているかどうか確認します。バージョン 7.0 より前の PHP が見つかると、次の警告メッセージが表示されます。

The following packages present on your system conflict with software we are
about to install. You will need to manually remove each one, then re-run this install script.

php
php-cli
php-common
php-gd
php-mbstring
php-mysql
php-pdo
php-pear
php-pecl-apc
php-process
php-xml

次のコマンドを使用して PHP パッケージを削除します。

yum remove package_name

サーバーに PHP がインストールされているかどうか不明な場合は、次のコマンドを使用します。

rpm -qa | grep -i php

ポータルで使用されている PHP のバージョンは 4.18.01-0.0.49 です。Apigee Edge for Private Cloud のバージョン番号と一致するものではありません。

3. Postgres をインストールする

ポータルをインストールするには、Postgres がインストールされている必要があります。Postgres は Edge と同時にインストールできます。また、ポータルで使用する Postgres を単独でインストールすることもできます。

  • Edge と同時にインストールされた Postgres に接続する場合に、Postgres がマスター/スタンバイ モードで構成されているときは、マスター Postgres サーバーの IP アドレスを指定します。
  • Postgres を単独でインストールする場合は、ポータルと同じノードにインストールできます。

Edge と同時に Postgres をインストールする方法については、ノードに Edge コンポーネントをインストールするをご覧ください。

Postgres をスタンドアロンでインストールするには:

  1. インターネット接続ありまたはインターネット接続なしの手順に従って、Edge apigee-setup ユーティリティをノードにインストールします。詳細については、Edge apigee-setup ユーティリティをインストールするをご覧ください。
  2. 次の例のように Postgres 構成ファイルを作成します。
    # Must resolve to IP address or DNS name of host - not to 127.0.0.1 or localhost
    HOSTIP=$(hostname -i)
    
    # The pod and region of Postgres. Use the default values shown below.
    MP_POD=gateway
    REGION=dc-1
    
    # Set the Postgres password. The default value is 'postgres'.
    PG_PWD=postgres
  3. コマンド プロンプトで設定スクリプトを実行し、Postgres をインストールします。
    /opt/apigee/apigee-setup/bin/setup.sh -p pdb -f postgres_config_file

    -p pdb オプションは、Postgres をインストールすることを指定します。構成ファイルは「apigee」ユーザーがアクセス可能または読み取り可能である必要があります。

4. ポータルをインストールする

ポータルをインストールする前に、3. Postgres をインストールするで説明した次の手順を完了している必要があります。

  1. Edge apigee-setup ユーティリティをポータルのノードにインストールする
  2. Postgres をスタンドアロンで、または Edge のインストールの一環としてインストールします。

ポータルをインストールするには:

  1. コマンド プロンプトで、setup スクリプトを実行します。
    /opt/apigee/apigee-setup/bin/setup.sh -p dp -f configFile

    ここで

    • configFile はポータルの構成ファイルです。詳細については、ポータル構成ファイルを作成するをご覧ください。
    • -p dp は、ポータルをインストールするよう setup スクリプトに指示します。

ポータルのインストールに成功したことを確認するには:

  1. http://localhost:8079 にあるポータルのホームページにアクセスするか、ポータルの DNS 名にアクセスします。
  2. ポータル構成ファイルに設定した管理者の認証情報を使用して、ポータルにログインします。
  3. Drupal メニューで [Reports] > [Status Report] を選択して、ポータルの現在のステータスを確認します。
  4. Management Server への接続が成功したことを確認します。接続できていない場合は、次の手順に従います。
    1. ポータルの [Connection Configuration] ページに移動します(例: http://portal_IP:8079/admin/config/devconnect)。
    2. [Test Connection] ボタンをクリックします。接続に成功すれば完了です。接続に失敗した場合、確認を続けます。
    3. エンドポイントと認証の設定を確認します。
      • Management API endpoint URL: プロトコル(HTTP または HTTPS)、IP または DNS 名、ポート番号が正しいことを確認します。次に例を示します。
        http://10.10.10.10:8080/v1
      • エンドポイント認証されたユーザー: 組織管理者のユーザー名。
      • Authenticated user's password: 組織管理者のパスワード。

      デフォルト値には、インストール中に作成したポータル構成ファイルの設定が反映されています。

      これらの値は、1: Apigee Edge への接続テストを行うの手順で使用した ms_IP_or_DNSemailpassword の値と一致している必要があります。また、ユーザー名とパスワードは、オンボーディング構成ファイルで指定された USER_NAME プロパティと USER_PWD プロパティの値、または組織管理者のロールを持つユーザーの認証情報と一致している必要があります。

    4. Management Server に正常に接続したら、ページの下部にある [Save configuration] ボタンをクリックして変更を保存します。

5. 更新マネージャー モジュールが有効になっていることを確認します。

Drupal の更新通知を受け取るには、Drupal Update Manager モジュールを有効にします。Drupal メニューから [Modules] を選択し、[Update manager] モジュールまで下にスクロールします。有効になっていない場合は有効にします。

更新マネージャー モジュールを有効にすると、[Reports] > [Available Updates] メニュー項目を使用して現在提供されているアップデートを確認できます。また、次の Drush コマンドでも確認できます。

drush pm-info update

このコマンドはサイトのルート ディレクトリから実行する必要があります。デフォルトでは、ポータルは /opt/apigee/apigee-drupal/wwwroot にインストールされます。したがって、このコマンドを実行する前にディレクトリを /opt/apigee/apigee-drupal/wwwroot に変更します。ポータルをデフォルト ディレクトリ以外の場所にインストールした場合は、そのインストール ディレクトリに移動します。

[Reports] > [Available Updates] > [Settings] メニュー項目を使用して、アップデートが入手可能になったらメールが届くように構成し、アップデートを確認する頻度を指定します。

6. Apache Solr 検索エンジンを構成する(省略可)

デフォルトでは、ポータルをインストールすると、Apache Solr 検索エンジンに接続する Drupal モジュールは無効になります。ほとんどのポータルは内部の Drupal 検索エンジンを使用するため、Drupal Solr モジュールは必要ありません。

検索エンジンとして Solr を使用する場合は、サーバーに Solr をローカルにインストールしてから、ポータルで Drupal Solr モジュールを有効にして構成する必要があります。

Drupal Solr モジュールを有効にするには:

  1. 管理者権限またはコンテンツ作成権限を持つユーザーとしてポータルにログインします。
  2. Drupal メニューで [Modules] を選択します。
  3. [Apache Solr Framework] モジュールと [Apache Solr Search] モジュールを有効にします。
  4. 変更を保存します。
  5. https://drupal.org/node/1999280 の説明に従って Solr を構成します。

7. SmartDocs をインストールする(省略可)

SmartDocs を使用すると、ポータルに完全な対話型の API ドキュメントを作成できます。ただし、ポータルで SmartDocs を使用するには、Edge に SmartDocs をインストールする必要があります。

  • ポータルを Edge Cloud に接続している場合、SmartDocs はすでにインストールされています。これ以上の構成は必要ありません。
  • ポータルを Edge for Private Cloud に接続している場合は、SmartDocs を Edge にインストールする必要があります。Edge と SmartDocs のインストールの詳細については、SmartDocs のインストールをご覧ください。

また、ポータルで SmartDocs を有効にする必要があります。SmartDocs の詳細については、SmartDocs を使用した API のドキュメント化をご覧ください。

8. インターネット接続のない環境で JQuery 更新モジュールを構成する(省略可)

インターネット接続のない Edge 環境に JQuery 更新モジュールをインストールして使用するには、JQuery のローカル バージョンを使用するようにモジュールを構成する必要があります。インターネット以外の環境で CDN を使用するようにモジュールを構成すると、CDN へのアクセスを試みるため、ページの読み込みで遅延が発生します。JQuery 更新モジュールの詳細については、https://www.drupal.org/project/jquery_update をご覧ください。

JQuery のローカル バージョンを使用するように JQuery 更新モジュールを構成するには:

  1. 管理者権限またはコンテンツ作成権限を持つユーザーとしてポータルにログインします。
  2. Drupal メニューで [Configuration] > [Development] > [JQuery Update] を選択します。
  3. 左側のナビゲーションで [パフォーマンス] をクリックします。
  4. [JQuery and JQuery UI CDN] プルダウンで [None] を選択します。
  5. [構成を保存] をクリックします。

9. 次のステップ

次の表に、インストール後に実行する最も一般的なタスクの一部を示します。また、詳細を確認できる Apigee ドキュメントへのリンクも記載しています。

タスク 説明

テーマをカスタマイズする

テーマによって、色、スタイル、その他の視覚的要素など、ポータルの外観を定義します。

外観のカスタマイズ

ホームページには、メインメニュー、ようこそメッセージ、ヘッダー、フッター、タイトルなどが表示されます。

ユーザー アカウントの追加と管理

新しいデベロッパーは、登録プロセスにより、ポータルのアカウントを登録します。新しいデベロッパーはポータルにすぐにアクセスできる場合も、管理者による確認が必要になる場合もあります。また、新しいアカウントが作成されたときにポータル管理者がどのようにして通知を受け取るかも設定できます。

メールの構成

特定のイベントが発生すると、ポータルからメールが送信されます。たとえば、新しいデベロッパーがポータルに登録したときやデベロッパーがパスワードを忘れた場合にメールが送られます。

ユーザー アカウントの追加と管理

[Terms & Conditions] ページを追加します。デベロッパーは、利用規約に同意した場合にのみ、ポータルへのアクセスを許可されます。

ユーザー アカウントの追加と管理

ポータルには、ロールベースの認可モデルが実装されています。デベロッパーに登録を許可する前に、ポータルで使用する権限とロールを定義します。

ブログやフォーラムの投稿を追加する

ポータルには、ブログ、スレッド フォーラムなどのサポート機能が組み込まれています。ブログやフォーラム投稿の表示、追加、編集、削除に必要な権限を定義します。

データベースのバックアップ

Drupal データベースをバックアップします。Edge のインストール環境はそれぞれ異なるため、データベースをバックアップする最適な方法はユーザーが判断する必要があります。

バックアップの実行方法もご覧ください。

ホスト名を設定する

DNS サーバーにホスト名を設定していない場合は、サーバーの IP アドレスを使用していつでもサイトにアクセスできます。ホスト名を使用する場合は、サーバーの DNS を構成できます。この構成は、基本設定で他の構成を行わなくても正しく機能します。

ロードバランサを設定した場合、またはなんらかの理由でサイトの URL が正しく得られない場合は、次の手順に従って Drupal の $base_url を設定できます。

  1. /opt/apigee/data/apigee-drupal-devportal/sites/default/includes ディレクトリを作成します(存在しない場合)。
  2. そのディレクトリに settings.php という名前のファイルを作成します。
  3. settings.php ファイルに以下を追加します。
    /**
    * Base URL (optional).
    *
    * If Drupal is generating incorrect URLs on your site, which could
    * be in HTML headers (links to CSS and JS files) or visible links
    * on pages (such as in menus), uncomment the Base URL statement
    * below (remove the leading hash sign) and fill in the absolute URL
    * to your Drupal installation.
    *
    * You might also want to force users to use a given domain.
    * See the .htaccess file for more information.
    *
    * Examples:
    *   $base_url = 'http://www.example.com';
    *   $base_url = 'http://www.example.com:8888';
    *   $base_url = 'http://www.example.com/drupal';
    *   $base_url = 'https://www.example.com:8888/drupal';
    *
    * It is not allowed to have a trailing slash; Drupal will add it
    * for you.
    */
    # $base_url = 'http://www.example.com/';  // NO trailing slash!
    $base_url = ‘http://www.example.com’;
    
  4. 最後の $base_url の行をサイトのホスト名に変更します。
  5. ファイルを保存します。

このファイルには、/opt/apigee/data/apigee-drupal-devportal/ sites/default/default.settings.php にあるその他の設定も記述できます。

$base_url プロパティの詳細については、以下をご覧ください。

カスタム開発 テーマの外部でカスタムコードを作成して、ポータルの機能を拡張できます。そのためには、Drupal のモジュール開発トピックの説明に従って独自の Drupal モジュールを作成し、/sites/all/modules ディレクトリに配置します。