.
WEB/DB 関連 =>PostgreSQL-Server>1.PostgreSQL インストール
Linux 活用ガイド:目次

サーバ構築ガイド

レンタル ガイド

ショップ 構築ガイド

情報漏洩対策

PostgreSQL Server のセットアップ ~ CentOS-4.5

ここでは管理下にある Linux サーバにおいて PostgreSQL Server とブラウザ経由で PostgreSQL データベースを管理するための phpPgAdmin のセットアップについて説明しています。

ここで導入するアプリケーション

こで紹介している環境は CentOS-4.5 / PostgreSQL-7.4.17 / PHP-4.3.9 になります。RHEL系Linux であれば phpPgAdmin 以外のパッケージは用意されています。

  • PostgreSQL - Server (7.4.17)
    • オープンソースで MySQL と双壁を成すリレーショナル・データベースサーバです。RHL系Linux ではパッケージが用意されています。
  • phpPgAdmin
    • phpPgAdmin とはブラウザ経由で PostgreSQL の操作が行なえるPHPで書かれたWebブラウザ上で動作するソフトウェアです。MySQL の phpMyAdmin に相当します。

CentOS-4.5 の PostgreSQL パッケージは 7.4.17 となっています。2007年4月にリリースされた CentOS-5 では、PostgreSQL-8.1.4 となっています。バージョンにあったドキュメントを参照して下さい。

参照 => PostgreSQL日本語ドキュメント

本稿でセットアップするサーバの運用ポリシ.

本稿で説明している PostgreSQL データベースサーバの運用ポリシは以下の通りです。

ユーザー管理

本稿で構築する PostgreSQL データベースサーバのポリシはサーバー管理者がユーザーの要求に応じて必要なアカウントとデータベースを提供する事を前提とします。(LDAP認証は想定していません)つまり アカウントは PostgreSQL サーバ内での管理を想定しています。

データベース管理

管理者がクライアントの要求に応じて、PostgreSQLデータベース・アカウントを発行します。データベース作成権限を与えるか否かは用途に応じて適宜判断します。

クライアントに対してはリモートCUI の提供は行わないため、何らかの方法でバックアップ等の操作手段を提供する必要があります。クライアントにはブラウザ経由で管理が行えるphpPgAdminによるインターフェイスを提供します。

SSL による通信経路の暗号化を前提にしています。

DBサーバのセキュリティ

PostgreSQL への接続制限は例外なく暗号化パスワードによる認証を求めるようにします。後述しますが、TRUST / IDENT 認証は利用しない方向でセットアップします。

本稿では触れていませんが格納する情報によって厳格なセキュリティポリシが求められます。ファイアウォールで特定のクライアントのみに接続を許可する、データベースサーバは専用サーバで要塞化するといった総合的な対策も必要になります。

PostgreSQL Server インストール

必要なパッケージをインストールします。root権限で行ないます。CentOS-4.5 でパッケージ管理ツールでセットアップを行う場合、PostgreSQL実行ユーザーや起動スクリプト等、全て自動的にセッティングされます。

# rpm -qa|grep postgresql

でパッケージがインストールされていなければインストールしておきます。

# yum install postgresql-server

依存関係により postgresql-7.4.17-1.RHEL4.1 postgresql-libs-7.4.17-1.RHEL4.1 postgresql-server-7.4.17-1.RHEL4.1 がインストールされます。 用途によっては以下のパッケージも必要になります。

postgresql-devel / postgresql-client

CentOS-4.5 のパッケージでは、PostgreSQL サーバーを起動しても外部からの接続は出来ないように設定されています。

# service postgres start

で起動しておきます。

PostgreSQL 初期設定

CentOS-4.5 の初期設定では起動時にデータベースにスーパーユーザ権限でアクセスされないようになっていましたが、起動する前に最低限必要なセキュリティに関する設定を行なっておきます。

postgresユーザー パスワードの設定

CentOS-4.5 のパッケージをインストールした場合、自動的にUnixアカウント postgres が作成されます。 postgres ユーザーにパスワードを設定しておきます。(root権限で)

# passwd postgres
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.

続いてPostgreSQL 内で管理するスーパーユーザー postgres にパスワードを設定します。こちらは先ほどの Unix アカウントとは異なります。

# su - postgres
-bash-3.00$ psql template1
template1=# alter user postgres password 'パスワード';
ALTER USER
template1-# \q ← データベース template1 を抜けます。
-bash-3.00$ logout ← データベースを抜けます。

インストール時に事前に用意されているデータベース template1 にpsql コマンドで接続します。(psql の実行は必ずデータベースに接続する必要がある) また、# はスーパーユーザー権限でデータベースに接続していることを示します。

# su - postgres
-bash-3.00$ psql -l

で存在するデータベースを確認できます。無ければ作成する必要があります。いずれにしてもメンテナンス用に空のデータベースは必要になるので用意されていると思います。

引き続き、PostgreSQL Server の設定を行います。

bottom_mark
ページ最上部
ページ最上部 前のページ