EC CUBE3 が Heroku Button に対応しました。
公式のリポジトリにあるHeroku Button から簡単にEC CUBE3を立ち上げて動作を確認することが可能です。
管理画面についても admin / password でログインして簡単に入ることが出来るようになっています。
当然ですが、このまま本番運用するのはめちゃくちゃ危険なので、パット見た感じで気になった点などをまとめておきます。
実際に Heroku でEC CUBE を運用する際の参考にしてもらえれば…
管理画面のUSERのID/PASSWORDを変更する
管理USERのID/PASSWORDは デフォルトで admin/password になっており、非常に危険です。
テスト環境とはいえ、メール送信等の機能が有効になっていれば不正に利用される可能性もあるため、必ずこれは変更しておくほうがいいでしょう。
管理画面のユーザ設定周りは環境変数から読み込んで初期セットアップするように設定されています。
こんなのはセットアップのときにHeroku Button で聞いておいてもらえるほうが便利ですね。
以下にセットアップ済みのリポジトリがありますのでそちらのHeroku Button をご利用いただければ Heroku Buttonの起動画面にて初期ユーザのログインID/Passwordがセットアップ可能となっています。
(ちなみに1/1とかでも問題なくセットアップ出来るみたいです。)
Database の設定をうまいことHeroku対応する
この辺が一番の鬼門です。
Heroku Postgres の Dashboardにて Credential の項目を見ると次のような記述が見つかります。
Database Credentials
Please note that these credentials are not permanent.
Heroku rotates credentials periodically and updates applications where this database is attached.
Heroku Postgres のホスト名・ポート番号は定期的に変わります。なので、DBのパスワード等は動的に変わる値として設定されなければなりません。
EC CUBE3 のDB接続はYamlとかでべた書きとなっているので、代わりにPHPの設定ファイルを用いて、それを使用するよう変更してあげなければなりません。
(こういうこともあるので個人的にはあまりYamlの設定ファイルが好きになれない…)
この辺についても以下にセットアップ済みのリポジトリがありますので、コレを試すことができます。
以下の Heroku コマンドを実行してDBの認証情報をリセット(変更)出来るので、このコマンド実行後も引き続きECCUBEが起動していればOKです。
$ heroku pg:credentials DATABASE_URL --reset
ここまでやると今度はローカル環境向けに.env
対応とかが出てくるんですが、そのへんはまた別の機会に…