はじめに
Apigee Edgeを使ったときにローカル上でDrupalベースのApigeeポータルを構築する必要があったのでその備忘録。
前提
下記内容が必要になる。
- php
- Composerのため
- Composer
- パッケージライブラリ管理
- MAMP
- サーバ用
方法
PHP
https://www.php.net/downloads からダウンロード。
Thread Safe版をダウンロードすること。好きな場所に解凍。
Composer
https://getcomposer.org/doc/00-intro.md#installation-windows からインストーラをダウンロード。
インストーラでは先ほど解凍したPHPを指定。PATHが通っていない場合は Add this PHP to your path?
チェックボックスが出てくるのでチェックを入れる。
iniファイルがない場合はエラーになるが、Create a php.ini file
にチェックを入れて進めればOK。
MAMP
↓からダウンロード。MAMP PROやApple Bonjourは必要ない。
https://www.mamp.info/en/downloads/
スタートページからphpMyAdminページへ行き、データベースを作っておく(後で使う)。名前は何でもいい。
また、SSL認証エラー回避のため、https://curl.se/docs/caextract.html から cacert.pem
をダウンロードして、MAMPの conf
フォルダ内にある使用しているPHPバージョンの php.ini
で curl.cainfo = ${cacert.pemの置き場所}
を指定する。
Drupalからkickstartのテンプレートインストール
https://www.drupal.org/docs/contributed-modules/apigee-developer-portal-kickstart/get-started-with-kickstart に沿ってDrupal9を入れる。次のコマンドを作成したいフォルダで実行。
$ composer create-project apigee/devportal-kickstart-project:9.x-dev MY_PROJECT --no-interaction
php.ini
をComposerインストールの際に自動生成するとここで以下のようにエラーになることがある。
この場合はエラー文より gd
拡張を有効にすればいいので php.ini
の extension=gd2
のコメントアウトを外してもう一度上記コマンドを実行する。
インストールに成功すると下の画像のようになるため次に進む。
MAMPでサイトを立ち上げてApigee Edgeをインストール
そのままMAMPを起動してもデフォルトのhtdocsを使ってしまうのでPreferenceからwebを指定。
localhost
へアクセスすると下の画面になる。設定が足りないのか日本語で進めようとすると私は通信エラーになったため英語で進める。
Requirements Review
ではPHPのWarningが出るが、特に気にせず進める。
Database configuration
ではMAMPインストール時に作成したデータベースを指定する。MAMPを使っていればユーザネームもパスワードもroot
。
Configure Apigee Edge
ではようやくApigee Edgeの認証情報を入力する。すると下のようなエラーが出る。
その場合は MY_PROJECT/web/sites/default/settings.php
の Private file path
のコメントアウトを外し、認証情報を置いてよい任意のフォルダを以下のように記載する。また、MAMPのところに記載したpem設定をしていないとここでSSL証明書エラーも発生する。
$settings['file_private_path'] = '${任意のフォルダ}';
ここまでやれば下のように、無事にApigee Edgeへ接続できる。
Configure Site
ではサイト情報を入力すると、下記のようなエラーが発生する。
この場合は MY_PROJECT/web/profiles/contrib/apigee_devportal_kickstart/apigee_devlportal_kickstart.profile
内の ContactForm::load('feedback')
を ContactForm::load('personal')
に変更する。
あとはそのまま進めて終わり。