--

--

コメント

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

05

30

コメント

CakePHPの初期設定で必ずやるようなpostgres設定メモ

例のごとく、いつもの俺へ向けたメモ


CakePHPをインストール!

フォルダをアップしてDocumentRootを指定するだけだぜー!


と思っていると...

最初にやってくるハードルがこれだ!!


cakephp_defaultpage.jpg

黄色になっているところの上の3つから順に説明すると、

Warning (512): /var/www/html/XXX/app/tmp/cache/ is not writable [CORE/cake/libs/cache/file.php, line 267]
Warning (512): /var/www/html/XXX/app/tmp/cache/persistent/ is not writable [CORE/cake/libs/cache/file.php, line 267]
Warning (512): /var/www/html/XXX/app/tmp/cache/models/ is not writable [CORE/cake/libs/cache/file.php, line 267]
「app/tmp/cache(以下のディレクトリ)をシステムで更新できるようにしてくれー!」


app/tmp/chache(以下のディレクトリ全部)に対してchmod使えばおk

Notice (1024): Please change the value of 'Security.salt' in app/config/core.php to a salt value specific to your application [CORE/cake/libs/debugger.php, line 684]
Notice (1024): Please change the value of 'Security.cipherSeed' in app/config/core.php to a numeric (digits only) seed value specific to your application [CORE/cake/libs/debugger.php, line 688]
「core.phpのSecurity.saltとSecurity.cipherSeedがデフォのままだから変更してくれー!」


変更すればおk!

いつも使わせていただいているランダム文字列生成サイト
Nippon Kaisho
http://www.japan9.com/cgi/rand_num.cgi

Your tmp directory is NOT writable.
「tmpディレクトリ書き込めないよ?」


これもapp/tmpディレクトリにchmod使えばおk

Your database configuration file is NOT present.
Rename config/database.php.default to config/database.php
「database.php早く作成してね?」



database.phpを早く作成しましょう。


と、布石は整ったところで、
postgresを使った初期設定メモ


まずは普通にユーザ作成

今回はhogeとして全面的に作成します。

$su -

$ useradd hoge
$ passwd hoge



postgresのユーザ作成

$ su - postgres

$ createuser hoge
Shall the new role be a superuser? (y/n) n
Shall the new role be allowed to create databases? (y/n) y
Shall the new role be allowed to create more new roles? (y/n) n

$ psql

# alter user hoge password 'hogehoge';



.pgpassの作成

# \q

$ exit

$ su - hoge

$ cd /home/hoge

$ vi .pgpass

localhost:5432:*:hoge:hogehoge



[2011.6.6追記]これしないとpostgresに怒られる
$ chmod 600 .pgpass

DBの作成

$ createdb -E utf8 hoge



database.phpの作成
(database.php.defaultの.defalt拡張子を削除して中身を変更)

 var $default = array(
  'driver' => 'postgres',
  'persistent' => false,
  'host' => 'localhost',
  'login' => 'hoge',
  'password' => 'hogehoge',
  'database' => 'hoge',
  'prefix' => '',
 );

 var $test = array(
  'driver' => 'postgres',
  'persistent' => false,
  'host' => 'localhost',
  'login' => 'hoge',
  'password' => 'hogehoge',
  'database' => 'hoge',
  'prefix' => '',
 );


app/configにアップロード


画面を再度見てみると、

cakephp_defaultpage2.jpg

DBに接続完了!!



[2011.8.8追記]
あと、コネクションエラーとか出ちゃったとき

pg_hba.confをこんな感じに↓

# TYPE DATABASE USER CIDR-ADDRESS METHOD

# "local" is for Unix domain socket connections only
local all all ident sameuser
# IPv4 local connections:
host all all 127.0.0.1/32 trust #ident sameuser
# IPv6 local connections:
host all all ::1/128 trust #ident sameuser

スポンサーサイト

04

24

コメント

Postgresqlのスーパーユーザ(postgres)のパスワードを忘れてしまったΣ(゚д゚lll)ガーンとなっているあたなへのメモ

Postgresのスーパーユーザのパスワードを忘れてしまった!!!

Σ(゚д゚lll)ガーン

となっているそこのあなた(俺)へのメモ


pg_hba.confを開く

$ cd /var/lib/pgsql/data
$ vi pg_hba.conf


ファイルの場所もわかんない場合は、

$ find / -name pg_hba.conf



ファイルの下のほうにあるlocalからの
認証方法を変更

詳しくはこちら(http://www.postgresql.jp/document/9.0/html/auth-pg-hba-conf.html

local all all md5
 ↓
local all all trust


スーパーユーザ(root)にして、postgresqlを再起動


これでパスワードなしでログインできるので、

$ su - postgres

$ psql -U postgres


Postgresに入ったら、パスワードを変更

# ALTER Role postgres PASSWORD 'newpassword';



そのあとは、pg_hba.confの変更を戻せば
またパスワードを入力する認証に戻ります。



毎回レンタルサーバ(VPS)のrootユーザのパスワードを変更した後、

「あ、やべーパスワードメモっておくの忘れたΣ(゚д゚lll)ガーン」

ってなってこの操作してる気がする。

※レンタルVPSはPostgresをインストール済みのことが多く、
 その場合、rootとパスワードが同じ。
 メモし忘れると、パスワードがまったくわからなくなる。
 SE1年生のようなミス

04

08

コメント

Postgresのデータ型変更

なんだか忘れっぽい自分へのメモ

postgres のデータ型の変更方法


WEBサイト+phpリファレンス
http://phprefa.seesaa.net/article/5297298.html

[1] ALTER TABLE (テーブル名) ADD COLUMN after_fild (変更後データ型)
[2] UPDATE (テーブル名) SET after_fild = (変更前フィールド名)
[3] ALTER TABLE (テーブル名) DROP (変更前フィールド名);
[4] ALTER TABLE (テーブル名) RENAME after_fild TO (変更後フィールド名)

11

20

コメント

MySQLをUTF-8で設定したのに文字化けとか。

現在、開発中のシステムは、
うちのテストサーバ→postgres
お客様の連結テストサーバ→MySQL
という、なんともな感じになっている。

一昨日、さぁモジュールも基礎部分ができたし、
お客様に外観とか見てもらおうかとなったとき、
DBに入れたデータが、見たことない国の文字になってた!!


んで、調べてみたら、
どうもMySQLはクライアントとサーバの文字コードを識別して、
勝手にコンバートしてくれているらしい。
記事もあった。
ITpro
http://itpro.nikkeibp.co.jp/article/COLUMN/20070614/274802/



んで、対応方法を探していると
こちらとか
SREngine: Sein blog
http://blog.srengine.com/2008/03/mysql-utf-8.html

こちらとか
ぱんぴーまっしぐら
http://blog.cheki.net/archives/349/trackback

のダメな例のほうだったので、
設定をやり直してみたらできました。

お二方にすごく感謝(TдT) アリガトウ


一応メモ

/etc/my.confの設定に以下を追加。もしくは変更。
[client]
default-character-set=utf8

[mysqld]
default-character-set=utf8
skip-character-set-client-handshake




文字化けはなおったけど、
モジュールはまだぜんぜんできてない。

そして、来週火曜日にクライアントが
納品先のお客様にプレゼンするらしい。

年末納品なのに
8割方完成してないといけないこの状況って。

Ψ(´д`)Ψヶヶヶ・・・

ようこそ!

ブロとも申請フォーム

ブロ友申請大歓迎です!
一覧に表示されるので自動で相互リンクになります!

>> ブロ友申請はこちら <<

検索フォーム

最近のコメント

メールフォーム

名前:
メール:
件名:
本文:

FC2ブログランキング

人気ブログランキング

人気ブログランキング

ブログ村

アクセスランキング

[ジャンルランキング]
育児
628位
アクセスランキングを見る>>

[サブジャンルランキング]
パパ育児
51位
アクセスランキングを見る>>

やーんは今、

ブロとも一覧

Designed by

Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。