今年の初め頃に、EC-CUBEの開発環境構築に携わる機会がありました。
公式のドキュメントもあるので簡単かな~と思っていたのですが、思いのほか躓いたので残しておこうかと。
ちなみに、数か月の時を経て再度着手してみたところ、当時よりも躓きました…。
開発環境構築にあたっては以下のサイトを参考にさせて頂きました。
目次
構築手順
公式のスクショそのままですが、おおむね以下の通りで進められます。
「EC-CUBE 4.0 開発者向けドキュメントサイト」より
ただし、このコマンドだけでは不十分なところもあるようですので、その辺を中心に紹介していきます。
Docker Desktopのインストール
まずEC-CUBEの開発環境構築にあたってDocker Desktopのインストールが必要になります。
コチラは既に別記事で書いているので割愛させて頂きます。
EC-CUBEの開発環境構築
なるべく細かく説明していきます。
ソースコードの取得
まずはEC-CUBEのソースコードを配置するフォルダを作成します。以下、「C:\EC-CUBE」を作成した想定で行きます。
powershellを開いて作成したフォルダまで移動し、下記コマンドを実行します。
git clone https://github.com/EC-CUBE/ec-cube.git
説明は不要ですね。gitコマンドが使えないという方はGitのコマンドラインツールのインストールが必要になります。
Dockerfileの編集
gitリポジトリのクローン後はpowershellでクローンしてきたフォルダ(ec-cube)の中に入ります。
.envファイルのコピーコマンドに関しては不要と思われます。私が実行した時には該当ファイルが無くて空振りしました。
公式の通りに行けば、次は起動コマンドとなるのですが、それをやると…。
上記のようなエラーに遭遇してしまいました。Linux系慣れていない私にとってこれはかなり大変でした。
結論しかいいませんが、「Dockerfile」に下記のコードを追記します。
RUN apt-get update
RUN apt-get install -y --allow-downgrades libicu57=57.1-6+deb9u3
記載する箇所としては、「RUN apt-get update \」の前でよいかと思います。
原因はエラー内容を探って頂くとして、解決にあたり下記のサイトを参考にさせて頂きました。
https://tsukada.sumito.jp/2018/07/30/e-unable-to-locate-package/
Docker-Composeの起動
Dockerfileの編集が終わったらいよいよ起動コマンドです。
docker-compose up -d
ビルドにしばらく時間がかかります。あとちょくちょく警告が見えますが、止まらなければ問題ありません。
EC-CUBEのインストール
Docker-Compose(コンテナ)が立ち上がったら「http://localhost:8080」へのアクセスを確認します。
すると下記のような画面に遷移しますので、インストールを行っていきます。
※なお、公式記載のインストールスクリプト実行コマンドは正常に動きませんでした…。
今回は開発用の構築だったので、情報の送信等は行わない設定で「次へ進む」をクリックします。
何のチェックがされているのか分かりませんが、次に進みます。
店名などは後からでも変更できますが、管理画面の認証情報は後々使うことになるので忘れないようにしておきましょう。
管理画面のディレクトリ名が、管理画面のURLに含まれるようになることも注意ですね。
続いてDBの設定。コチラなのですが、「SQLite」しか選択できませんでした。
クライアントツールからはMySQLへのアクセスを確認できたのですが、EC-CUBEからは繋がらず。
※ユーザやパスワードなどは「docker-compose.yml」に記載されています。
なのでひとまずSQLiteで続行。
移行とかでなければDBの初期化は問題ないはずなのでチェックせずに次へ進みます。
以上でEC-CUBEのインストールが完了となります。
EC-CUBEへのアクセス
インストール完了画面のボタンクリックで管理画面のログイン画面に飛ぶことが出来ます。
ここにインストール設定の際に記入した認証情報を入力しログインすると、管理画面に遷移することが出来ます。
上記画像で「お店」と表示されている箇所をクリックすると、店舗ページに遷移できます。
課題点
EC-CUBE側からMySQLに接続できない理由がいまだ分かっていないのですが、設定ファイルいじってURL書き込んじゃえば行けるんですかね。
機会があれば再度チャレンジしてみようかと思います。
(環境は作ったがしばらく触る気は…ない!)
以上です。
コメントを残す