よたか2009.11.07 23:37:06
「使えるねっと」で、ポスグレを使う為の覚え書きです。いや、パワーパックとか使えばpleskから使えるのですが、「ケチ」だからpostgres使うためだけに月々の支払い(初期設定:¥5,250 月:¥1,050)増やしたくないので、自力で設定する事にしました。多分そんな人も多いことでしょう。
「使えるねっと:パワーパック」
Tomcat も Coldfusion も使う予定もないし、アンチスパムも本気でやるならそれなりの対応しなければならない。
せめて、アプリパックにEC-CUBEとNucleusがあれば考えたかもしれない。
(アプリパックは、「os Commerce」「Zen Cart」「b2evolution」「XOOPS」です)
さて本題。
postgreSQLは最初からインストールしてあるので、phpでポスグレを動かす「php-pgsql」と、ポスグレのGUI「phpPgAdemin」のインストールから。
1)php-pgsql のインストール。色々やりましたが、バージョンも合っていたようで、フォーラムの丸写しで問題ありませんでした。
rpm -ivh http://ftp.riken.jp/Linux/centos/5.3/updates/x86_64/RPMS/php-pgsql-5.1.6-23.2.el5_3.x86_64.rpm
2)phpPgAdemin のインストール。ここではまったというか、設定が結構むずかしかった。
とりあえず、ソースフォッジからダウンロード
http://phppgadmin.sourceforge.net/
なにもかんがえず、エイヤーっってサーバにアップロード。
ディリクトリはどこでもいい様なので、サブドメイン追加してそこにアップロードしました。
この状態でとりあえず起動しているようですが、当然ログインできません。
3)postgreSQL の設定
SQLなんて直接触る事もそうそうないので、いまいちつかめないまま作業します。色々やったのですが、結果だけ。
まず、postgres で作業します。
bash-3.2$ su postgres
Password:
posgreSQLの設定書き直します。
bash-3.2$ vi /var/lib/pgsql/data/pg_hba.conf
あっちこっち色々書いてあるけど、この2行でいいみたい。
local all all ident sameuser
host all all 127.0.0.1 255.255.255.255 trust
要は上の行は、ターミナルなどでアクセスする場合の設定。
下の行は、ブラウザ等からアクセスする場合の設定。
その下にIPv6とか書いてあるけど、現状スルー。
4)postgreSQL ユーザーの設定
最初はpostgres というスーパーユーザしか設定されてないので、作業用のユーザーを設定します。
bash-3.2$ psql
これでpostgreSQLが操作出来るのですが、私はここではまった。
マックのターミナルから'\(バックスラッシュ)'が入力出来なくなった。これが入力出来ないと作業がほとんどできない。
結局、ターミナルの環境設定でエンコードをUTF8に変更すれば治りましたが…。
postgres=# create user ユーザ名 password 'パスワード';
これでユーザが登録出来ます。パスワードのクオーテーションは必須。
あと、大文字に変わってしまうけど、大文字だとちゃんと登録できない。(なぜ?)
これでアクセスはできるのですが、このユーザーにデータベースを操作する権限を付けないと作業できない。
とりあえずデータベースを作れる権限を。
postgres=# alter role ユーザ名 createdb;
あと、最後にセミコロンを付けないと、数行にわたってsql文を書いている事になるらしい。
その時は、イコールがマイナスになります。最初これの意味が分からず何も操作出来なかった。
postgres -#
設定が終わったらpsqlから抜ける。
postgres=# \q
5)postgreSQL の再起動
スーパーユーザーになって、postgreSQLを再起動。
bash-3.2$ su
Password:
bash-3.2# /etc/init.d/postgresql restart
Stopping postgresql service: [ OK ]
Starting postgresql service: [ OK ]
6)phpPgAdemin へアクセス
http://hoge.hoge.com/phpPgAdmin/
アクセスして、[サーバー] > [postgreSQL]をクリック。
先ほど設定した、ユーザー名と、パスワードを入力する。
これでログインできるはず。
ログイン出来たら、試しにデータベースを作ってみる。
これでpostgreSQLは多分問題ないのではないかと。
ところで、あちこちに書かれている「phpPgAdmin」の設定、「conf/config.inc.php」について
$conf['extra_login_security'] =true;
$conf['owned_only'] = true;
この項目を「false」にすると書かれている点については、他のユーザーが触れる様にするのも、ましてやスーパーユーザーでアクセスする理由も特に考えられないので、私は、trueのままにしておきました。
この内容を参考にされるのは一行にかまいませんが、質問されても答える事は出来ません。
自力でガンバってください。
まぁ、そういうもんです。