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

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

ここで、EMAIL と PASSWORD は 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. 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
      • 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 の詳細については、SmartDocs を使用した API のドキュメント化をご覧ください。

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

インターネット接続のない Edge 環境に 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 データベースをバックアップします。Edge のインストール環境はそれぞれ異なるため、データベースをバックアップする最適な方法はユーザーが判断する必要があります。

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

ホスト名の設定

DNS サーバーに hostname が設定されていない場合は、サーバーの 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 ディレクトリに配置します。