参考サイト:http://safe-linux.homeip.net/web/PostgreSQL/03-phpPgAdmin.html
1.yumでpostgreをインストールした場合の状態
postgresスーパーユーザー(linxu上のユーザー):postgres
デフォルトデータベース:template0
データベース格納先:/var/lib/pgsql/data
2.postgresユーザーの存在を確める
id postgres #postgresユーザーの存在確認 uid gid 所属グループがわかる
finger postgres #postgresのユーザー情報確認 ログイン名、ホームディレクトリ、ログインシェルなど
3.phpPgAdminの動作に必要なソフトの確認
3.1 postgresのインストール確認
rpm -qa | grep postgres
psql --version
3.2 pgsql-phpのインストール確認
rpm -qa | grep php-pgsql
(インストールされていない場合は yum install php-pgsqlでインストール)
4.PostgreSQL内で管理されているスーパーユーザーpostgres(2のものとは別)に
パスワードを設定する
5.Postgresへのローカルホストからの接続をすべて許可する
vi /var/lib/pgsql/data/pg_hba.conf #postgresの設定ファイルを開く
==vi モード====
:$ #ページの最終行へ
#host all all 127.0.0.1/32 ident sameuser #ipV4用の設定をコメントアウト
host all all 127.0.0.1 255.255.255.255 trust #ローカルホストからの接続を許可する設定を追記。phpPgAdminからの接続は、同じサーバーのphpからのアクセスとなるので内部アクセスとなる。よってpostgresのポートを外部に公開する必要も無い。
==viモード終了===
/etc/init.d/postgresql -restart #postgresの再起動
6.postgreSQL内で管理されるpostgres以外のスーパーユーザーを作成する
su postgres #LinuxのpostgreSQL操作ユーザーpostgresに切り替える
createuser -P #パスワード尽きでユーザー作成
Enter name of role to add: #ユーザーを入力
Enter password for new role: #パスワードを入力
Enter it again: #パスワードを再入力
Shall the new role be a superuser? (y/n) y #作成するユーザーにスーパーユーザーの権限を与えるの”y”を入力
7.phpPgAdminをインストール
http://phppgadmin.sourceforge.net/?page=download
からダウンロードしてきたフォルダ名をphpPgAdminに変更してドキュメントルートに設置
8.phpPgAdminの設定
/confの”config.inc.php”を編集
8.1 接続ホストの設定
$conf['servers'][0]['host'] = '';
↓
$conf['servers'][0]['host'] = 'localhost' #localhostからの接続を許可する
8.2 rootやpostgresユーザーからの接続拒否設定を確認する
$conf['extra_login_security'] = true;
8.3 所有者以外のデータベースを拒否する
$conf['owned_only'] = false;
↓
$conf['owned_only'] = true;
9.インターネット経由でのphpPgAdminへのアクセスをhtaccessで制限する
9.1 IPアドレスの制限
9.2 Basic認証の制限