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

Edge for Private Cloud v4.19.01

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

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

ご使用の 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. スタンドアロンまたは 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. ポータルの [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
      • Endpoint authenticated user: 組織管理者のユーザー名
      • Authenticated user's password: 組織管理者のパスワード

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

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

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

5. 更新マネージャ モジュールを有効にする

Drupal のアップデート通知を受け取るには、Drupal 更新マネージャ モジュールを有効にします。[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 の詳細については、ドキュメント API に対する SmartDocs の使用をご覧ください。

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

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

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

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

9. 次のステップ

次の表に、インストール後に最もよく行うタスクをまとめました。詳細情報を検索できるように、Apigee ドキュメントのリンクも示します。

タスク 説明

テーマのカスタマイズ

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

外観のカスタマイズ

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

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

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

メールの構成

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

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

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

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

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

ブログおよびフォーラム投稿の追加

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

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

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

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

hostname の設定

DNS サーバーに hostname が設定されていない場合は、サーバーの IP アドレスからサイトにアクセスできます。hostname を使用する場合は、基本設定の他の設定がなくても正しく機能するように、サーバーに 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 行をサイトの hostname に変更します。
  5. ファイルを保存します。

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

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

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