CakePHPをテスト環境から本番環境へ移行する時の、基本的なコマンドとかをメモ。

Shunsuke Sawada

いろいろメモしよう。

データの準備

フォルダごと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();

いろいろやっぱりあるねー。
ついつい忘れるのでメモでした。

Shunsuke Sawada

おすすめの記事

CakePHP 2.x JSヘルパーでajax通信(ajax helperは使わない)
20
Rails4でQiita投稿ボタンをつくった
18
紙のデザイナーがウェブ開発できるようになるまでに必要なこと
451