EC-CUBE 2.13系については、2014年10月以前に利用されていた、EC-CUBE Trac とSVNがございますので、合わせてご参照ください。 新規のご投稿やコミットはいただけませんが、GitHubに移されていない不具合の情報や過去の経緯などをご確認いただけます。
EC-CUBE Trac にある議論の再開や不具合の修正についても、GitHubにIssueを再作成していただいたり、Pull requestをいただけますと幸いです。
コードの提供・追加、修正・変更その他「EC-CUBE」への開発の御協力(以下「コミット」といいます)を行っていただく場合には、 EC-CUBEのコピーライトポリシーをご理解いただき、ご了承いただく必要がございます。 Pull requestを送信する際は、EC-CUBEのコピーライトポリシーに同意したものとみなします。
本リポジトリでは、以下方針で開発を行っています。
- EC-CUBE 2.13 系の PHP7 及び PHP8 対応バージョンです。
master
ブランチで開発を行っています。- PHP5.4互換ブランチは compatible/php5.4 にて保守しています。(2024年6月末日まで)
分類 | ソフトウェア | Version |
---|---|---|
WebServer | Apache | 2.4.x or higher (mod_rewrite / mod_ssl 必須) |
PHP | PHP | 7.4.33 or higher |
Database | PostgreSQL | 9.x or higher |
Database | MySQL | 5.x / 8.0.x / 8.4.x or higher (InnoDBエンジン 必須) |
分類 | Extensions |
---|---|
必須 | pgsql / mysqli (利用するデータベースに合わせること) pdo_pgsql / pdo_mysql (利用するデータベースに合わせること) pdo mbstring zlib ctype session JSON xml libxml OpenSSL zip cURL gd |
推奨 | hash APCu Zend OPcache |
EC-CUBEのインストールは、以下の方法があります。
- パッケージを使用してインストールする
- コマンドラインからインストールする
- docker composeを使用してインストールする
EC-CUBE のパッケージをダウンロードし、解凍してください。
FTP/SSHを使用し、ファイルをサーバへアップロードしてください。 ※ファイル数が多いためエラーが発生することがございます。エラー発生時は分割してアップロードをお願いします。
データベースを作成し、Webサーバを起動してください。
DocumentRoot を {EC-CUBEをアップロードしたディレクトリ}/html
に設定しておく必要があります。
ブラウザからEC-CUBEにアクセスするとWebインストーラが表示されますので、指示にしたがってインストールしてください。
- 不具合修正やバージョンアップに追従しやすくしたい場合におすすめです。
以下をコマンドラインで実行します。
git clone https://github.com/EC-CUBE/ec-cube2.git
cd ec-cube2
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"
php composer.phar install --no-dev --no-interaction -o
データベースを作成し、Webサーバを起動してください。
DocumentRoot を {EC-CUBEをアップロードしたディレクトリ}/html
に設定しておく必要があります。
ブラウザからEC-CUBEにアクセスするとWebインストーラが表示されますので、指示にしたがってインストールしてください。
- 開発環境におすすめです。
それぞれのコマンドの実行完了してから https://localhost:4430/ へアクセスすると、EC-CUBEのフロント画面が表示されます。 管理画面は https://localhost:4430/admin/ へアクセスしてください。
docker-compose.pgsql.yml を指定します。 data/config/config.php が存在しない場合は、 EC-CUBE のインストールまで実行します。
git clone https://github.com/EC-CUBE/ec-cube2.git
cd ec-cube2
docker compose -f docker-compose.yml -f docker-compose.pgsql.yml up
docker-compose.mysql.yml を指定します。 data/config/config.php が存在しない場合は、 EC-CUBE のインストールまで実行します。
git clone https://github.com/EC-CUBE/ec-cube2.git
cd ec-cube2
docker compose -f docker-compose.yml -f docker-compose.mysql.yml up
php:7.4-apache のみ起動します
git clone https://github.com/EC-CUBE/ec-cube2.git
cd ec-cube2
docker compose up
docker-compose.dev.yml を指定します。
git clone https://github.com/EC-CUBE/ec-cube2.git
cd ec-cube2
## MySQL を使用する例
docker compose -f docker-compose.yml -f docker-compose.mysql.yml -f docker-compose.dev.yml up
E2Eテストは Playwright によって作成されています。以下の手順で実行します。
## 必要な環境変数を設定
export COMPOSE_FILE=docker-compose.yml:docker-compose.pgsql.yml:docker-compose.dev.yml
## docker compose up を実行
docker compose up -d --wait
## ダミーデータ生成
docker compose exec -T ec-cube composer install
docker compose exec -T ec-cube composer require ec-cube2/cli "dev-master@dev" -W
docker compose exec -T ec-cube composer update 'symfony/*' -W
docker compose exec -T ec-cube php data/vendor/bin/eccube eccube:fixtures:generate --products=5 --customers=1 --orders=5
## 会員のメールアドレスを zap_user@example.com へ変更
docker compose exec -T postgres psql --user=eccube_db_user eccube_db -c "UPDATE dtb_customer SET email = 'zap_user@example.com' WHERE customer_id = (SELECT MAX(customer_id) FROM dtb_customer WHERE status = 2 AND del_flg = 0);"
## playwright をインストール
yarn install
yarn run playwright install --with-deps chromium
yarn playwright install-deps chromium
## 管理画面の E2E テストを実行
yarn test:e2e e2e-tests/test/admin
## フロント(ゲスト)のE2Eテストを実行
yarn test:e2e --workers=1 e2e-tests/test/front_guest
## フロント(ログイン)のE2Eテストを実行
yarn test:e2e --workers=1 e2e-tests/test/front_login
## 環境変数を設定
export COMPOSE_FILE=docker-compose.yml:docker-compose.mysql.yml:docker-compose.dev.yml
## docker compose up を実行
docker compose up -d --wait
## ダミーデータ生成
docker compose exec -T ec-cube composer install
docker compose exec -T ec-cube composer require ec-cube2/cli "dev-master@dev" -W
docker compose exec -T ec-cube composer update 'symfony/*' -W
docker compose exec -T ec-cube php data/vendor/bin/eccube eccube:fixtures:generate --products=5 --customers=1 --orders=5
## 会員のメールアドレスを zap_user@example.com へ変更
docker compose exec mysql mysql --user=eccube_db_user --password=password eccube_db -e "UPDATE dtb_customer SET email = 'zap_user@example.com' WHERE customer_id = (SELECT customer_id FROM (SELECT MAX(customer_id) FROM dtb_customer WHERE status = 2 AND del_flg = 0) AS A);"
## playwright をインストール
yarn install
yarn run playwright install --with-deps chromium
yarn playwright install-deps chromium
## 管理画面の E2E テストを実行
yarn test:e2e e2e-tests/test/admin
## フロント(ゲスト)のE2Eテストを実行
yarn test:e2e --workers=1 e2e-tests/test/front_guest
## フロント(ログイン)のE2Eテストを実行
yarn test:e2e --workers=1 e2e-tests/test/front_login
- EC-CUBE4系については、 EC-CUBE/ec-cube にて開発を行っております。
- EC-CUBE3系については、 EC-CUBE/ec-cube3 にて開発を行っております。