PostgreSQLをSUSE Linux 9.1にセットアップしました。その過程をまとめました。
インストール
SUSE Linuxではソフトウェアの追加はYaSTというツールを使用します。PostgreSQLとPHPから呼び出すために必要なモジュールはYaSTに登録されていますので、ここからインストールを行いました。
YaSTから「ソフトウェアのインストールと削除」を呼び出し、以下のモジュールをインストールします。
postgresql
postgresql-contrib
postgresql-docs
postgresql-jdbc
postgresql-libs
postgresql-pl
postgresql-server
psql-ODBC
その他に、日本語の全文検索を可能にするために、後で必要となる、ライブラリも追加します。
kakasi
kakasi-dict
それと、PHPからPostgreSQLを使用するために必要なモジュールを追加します。
php4-pgsql
設定
PostgreSQLの設定を行うために、ルートユーザーからpostgresというユーザーになります。
> su -
> su - postgres
postgresになったら、~/data/pg_hba.confファイルを編集して、下記の設定をします。
- localからはユーザー名のみで接続できるようにする。
- 127.0.0.1、127.0.0.2のホストからパスワード認証で接続できるようにする。
- 192.168.1.0/24からはパスワード認証で接続できるようにする。
local all all trust
host all all 127.0.0.1 md5
host all all 127.0.0.2 md5
host all all 192.168.1.0/24 md5
localをmd5に設定すると、システムブート時にPostgreSQLを起動できなくなってしまいました。
また、ident sameにしておくと、同じマシン内で動作しているApacheからは接続できなくなってしまいます。ただ、phpPgAdminからは接続できたます。
設定が終わったら、PostgreSQLを再起動します。
pg_ctl restart
phpPgAdminのセットアップ
PostgreSQLをWEBブラウザ経由で操作するために、phpPgAdminという便利なツールがあります。次に、このツールをセットアップしました。
まず、下記のサイトから最新版をダウンロードします。ここでは、RPM形式ではなく、ソースを使用します。
ダウンロードしたアーカイブを展開したら、WEBブラウザで参照できる場所にコピーします。SUSE LinuxではApapcheのDocument Rootが/srv/www/htdocsに設定されていますので、そこにコピーしました。phpPgAdminのセットアップはこれで終わりです。
ユーザーの作成
phpPgAdminではデフォルト設定では、postgresやrootではログインできないようになっています。設定ファイルを変更すれば、これらのユーザーでもログインできますが、新規でユーザーを作成することにしました。まず、postgresになります。
su -
su - postgres
ユーザーを作成するには、CREATE USERというSQLを実行すればよいのですが、PostgreSQLではシェルから実行できるラッパーとして、createuserがありますので、これを使用します。
createuser userName -W
-Wをつけると、パスワードを設定することが出来ます。