a-blog cms を CPIのSmartRelease にセットアップするためのメモ
というわけでCPIのSmartReleaseはみんな使ってるあの便利なやつですよ。
基本的な使い方は静的サイトならリリースボタン一発でごっそりアップできるので便利なやつなんですが、CMSとか使っている場合はいろいろやっかいなこともあります。
で、既に公式サイトに情報があるので、まずはこっちを参考に。
CPIのSmartReleaseを利用する | 開発ブログ | a-blog cms 制作者向け情報
ということでだいたいOKなんです。
だけど、今回はそういうんじゃなくて、既に本番環境で動いているんだけど、それをSmartReleaseで動かしたいって思ったときにどうすればいいか・・・ってことです。
上記のサイトのやり方だと、SmartReleaseと本番と両方別々に作っていけばいいってことですが、本番が先にできてて、SmartReleaseは使ってなかったって人は・・・という問題です。
で、手っ取り早くやりたかったのでSmartReleaseの「ファイル転送」って機能を使っちゃうじゃないですか。そうすると、全部本番環境と同じ状態ができあがります。
SmartRelease はphpもファイルのパスも本番と同じなので、これでもとりあえず動くのかな?って思うかもしれませんが、そうはいきません。
まず、これだとDBの内容がそのまんま本番機です。テスト機で更新したら本番機に反映・・・なんておかしなことになるので、まずはCPIの管理画面からDBをテスト用に作成しておきます。
DBの中身は丸ごとコピーです。方法はいくつかありそうですが、単にエクスポート>インポートで大丈夫です。
ただ、動かす前にDBの中にある acms_blog テーブルのデータを見て blog_domain の指定をSmartRelease側のドメインに変更しておいてください。
それから、.htaccess ファイル。
これも、一度開いてみて、サブドメインの指定を統一するためのrewrite設定等がある場合(ドメイン名が書かれている行)はそこをコメントアウトしておきましょう。
最後にconfig.server.phpファイル。
開いてみて、最初の方にあるDOMAINの指定にSmartReleaseのドメインを設定。
DB_NAME はさっき作ったテストのDBを指定してください。
DB_HOST これ重要。わたしはここでだいぶハマりました。ここは本番機と違って、127.0.0.1 を指定しなければいけません。(本番機はlocalhostで通ってます)
しかもこのDB_HOSTの指定ミスはなぜか503 Service Temporarily Unavailableのエラーになります。503って負荷の問題とかに出てくるって意識だったので、こういう設定ミスは500なのかと。・・・なので見当違いの対策をがんばったりしてて、時間がかかりました。
というわけで、以上でとりあえず動くはず。
あ、あとフォームとかのメールアドレスを設定している場合はテスト用のアドレスに直したりは適宜やりましょう〜。