CakePHPをテスト環境から本番環境へ移行する時の、基本的なコマンドとかをメモ。
いろいろメモしよう。
データの準備
フォルダごとzipするんだ
zip -r test.zip test
zip [オプション] [zip後のファイルの名前] [zip圧縮するディレクトリ]
-rがないとディレクトリの中身を全部含めるなら-rは必須ですよと。
解凍はこれすかね。
unzip foo foo.zip
unzip [解凍後の名前] [zipファイル]
データベースを本番環境にもっていくけど、開発環境のデータベースに入っているデータはテストデータだから全部いりませんよ。テーブルの構造だけ欲しいのよという時。
mysqldump -u foo --no-autocommit -p -d bar > bar.sql
mysqldump -u [ユーザー名] [オプション] [データデース名] > [sqlのファイル名]
-dはデータはいりませんよ。というオプション。
InnoDBという形式使っているときには、これつけると早い。
そのデータベースを本番環境に反映します。
mysql -u foo -p bar < bar.sql
mysql -u [ユーザー名] -p [データデース名] < [sqlのファイル名]
[データデース名]がついたデータベースをあらかじめ作っておかないともちろんエラー。
create database [データデース名]; です。
でその後には権限の設定もしないとね。
grant all on foo.* to user@host identified by 'password';
grant all on [データベース名].* to [ユーザ名]@[host名] identified by ['パスワード'];
テスト環境でテストしまくってたからデータ入れるとIDがいきなり1000とかになってる…なんか気持ちわるー…て場合。
べつに気にしなければいいんだけど、まっさらな状態からやりたいって人はこれ。
alter table [テーブル名] auto_increment = 1;
これ、すべてのテーブルに適応される方法ないんかな。
CakePHPの設定
解凍したファイルの持ち主を確認。
問題あれば chown -r user:group なんかで変更しましょう。
データベース情報を書き換え。
Config/database.php
webrootのパーミッションを変更
デバッグは本番環境ではOFFですよね。
Config/config.php
core.phpのC コンポ onfigure::write('debug', 0);
[googlead]
AppControllerでAuthコンポーネントの設定をかえる必要ありますよね。
ここでハマったぜ。指定の仕方かわってるやん!
すべてのアクションを許可するにはこちら、、、じゃないよ今は!
// Allow all actions. CakePHP 2.0
$this->Auth->allow('*');
これ。
// Allow all actions. CakePHP 2.1
$this->Auth->allow();
で、ACL Plugin入れてるんだったら、aros_acosつくんなきゃいけないんで、
ひとまず、$this->Auth->allow();だよな。
ユーザーつくる前にグループ作らないとね。
ひとによって違うだろうけど、
group/add とかで作ってるよね。
でグループ追加。
その後ユーザー追加。
ACLの設定するから、その人はadminグループに入れてね、と。
で admin/acl とかいって、シンクロさせて、権限の設定をすます。
そしたらコメントアウト。べつに消しても良いけど。
//$this->Auth->allow();
いろいろやっぱりあるねー。
ついつい忘れるのでメモでした。