Heroku Tips (2) phpPgAdminでサーバーからPostgresを参照

September 3, 2018 Naoki Kitaarashi

皆さん、こんにちは。アピリオ北嵐です。さてHeroku Tipsの2回目となる今回は、Heroku Postgresをサーバーから参照するために phpPgAdminをHerokuアプリとして導入する手順を紹介したいと思います。phpPgAdminはブラウザからPostgreSQLにアクセスするためにphpで書かれたWebアプリケーションです。


 1. phpPgAdminのダウンロード

サイトからソースコードをダウンロードします。


2. Herokuアプリケーションの準備

herokuサイトにアクセスして、新規にherokuアプリケーションを作成します。

[Settings] - [Add buiidpack] を押して、phpのビルドバックを追加します。 

[Deploy] - [Deploying using Heroku Git]セクションに記載されているコマンドを参考にして、作成したHerokuアプリケーションにデプロイする環境をローカルPC上に作成します。

$ mkdir appirio-phppgadmin
$ cd appirio-phppgadmin
$ heroku login
$ git init
$ heroku git:remote -a appirio-phppgadmin

※ Heroku CLIコマンドを実行するには、Heroku CLIのインストールが必要です

手順1でダウンロードしたzipファイルを解凍し、ソースコードを上記のフォルダにコピーします。

接続したいHeroku Postgresの接続情報を取得します(手順はTips1を参照)。ファイル conf/config.inc.php を開いて、接続情報を修正します。

// 任意の名前を指定
$conf['servers'][0]['desc'] = 'Appirio PostgreSQL';

// host を指定
$conf['servers'][0]['host'] = 'ec2-xx-xxx-xx-xxx.ap-northeast-1.compute.amazonaws.com';

// Database port on server (5432 is the PostgreSQL default)
$conf['servers'][0]['port'] = 5432;

// dbname を指定
$conf['servers'][0]['defaultdb'] = 'd1gxxxxxxxx2';

ソースコードをgitにコミットし、herokuサーバーにpushしてデプロイします。

git add .
git commit -m init
git push heroku master


3. アプリケーションへのアクセス

[Open app]を押して、作成したherokuアプリケーションにブラウザからアクセスします。

phpPgAdminの初期画面が表示されることを確認します。

左側のペインにあるサーバー名をクリックすると、ログイン画面が表示されます。

ユーザー名とパスワードを入力してログインすると、データベースにアクセスできるようになります。もしログインに失敗する場合は、接続情報の設定ミスかデータベースへのアクセス制限(Private Spaces内のDBに一般リージョンのHerokuアプリからアクセスするなど)が原因として考えられます。

簡単でしたね。ネットワーク環境に制約があり、ローカルPCからHeroku Postgresに接続できない環境では重宝する接続方法です。3回目の次回のTipsではHeroku Connectを取り上げたいと思います。

最後に、今回のphpPgAdminによる接続を紹介してくれた Salesforce社 神田貴博さんにこの場を借りてお礼を申し上げます。

 

 

著者について

某大手SIベンダーを退職し2015年3月からアピリオの一員としてクラウドの世界に身を投じているシニアエンジニアです。Salesforceを極めようと精進していたら、いつの間にかエンタープライズのHerokuアプリ開発で再びJavaの世界に戻って来ている最近です。クラウドという広大な技術の波に翻弄されつつも、やはりクラウドは最高に面白いなと感じている毎日です。

Naoki Kitaarashi のコンテンツをもっと見る

戻れません

次へ
Heroku Tips (1) Heroku Postgresを参照する
Heroku Tips (1) Heroku Postgresを参照する

Salesforce の Heroku Postgresを参照するいくつかの方法について紹介します。

アピリオまでお気軽にお問合せください

ご質問はこちら