(失敗)CentOSにyumでphpPgAdminを入れてみる

CentOSにPostgreSQL9.3をインストールしてみる
の続き

CentOSyumphpPgAdminを入れてみる。

【参考】
PostgreSQLphpPgAdmin最速インストールマニュアル - 常水商会::よしなしごと::旧本店
http://d.hatena.ne.jp/kiyotune/20111020/1319101145

ApachePHPのインストール

ApachePHPが入ってないので、とりあえずインストールして設定しておく。

$ sudo yum -y install httpd php
$ sudo vi /etc/php.ini
date.timezone = Asia/Tokyo
$ sudo service httpd start
$ sudo chkconfig httpd on

phpPgAdminのインストール

phpPgAdminyumでインストールする。

$ sudo yum -y install phpPgAdmin

「Allow from All」を追加してどこからでもアクセスできるようにする。

$ sudo vi /etc/httpd/conf.d/phpPgAdmin.conf
Alias /phpPgAdmin /usr/share/phpPgAdmin

<Location /phpPgAdmin>
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1
    Allow from ::1
    Allow from All			←追加
</Location>

再起動して反映。

$ sudo service httpd restart

確認

以上で、
http://サーバーのアドレス/phpPgAdmin/
にアクセスするとphpPgAdminが表示される。

しかし、ログインしようとすると「ログインが許可されませんでした」と表示され、
ログインできない。

いろいろ試してみたる

コマンドで接続してみるとエラーがでる。
※192.168.56.101は今回使ってるVirtualBoxのマシンのIPです。

$ psql --host=192.168.56.101 --port=5432 --username=postgres --password
psql: サーバに接続できませんでした: 接続を拒否されました
        サーバはホスト"192.168.56.101"で稼動していますか?
        また、ポート5432でTCP/IP接続を受け付けていますか?

許可するよう設定する。

$ sudo vi /var/lib/pgsql/9.3/data/postgresql.conf
・・・
listen_addresses = '*'		←コメントを解除して'*'に修正
・・・
port = 5432					←コメントを解除
・・・
$ sudo service postgresql-9.3 restart

コマンドで再度接続してみると別のエラーがでる。

$ psql --host=192.168.56.101 --port=5432 --username=postgres --password
psql: FATAL:  pg_hba.conf にホスト"192.168.56.101"、ユーザ"postgres"、データベース"postgres, SSL無効用のエントリがありません

許可するよう設定する。

$ sudo vi /var/lib/pgsql/9.3/data/pg_hba.conf
↓下記を最後に追加
host all all 0.0.0.0/0 trust
$ sudo service postgresql-9.3 restart

エラーが出なくなった。

$ psql --host=192.168.56.101 --port=5432 --username=postgres --password
postgres=#

しかし、まだログインできない。


DBユーザーとしてのパスワードはまた別に設定する必要があるみたいなので設定してみる。

$ su - postgres
-bash-4.1$ psql
postgres=# alter user postgres with password 'パスワード';

また、extra_login_securityだとpostgresのユーザーでログインできないようなので
falseに設定してみる。

$ sudo vi /etc/phpPgAdmin/config.inc.php
$conf['extra_login_security'] = true;
↓
$conf['extra_login_security'] = false;

しかし、ログインできない。


よく分からないので諦める。
PostgreSQLMySQLより難しい。