3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

EC-CUBE 4系のシステム要件を(ほぼ)全て満たすローカル環境構築用のプロジェクトをDocker Composeで作成してみた

Last updated at Posted at 2022-12-18

最新の記事はこちらに移行しています。
SQLiteにも対応し、(ほぼ)ではなく、文字通り公式のシステム要件の全てを満たすようにアップデートしました。

はじめに

EC-CUBE プラチナパートナーの株式会社Refineで新卒WEBエンジニアをしています。メインの業務はECCUBEのカスタマイズなのですが、過去に勉強を兼ねてEC-CUBE4のローカル環境をDocker Composeで構築してみた (M1対応)という記事を書きました。今改めて記事を読むと自分のレベルがあまりに低い...そこ違くね...と思うことだらけでした。
DockerのMySQLイメージがAppleシリコンに公式対応するなど状況も変わったので、アップデートしないといけない!と思い立って記事を書いてます。

誰もがEC-CUBE 4系を便利に、動かしたいバージョンやDBを手軽に選択できて開発に着手できる等、実用性のあるローカル環境構築方法がないかなと思い立って作ってみました。

動かねぇ!!!使いにくい!!!等のご指摘、ご質問もバンバンお待ちしております!

下記はプロジェクト内のREADMEの内容になります。

Docker for EC-CUBE 4

はじめに

EC-CUBE 4系 向けのDocker環境を提供するプロジェクトです。

当プロジェクトのサポート内容は下記の通りです。

分類 ソフトウェア バージョン
WebServer Apache 2.4.x
PHP PHP 7.1 ~ 7.4, 8.0 ~ 8.1
Database PostgreSQL 9.x ~ 14.x
Database MySQL 5.7 or 8.0
Database SQLite not supported
DBMS Adminer (PostgreSQL)
DBMS phpMyAdmin (MySQL)
Others MailCatcher

使用できるソフトウェアのバージョンはEC-CUBE 4系 のマイナーバージョンによって異なります。
詳細は公式ドキュメントのシステム要件をご確認ください。

HOW TO USE

前提として Docker Desktop をインストールして下さい。

プロジェクトのクローン

当プロジェクトをクローンします。

git clone https://github.com/itaboo1014/docker-for-eccube4.git

クローンしたプロジェクトディレクトリに移動します。

cd docker-for-eccube4

EC-CUBEのソースを配置

EC-CUBEのバージョンを指定し、ソースコードをダウンロードします。

:例 EC-CUBE 4.2.0 の場合

make ECCUBE4.2.0

当プロジェクトで提供しているバージョンは下記の通りです。

ECCUBE4.2.0
ECCUBE4.1.2
ECCUBE4.1.1
ECCUBE4.1.0
ECCUBE4.0.6-p1
ECCUBE4.0.6
ECCUBE4.0.5-p1
ECCUBE4.0.5
ECCUBE4.0.4
ECCUBE4.0.3

PHPのバージョンを選択

使用するPHPのバージョンを指定します。

:例 PHP 8.1 の場合

make PHP8.1

当プロジェクトで提供しているバージョンは下記の通りです。

PHP8.1
PHP8.0
PHP7.4
PHP7.3
PHP7.2
PHP7.1

データベースの選択

使用するデータベースとバージョンを指定します。

:例 MySQL 8.0 の場合

make MySQL8.0

当プロジェクトで提供しているデータベースとバージョンは下記の通りです。

MySQL8.0
MySQL5.7
PostgreSQL14
PostgreSQL13
PostgreSQL12
PostgreSQL11
PostgreSQL10
PostgreSQL9

イメージビルド&コンテナの起動

アプリケーションコンテナのイメージを作成します。

docker-compose build app

全てのコンテナを起動します。

docker-compose up

初期化

下記コマンドで構築した環境を初期化することができます。

make Initialization

内部の処理は下記の通りです。

  • コンテナ・ボリュームの停止&削除
  • ソースコード(eccubeディレクトリ)の削除
  • 永続化されたデータベースの情報を削除
  • docker-compose.ymlの削除
  • Dockerfileの削除

実行できるmakeコマンド

下記コマンドで実行可能なmakeコマンドを確認することができます。

make

データベースの設定情報

MySQL PostgreSQL
database eccube eccube
host db db
port 3306 5432
user db_user db_user
password db_password db_password
root password db_password
DBMS phpMyAdmin Adminer

ブラウジング

Front Browsing
ECCUBE http://localhost
Adminer (PostgreSQL) http://localhost:8080
phpMyAdmin (MySQL) http://localhost:8080
MailCatcher http://localhost:1080

インストール時のエラー

コンテナ起動後、フロントアクセス時に下記のエラーが発生するケースがあります。

Fatal error: Uncaught RuntimeException: Unable to create the "cache" directory

var ディレクトリのパーミッションのが正しく設定されていないことで発生するエラーです。
下記の方法で var ディレクトリに正しいパーミッションを設定して下さい。

appコンテナ内に接続

docker-compose exec app /bin/bash

varディレクトリのパーミッションを変更

chown -R www-data:www-data var
3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?