PSLブログ

ヨシナシゴトヲツヅリマス

phpPgAdminをyumで入れる

今更ながら、phpPgAdminyumで入れた話。

 今時はMySQLなので、phpMyAdminであるところだが、私は未だPostgreSQLを使っているので、重宝している。いままでは配布サイトでダウンロードしたものをpublic_html直下に置いて動かしていたが、サーバを変えたのを機にyumで入れてみた。

yum install phpPgAdmin

これでさくっと入るが、このままでは動かない。

サーバに複数入れているバーチャルドメインのうちの1つでアクセスすることにする。ドメインexample.comとすると、https://example.com/phpPgAdmin/ でアクセスすることになる。ファイルはすべてrootになっているが、念のため、使用するドメインのユーザーにchownしておく。

chown -R ****.**** /usr/share/phpPgAdmin

次に、デフォルトではlocalhostからの接続でないと拒否するので、これを解除。

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 .example.com
</Location>

 この設定をすべてコメントアウトする。

#Alias /phpPgAdmin /usr/share/phpPgAdmin
#
#<Location /phpPgAdmin>
# Order deny,allow
# Deny from all
# Allow from 127.0.0.1
# Allow from ::1
# # Allow from .example.com
#</Location>

次に、Virtualminのexample.com->Services->Configure Website for SSL->ディレクトティブの編集で、以下のディレクティブを追加する。これで、SSLで、かつ書きの許可したいIPアドレスから接続したときのみページが表示される。

Alias /phpPgAdmin/ /usr/share/phpPgAdmin/

<Directory /usr/share/phpPgAdmin>
Options -Indexes +IncludesNOEXEC +SymLinksIfOwnerMatch +ExecCGI
deny from all
allow from 許可したいIPアドレス
AllowOverride All Options=ExecCGI,Includes,IncludesNOEXEC,Indexes,MultiViews,SymLinksIfOwnerMatch
AddType application/x-httpd-php .php
AddHandler fcgid-script .php
AddHandler fcgid-script .php5
FCGIWrapper /home/****/fcgi-bin/php5.fcgi .php
FCGIWrapper /home/****/fcgi-bin/php5.fcgi .php5
</Directory>

ここまできたら、apacheをreloadする(以下CentOS6.*のケース)。

service httpd reload

 さらに、PgAdminのconfファイルを開いて、適宜修正する。

yumで入れると、/usr/share/phpPgAdmin/conf/の中にあるconfig.inc.phpとconfig.inc.php-distはシンボリックリンクになっていて、実態ファイルは/etc/phpPgAdmin/の中にある。スーパーユーザーでもアクセスできるように1行追加する。

vi /etc/phpPgAdmin/config.inc.php

$conf['extra_login_security'] = false;

 PostgreSQLもバージョン10のβ版がリリースされているが、PgAdminは最後の更新が2013年で止まっている(バージョン5.1)。

www.postgresql.org