ec-cubeをエラーで動かせず、最初からやり直したい方法です。

s1. Docker環境のセットアップ

docker-compose.ymlの修正

yamlvolumes:
 -"./var/www/html" #ホストのディレクトリをコンテナにマウント
 -"var:/var/www/html/var" #パフォーマンスのための個別ボリュームに
 -"vendor:/var/www/html/vendor"
 -"node_modules:/var/www/html/node_modules"

プラットフォーム設定(Apple Silicon Macの場合)

yamlservices:
 ec-cube:${REGISTRY:-ghcr.io}/${IMAGE_NAME:-ec-cube/ec-cube-php}:${TAG:-8.1-apache}
 platform: linux/amd64 #エミュレーションモードで実行 EC-CUBEはAppleシリコンは4.30ではarm64に対応しておらず、代わりにamd64で対応

Docker環境の起動

bashdocker-compose down -v  # 既存のコンテナとボリュームを削除
docker-compose up -d    # 環境を起動

2. EC-CUBEのインストール

データベースのセットアップ

bashdocker-compose exec ec-cube bin/console eccube:install

インストールウィザードでは以下のデフォルト設定を利用:

認証キー: 自動生成値

信頼ホスト:

^127\.0\.0\.1$,^localhost$

データベースURL:

sqlite:///var/eccube.db

メールDSN:

null://null または smtp://mailcatcher:1025

4. 動作確認

  • フロントエンド: http://localhost:8080/
  • 管理画面 : http://localhost:8080/admin

ログインID: admin(初期ID)

パスワード: デフォルト値(通常は「password」または「admin」)

管理画面の「オーナーズストア」→「プラグイン」→「インストールプラグイン」でRentalプラグインが有効になっていることを確認。

5. トラブルシューティング・注意点

マウント関連

  • ホストのディレクトリをコンテナにマウントする設定(.:/var/www/html)が重要
  • var、vendor、node_modulesは個別ボリュームとしてマウントされ、ホスト側の変更が直接反映されない

プラットフォーム関連

  • Apple Silicon Macでは、EC-CUBEバージョン4.30現在platform: linux/amd64の設定が必要
  • Docker Desktopの設定でRosettaエミュレーションが有効になっているか確認

データベース関連

  • SQLiteを使用する場合、パスが正しく設定されているか確認
  • 初回インストールでは必ずデータベースが初期化される

開発時の注意点

  • ホスト側で編集したファイルは、マウント設定が正しければコンテナ内に反映される
  • プラグインの変更後はキャッシュクリアが必要