phpPgAdmin

提供: ArchWiki
ナビゲーションに移動 検索に移動

関連記事

phpPgAdmin は Apache/PHP フロントエンドを使用して PostgreSQL データベースを管理するウェブベースのツールです。

インストール

PhpPgAdmin は Apache など PHP が使えるウェブサーバーを必要とします。Apache HTTP ServerApache HTTP Server#PHP を見てセットアップしてください。

phppgadmin パッケージをインストールしてください。

設定

PHP

/etc/php/php.ini を編集して以下の行をアンコメントして PHP の pgsql 拡張を有効にする必要があります:

extension=pgsql.so

PHP が /etc/webapps にアクセスできるか確認してください。必要ならば /etc/php/php.iniopen_basedir に追加します:

open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/:/etc/webapps

ウェブサーバー

Apache

Apache 設定ファイルを作成:

/etc/httpd/conf/extra/phppgadmin.conf
Alias /phppgadmin "/usr/share/webapps/phppgadmin"
<Directory "/usr/share/webapps/phppgadmin">
    DirectoryIndex index.php
    AllowOverride All
    Options FollowSymlinks
    Require all granted
</Directory>

そして /etc/httpd/conf/httpd.conf でインクルード:

# phpPgAdmin configuration
Include conf/extra/phppgadmin.conf

デフォルトでは誰でも phpPgAdmin のページを閲覧できてしまいます。変更するには /etc/httpd/conf/extra/phppgadmin.conf を編集してください。例えば、同じマシンからのアクセスだけを許可するには Require all grantedRequire local に置き換えます。

Lighttpd

lighttpd の php の設定は apache と全く同じです。

lighttpd の設定に phppgadmin のエイリアスを作成してください:

alias.url = ( "/phppgadmin" => "/usr/share/webapps/phppgadmin/")

そして設定で mod_alias, mod_fastcgi, mod_cgi を有効にしてください (server.modules セクション)。

lighttpd で php ファイルを使えるようにする方法は Lighttpd#FastCGI を参照。

lighttpd を再起動して http://localhost/phppgadmin/index.php を開いてください。

nginx

nginx#FastCGI をセットアップして PHP の設定ファイルは別にしてください。

phpmyadmin.<domain> として PhpPgAdmin にアクセスできるようになります。

以下のように server ブロックで(サブ)ドメインを設定:

server {
    server_name     phppgadmin.<domain.tld>;
    root    /usr/share/webapps/phppgadmin;
    index   index.php;
    include php.conf;
}

phpPgAdmin の設定

phpPgAdmin の設定ファイルは /etc/webapps/phppgadmin/config.inc.php にあります。ローカルで PostgreSQL サーバーを動かしている場合は、何も設定しなくても動作するはずです。

PostgreSQL サーバーが localhost 上にない場合は、以下の行を編集してください:

$conf['servers'][0]['host'] = '';

phpPgAdmin にアクセス

phpPgAdmin のインストールが完了したら、使用する前に以下のコマンドで apache サーバーを再起動してください:

# systemctl restart httpd.service

http://localhost/phppgadmin/ から phpPgAdmin にアクセスできます。

トラブルシューティング

セキュリティ上の理由でログインが拒否される

extra login security が true の場合、phpPgAdmin でパスワードを指定しなかったり特定のユーザー名 (pgsql, postgres, root, administrator) でのログインが拒否されます。false に設定したい場合 FAQ を読んで PostgreSQL の pg_hba.conf を変更してパスワードによるローカル接続を有効にしてください。

/etc/webapps/phppgadmin/config.inc.php を編集して以下の行を:

$conf['extra_login_security'] = true;

以下のように変更:

$conf['extra_login_security'] = false;