EC-CUBEの開発者向けインストール方法&初期設定
通常のEC-CUBEのインストール方法は「EC-CUBEの公式サイトからZIPをダウンロードして設置して、ブラウザでインストール」ですが、あまり開発者にフレンドリーな方法ではありません。
EC-CUBE 4.3.0のβ版など、最近は新しくテスト環境を作る機会も多いので、この機会にEC-CUBEのインストール方法をメモしておきます。
環境
今回はコンテナを使わず、ApacheとPHP、composerがインストールされているシンプルなWebサーバー(Linux)を想定しています。
SQLiteを使う場合
公式サイトのURLからcurlでZIPをダウンロードもできますが、gitやcomposerを使う方が便利です。ここではcomposerを使います。
DBとしてSQLiteを使う場合は、composerのcreate-projectだけでEC-CUBEをインストールできます。RDBを事前に準備する必要がないので、さくっと開発環境を作りたいときにはおすすめです。
composer create-project ec-cube/ec-cube eccube-test "4.3.0-beta"
これだけで、eccube-test ディレクトリにEC-CUBE 4.3.0のβ版をインストールできます。動作としては、
- git cloneでソースを取得
- 4.3.0-betaブランチをチェックアウト(バージョン指定)
- composer install
- composer run-script post-create-project-cmd
を実行しているのとほとんど同じです。最後のpost-create-project-cmdがDBのマイグレーションなどを実施しています。
こうやってインストールすることで、面倒な操作をしなくてもデフォルト設定になります。管理画面のURLは /admin
、IDは admin
、パスワードは password
でログインできます。
MySQLやPostgreSQLを使う場合
MySQLやPostgreSQLを使う場合は、
composer create-project ec-cube/ec-cube eccube-test "4.3.0-beta" --no-scripts cd eccube-test export DATABASE_URL=pgsql://user:password@host-name:5432/scheme-name sed -e "s#^DATABASE_URL=.*#DATABASE_URL=${DATABASE_URL}#" -i .env bin/console eccube:install --no-interaction
no-scriptsオプションをつけている以外は、基本的にはSQLiteを使う場合と同じ方法でコードを取得します。その後、.envを編集してから、EC-CUBEをインストールするという流れです。
sedで.envのDATABASE_URLを設定しているはいささかスマートさに欠けるので、適宜、調整ください。
おすすめの設定
上のインストールだけで使用できますが、テスト環境として使うためには、
- EC-CUBE 4.2から実装されたスロットリングの抑制
- 脆弱なパスワードの設定を許可
を追加で設定してあげると便利です。特に、短時間のうちに何回も会員登録や購入操作をするテスト環境においては、スロットリング緩和は必要となることが多いです。
app/Customize/Resource/config/services.yaml に次の設定をかきます
eccube: rate_limiter: parameters: eccube_password_min_len: 1 eccube_password_pattern: '/.*/i'
rate_limiterを空のオブジェクトにしてスロットリング機能を無効化します。parametersではパスワードの最小文字数を1にして、パターンをなんでもOKにしています。
ちなみに、私はファイルをいちいち作成するのが面倒だったので、Gistに置いたyamlをcurlするだけで良いようにしました。
https://gist.github.com/kishimotonico/95cda60c176fc03c5231d25a5da92c04
curl -f -o app/Customize/Resource/config/services.yaml https://gist.githubusercontent.com/kishimotonico/95cda60c176fc03c5231d25a5da92c04/raw/ec49bb37727ce5a0ae21e82097bbd728b6fae421/eccube_test_services.yaml
公開するのも気が引けますが、中身をご確認の上ご自由にお使いください
最後に
EC-CUBEの環境を作ろうとするたび「この前はどんな方法でインストールしていたっけ」とターミナルに history と入力することが多かったので、この機会に記事にかきました。
ちなみに、このインストール方法は公式ドキュメントの「ComposerからWebインストーラでインストールする」とほぼ同じ方法です。EC-CUBEの開発者向けドキュメントを見ると、意外と色々かいてあったりします。他には、身も蓋もないですがEC-CUBEのコードを見てしまうのが一番分かりやすかったりもします。
上の方法は、コンテナを使わず、Webサーバー上で直接動くEC-CUBE環境を作る方針でした。EC-CUBE環境をコンテナ化してしまう方針もあるのですが、それについてはまた別の機会に……