忍者ブログ
日記とか趣味の乙女ゲームとか。
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

CakePHPはDB前提で作られているだけあって、DBがないと非常に使いにくい。
(自分の理解度の低さを棚上げしてみる(ぇ。

そういうわけで、Cygwinでがんばるのもやめたし、自宅内の試験サーバでCentOS5を動かしてもらったので、そっちに入れました。

CakePHPに対応しているDBは多いのですが、メジャーなところでMySQLかPostgreSQLかな。
仕事でCakePHP+Mysqlなのもあるし、やっぱ自分の使い慣れているのがPostgreSQLなので、そっちにしてみました。





で、インストールメモ。

# yum install postgresql*
# su - postgresql
$ initdb -E EUC_JP

ここでとりあえず、postgresqlの機動を確認してみる。
# service postgresql start

無事に起動したら、自動起動設定をする。
# chkconfig postgresql on

試験DBを適当に作ってみる。(既存のtemplate0やらtemplate1やらは弄らない方がいいのです)
$ createdb -E EUC_JP testdb

postgresql用のユーザを作る(サーバのユーザとかとは別物です)
$ createuser
Enter name
of user to add: test
Shall the new user be allowed to create databases? (y/n) y
Shall the new user be allowed to create more new users? (y/n) n


このユーザにパスワードを設定する
$ psql testdb
> ALTER USER test password 'pass';


次に認証を有効にする。
$ cp -a data/pg_hba.conf data/pg_hba.conf.bak
$ vi data/pg_hba.conf

(以下を最下行に追加)
-----------------------------------------------------------------------------------
local all trust
host   all    all    0.0.0.0            0.0.0.0            trust
host   all    all    192.168.55.0/24    255.255.255.255    passwd

------------------------------------------------------------------------------------

$ cp -a data/postgresql.conf data/postgresql.conf.bak
$ vi data/postgresql.conf

(以下を修正)
-----------------------------------------------------------------------------------
tcpip_socket = true
-----------------------------------------------------------------------------------

conf をいじったので、Postgresqlを再起動
# service postgresql restart

これでCakePHPでpostgresqlに接続できるハズ
あ、Cake側の設定追記。(app/config/database.php)
-----------------------------------------------------------------------------------
    var $default = array(
        'driver' => 'postgres',
        'persistent' => false,
        'host' => 'localhost',
        'port' => '5432',
        'login' => 'test',
        'password' => 'pass',
        'database' => 'testdb',
        'prefix' => '',
        'schema' => 'public',
        'encoding' => 'euc-jp',
    );

-----------------------------------------------------------------------------------
'schema' => 'public',の設定が1.2では重要みたい

拍手

PR
この記事へのコメント
name
title
color
mail
URL
comment
pass   Vodafone絵文字 i-mode絵文字 Ezweb絵文字

secret(※チェックを入れると管理者へのみの表示となります。)
Template and graphic by karyou
忍者ブログ [PR]