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

Edge for Private Cloud v4.18.05

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

  1. ポータルをインストールする前に Postgres をインストールします。Postgres は、Edge のインストールの一環としてインストールすることも、ポータルで使用するためにスタンドアロンでインストールすることもできます。
    • 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 サーバーで使用されるプロトコルを設定していました。このプロパティは非推奨になりました。

ポータルに接続している SMTP サーバーが使用するプロトコルを設定するには、SMTPSSL プロパティではなく SMTP_PROTOCOL プロパティを使用します。有効な値は、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

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

Edge のインストール環境に固有のホスト名とポート番号を指定します。ポート 8080 は、Edge が使用するデフォルト ポートです。クラウド内の組織に接続する場合、リクエスト 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

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

ポータルをインストールするには、まず Postgres がインストールされている必要があります。Postgres は、Edge のインストールの一環としてインストールすることも、ポータルで使用するためにスタンドアロンでインストールすることもできます。

  • 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 エンドポイント URL: プロトコル(HTTP または HTTPS)、IP または DNS 名、ポート番号が正しいことを確認します。例:
        http://10.10.10.10:8080/v1
      • エンドポイント認証済みユーザー: 組織管理者のユーザー名。
      • 認証済みユーザーのパスワード: 組織管理者のパスワード。

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

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

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

5. アップデート マネージャー モジュールが有効になっていることを確認する

Drupal のアップデート通知を受け取るには、Drupal アップデート マネージャー モジュールが有効になっていることを確認します。Drupal のメニューで [Modules] を選択し、[Updatemanager] モジュールまでスクロールします。有効になっていない場合は、有効にします。

有効にした後は、[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 を使用するには、最初に SmartDocs を Edge にインストールする必要があります。

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

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

8. インターネット以外のインストール用に JQuery 更新モジュールを構成する(省略可)

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

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

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

9. 次のステップ

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

タスク 説明

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

テーマにより、色、スタイル、その他の視覚的要素など、ポータルの外観が定義されます。

外観をカスタマイズする

ホームページには、メインメニュー、ウェルカム メッセージ、ヘッダー、フッター、タイトルがあります。

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

登録プロセスでは、新しいデベロッパーがポータルにアカウントを登録する方法を制御します。たとえば、新しいデベロッパーがポータルにすぐにアクセスできるか、または管理者による確認が必要ですか。このプロセスは、新しいアカウントが作成されたときにポータル管理者に通知する方法も制御します。

メールの構成

ポータルは、特定のイベントに応じてメールを送信します。たとえば、新しいデベロッパーがポータルに登録したり、デベロッパーがパスワードを紛失したりした場合などです。

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

デベロッパーがポータルへのアクセスを許可される前に同意する必要がある利用規約ページを追加します。

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

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

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

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

データベースのバックアップを確実に行う

Drupal データベースがバックアップされていることを確認します。インストールはそれぞれ異なるため、データベースの最適なバックアップ方法はお客様が判断する必要があります。

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

ホスト名を設定する

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 ディレクトリに配置します。