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

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

  1. ポータルをインストールする前に、Postgres をインストールします。Postgres は Edge の一部としてインストールできます。また、ポータルで使用する場合は、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 プロパティのサポート終了

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

これで、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 環境に固有のホスト名とポート番号を指定します。ポート 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 を削除する

インストール スクリプトは、インストールを開始する前に、システムに PHP の 7.0 より前のバージョンがあるかどうかをチェックします。バージョン 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 オプションは、Postgre をインストールすることを指定します。構成ファイルは「apigee」ユーザーがアクセス可能または読み取り可能である必要があります。

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

ポータルをインストールする前に、3. Postgres をインストールします

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

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

  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. ポータルの [接続構成] ページに移動します(例: 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
        )。
      • エンドポイント認証ユーザー: 組織管理者のユーザー名。
      • 認証されたユーザーのパスワード: 組織管理者のパスワード。

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

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

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

5. Update Manager モジュールが有効になっていることを確認する

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

有効にすると、[レポート] > [利用可能なアップデート] メニュー項目を使用して、利用可能なアップデートを表示できます。次の 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 ドキュメントが完全にインタラクティブになるような方法で、その API をポータルにドキュメント化できます。ただし、ポータルで SmartDocs を使用するには、最初に Edge に SmartDocs をインストールする必要があります。

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

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

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

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

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

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

9. 次のステップ

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

タスク 説明

テーマのカスタマイズ

テーマによってポータルの外観(色、スタイル、その他の視覚要素)が決まります。

外観のカスタマイズ

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

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

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

メールの構成

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

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

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

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

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

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

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

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

Drupal データベースをバックアップしていることを確認します。インストールはそれぞれ異なるため、データベースをバックアップする最適な方法は、ご自身で決定してください。

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

ホスト名の設定

DNS サーバーでホスト名を設定しない場合は、いつでもサーバーの IP アドレスを使用してサイトにアクセスできます。ホスト名を使用する場合は、サーバーに DNS を構成できます。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 ディレクトリに配置します。