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

Edge for Private Cloud v4.18.05

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

  1. ポータルをインストールする前に Postgres をインストールします。Postgres は、Edge のインストールの一部としてインストールすることも、ポータルで使用するためにスタンドアロンでインストールすることもできます。
    • Postgres をスタンドアロンでインストールする場合は、ポータルと同じノードにインストールできます。
    • Edge の一部としてインストールされた Postgres に接続し、Postgres がマスター/スタンバイ モードで構成されている場合は、マスター Postgres サーバーの IP アドレスを指定します。
  2. サポートされているバージョンの Red Hat Enterprise Linux、CentOS、または Oracle の 64 ビット版にインストールしている。サポートされているバージョンのリストについては、サポートされているソフトウェアとサポートされているバージョンをご覧ください。
  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 への接続をテストする

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

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

ここで、EMAIL と PASSWORD は 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 をインストールする必要があります。Edge のインストールの一部として Postgres をインストールすることも、ポータルで使用するために 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 をインストールする(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_DNS、email、password の値と一致する必要があります。ユーザー名とパスワードは、オンボーディング構成ファイルの USER_NAME プロパティと USER_PWD プロパティの値、または組織管理者のロールを持つユーザーの認証情報と一致している必要があります。

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

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

Drupal の更新に関する通知を受け取るには、Drupal Update Manager モジュールが有効になっていることを確認してください。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 ドキュメントを完全な対話型のドキュメントにすることができます。ただし、ポータルで SmartDocs を使用するには、まず Edge に SmartDocs をインストールする必要があります。

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

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

8. インターネットに接続されていないインストール用に JQuery Update モジュールを構成する(省略可)

インターネットに接続されていない環境に JQuery Update モジュールをインストールして使用する場合は、ローカル バージョンの 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 and JQuery UI CDN] プルダウンで [None] を選択します。
  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 ディレクトリに配置します。