アットウィキロゴ

postgresとphpPgAdmin追加

postgres

Fedora 9でPostgreSQLサーバ構築

Fedora 9にウェブDB用にPostgreSQLをインストールする。
現時点の最新パッケージはpostgresql-server-8.3.3-1.fc9ですが、
これをyumでインストールすると最低限必要なpostgresqlとpostgresql-libsが
一緒にインストールされる。

# yum install postgresql-server

そしてphp言語でpostgresqlデータベースを利用するために以下のパッケージもインストール。

# yum install php-pgsql

ただしこれだけだとhttpd+phpの環境からpostgresqlが利用できるわけではないので、httpに設定ファイルを再読み込みさせる必要がある。

# service httpd reload

次にpostgresqlの起動だが、そのサーバで初めてpostgresqlを起動させる前にデータベースの初期化を行う必要がある。

# service postgresql initdb

初期化が完了したらいよいよサービスを起動。

# service postgresql start

psコマンドで確認すると /usr/bin/postmaster -p 5432 -D /var/lib/pgsql/dataというプロセスが確認できる。
これは5432ポートとデータディレクトリが/var/lib/pgsql/dataを指定しているものだ。

自動起動にする。

# chkconfig postgresql on

テストも兼ねてphpPgAdminをインストール。

# yum install phpPgAdmin

phpPgAdminは/usr/share/phpPgAdminにインストールされるが、
/etc/httpd/conf.d/phpPgAdmin.confが作成され、 httpdに対して以下のような設定が追加される。

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>

これはサーバ機のMozillaなどのブラウザで、 http://127.0.0.1/phpPgAdmin/ へアクセスすればよいことになっている。
設定が追加されたので反映させておく。

# service httpd reload

ただしこのままではログインできないので、以下のような調整を行う必要がある。
1つ目はpostgresqlの設定変更で、/var/lib/pgsql/data/pg_hba.confの編集。

(69行目 host all all 127.0.0.1/32 ident sameuser)
host all all 127.0.0.1/32 trust

設定変更を反映させるため以下を実行。

# service postgresql reload

2つ目はSELinuxの設定変更。
システム > 管理 > SELinux Management とメニューを選ぶと、SELinux Administrationというウィンドウが開く。
そこで左側にあるBooleanを選択し、 右側で httpd_can_network_connect_dbをActiveにするためチェックマークを入れる。

3つ目はphpPgAdminの設定変更で、/etc/phpPgAdmin/config.inc.phpを編集。

(18行目 $conf['servers'][0]['host'] = '';)
$conf['servers'][0]['host'] = 'localhost';
(73行目 $conf['extra_login_security'] = true;)
$conf['extra_login_security'] = false;
(79行目 $conf['owned_only'] = false;)
$conf['owned_only'] = true;

これらの設定ができれば、ブラウザ経由でphpPgAdminを利用してPostgreSQLデータベースにアクセスできるようになる。

最終更新:2009年07月06日 00:22
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。