日記とか趣味の乙女ゲームとか。
CakePHPはDB前提で作られているだけあって、DBがないと非常に使いにくい。
(自分の理解度の低さを棚上げしてみる(ぇ。
そういうわけで、Cygwinでがんばるのもやめたし、自宅内の試験サーバでCentOS5を動かしてもらったので、そっちに入れました。
CakePHPに対応しているDBは多いのですが、メジャーなところでMySQLかPostgreSQLかな。
仕事でCakePHP+Mysqlなのもあるし、やっぱ自分の使い慣れているのがPostgreSQLなので、そっちにしてみました。
(自分の理解度の低さを棚上げしてみる(ぇ。
そういうわけで、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
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
この記事へのコメント