オープンソースのリレーショナルデータベース管理システム(RDBMS) PostgreSQLを運用するにあたり、ブラウザから操作する GUIツール phpPgAdminを CentOSサーバーにインストールします。

事前準備

phpPgAdminを使用するためには、事前に以下をインストールしておく必要があります。
PostgreSQLサーバー
phpPgAdminは PostgreSQLサーバーの操作ツールです
ウェブサーバー
phpPgAdminはウェブブラウザ上で操作する GUIツールです
PHP
phpPgAdminは PHP5で動作します

インストール

稼働させるウェブサイトのディレクトリに phpMyAdmin公式サイト からソールファイルをダウンロードしてインストールします。
下記の例では、/home/www/vhosts/system-act.com/www にダウンロードしています。
※ ダウンロードディレクトリには、インストールするユーザーで書き込み権限を設定しています。
《先頭文字 \:rootユーザー、$:一般ユーザーでの実行になります》
$ cd /home/www/vhosts/system-act.com/www
# 2014/05/18時点での最新バージョンをダウンロードしています
$ wget http://downloads.sourceforge.net/phppgadmin/phpPgAdmin-5.1.tar.bz2?download
$ tar xjvf phpPgAdmin-5.1.tar.bz2
$ rm phpPgAdmin-5.1.tar.bz2
# アクセスしやすいディレクトリ名に変更します
$ mv phpPgAdmin-5.0.4 phpPgAdmin
# オーナー、グループを変更します
sudo chown -R apache.apache phpPgAdmin

設定

ウェブサーバー apacheのホスト設定に、phpPgAdminの設定を追加します。
サイトへのアクセスは、Digest認証を行うようにしています。
《先頭文字 \:rootユーザー、$:一般ユーザーでの実行になります》
$ sudo vi /usr/local/apache2/conf/extra/vhosts/www.system-act.com.conf
----------(vi ここから)----------
     :
Alias /phpPgAdmin "/home/www/vhosts/system-act.com/www/phpPgAdmin"
<Directory       "/home/www/vhosts/system-act.com/www/phpPgAdmin">
  BrowserMatch   "MSIE" AuthDigestEnableQueryStringHack=On
  AuthType        Digest
  AuthName       "phpPgAdmin"
  AuthUserFile    /etc/.htdigest
  Require         valid-user
</Directory>
     :
----------(vi ここまで)----------

# ウェブサーバーを再起動して設定を反映させます
$ sudo service httpd graceful
/etc/.htdigestはユーザー認証用ファイルです

認証用の .htdigestファイルを作成します。
例では、認証ユーザー名を user1で作成しています。
《先頭文字 \:rootユーザー、$:一般ユーザーでの実行になります》
$ sudo /usr/local/apache2/bin/htdigest -c etc/.htdigest "phpPgAdmin" user1
Adding password for user1 in realm phpPgAdmin.
New password: [パスワード]
Re-type new password: [パスワード再入力]

$ sudo chmod 644 /etc/.htdigest 
既存の .htdigest に追加するときは -c を付けないで実行します
"phpPgAdmin" は AuthNameと同じにします。
違っているとユーザーが一致しても認証エラーになります。

定義ファイルを編集します。
※表示の関係でインデントを行っていません
/home/www/vhosts/system-act.com/www/phpPgAdmin/conf/config.inc.php
     :
// Hostname or IP address for server.  Use '' for UNIX domain socket.
// use 'localhost' for TCP/IP connection on this computer
$conf['servers'][0]['host'] = 'localhost';
     :
// Specify the path to the database dump utilities for this server.
// You can set these to '' if no dumper is available.
$conf['servers'][0]['pg_dump_path'] = '/usr/local/pgsql/bin/pg_dump';
$conf['servers'][0]['pg_dumpall_path'] = '/usr/local/pgsql/bin/pg_dumpall';
     :
$conf['extra_login_security'] = false;
     :
04行目 ... PostgreSQLサーバーのホスト名を指定します
08行目 ... pg_dumpのパスを指定します
09行目 ... pg_dumpallのパスを指定します
11行目 ... pgsql, postgres, root, administratorユーザーで PostgreSQLサーバーへのログインを可能にします

操作

ブラウザから、インストールしたウェブサイトの /phpPgAdmin/index.phpにアクセスします。
(※)クリックすると移動可能な拡大画像がポップアップします。画像は Windows8.1 64bitのものです。
phppgadmin01.png
Digest認証画面です。
(※画像は Google Chromeのものです)

.htdigestファイルに登録したユーザー名とパスワードを入力します。
phppgadmin02.png
phpPgAdminの初期画面です。

左ペインに定義ファイルで定義した PostgreSQLサーバーの一覧が表示されています。
ログインするサーバーをクリックします。
phppgadmin03.png
phpPgAdminのログイン画面です。

PostgreSQLサーバーに登録しているユーザー名とパスワードを入力します。
phppgadmin04.png
PostgreSQLのスーパーユーザー postgresでログインした画面です。

フィードバック

記事の内容についてのご質問、ご指摘、その他ご意見等は下記にてお願いいたします。
System House ACT公式ブログ内記事 :
phpPgAdmin - PostgreSQLサーバー管理・運用

トラックバックまたはコメントにてお寄せください。