ECキューブ3系から4系に移行した時の覚書

自社でECキューブの3系を使ってい他のですが、10月からインボイスが始まるということで、納品書などを適応させるために4系させた時の覚書です。

ECキューブ4系移行でつまづいたこと

移行に、いろいろつまづき、約2日かかりました。

1. データ移行プラグイン(4.2系)を、新しく立ち上げたECキューブにインストールできない。

2. データー移行したら、管理画面に入れなくなった。

3. 会員だけ商品の金額が見られるようにできなくなった。

4.  ドメインの変更がうまくいかない。システムエラーが出る。

5. ドメイン移行後、商品を購入すると決済ページへ行く前にシステムエラーが出る。

6. メールが届かない、送れない。

なんだかんだ、色々有りましたが(大汗)

無事にオープンできてよかったです。

 

↑の内容を簡単に書いていきます。

1. データ移行プラグイン(4.2系)を、新しく立ち上げたECキューブにインストールできない

3系に移行のプラグインをオーナーズストアからダウンロード。そしてバックアップをとる。

これは結構簡単にできました。

E

バックアップファイルをデスクトップに保存して、新しく立ち上げた、ECキューブに↓を使ってインストールする予定でしたが、何故か、インストールできません。

つまづくの早い!と思いながら、いろいろ他のプラグインを外してみたのですが、やっぱりインストールされません。

いろいろ調べた結果、『EC-CUBE Web API プラグイン(4.2系)』を削除したら、インストールできました。

これ、ECキューブをインストールと同時に入れてしまったプラグインですね💦

 

2. ECキューブ4系にデーター移行したら、管理画面に入れなくなった

やっとデーター移行が終わったと思ったら、今度は管理画面に入れなくなった!

新しく作ったログインIDとパスワードは無理。だったら、3系で使ってたのではどうか?と試したけど無理。

そして30分ログインできなくなってしまいました(涙)

 

一難去ってまた一難。

 

これは、大変でした。この書き込みがなかったら、私は天に召されていたかもしれません。

こちらに書いてありました。

 

ftpソフトを使って、旧サイトのデータにアクセスします。

/app/config/eccubeにある、config.ymlファイルを参照します。

一番上にある、auth_magic:の値をコピーします。続いて、同じくftpソフトを使って新サイトのデータにアクセスします。

インストールフォルダのトップページ(/html)にある、.envファイルを参照します。

一番下の、ECCUBE_AUTH_MAGIC=の値を、先程コピーした値に置き換えます。

こちらはデータを書き換えるので、事前に元の.envファイルをダウンロードして、バックアップしておいた方がいいです。

これで旧サイトのIDとパスワードでログインできました。

 

3. ECキューブ4系の会員だけ商品の金額が見られるようにできなくなった

ECキューブ3系では、会員だけ金額が見えるようにして使っていました。(いわゆる会員限定サイト)

 

4系でそのやり方がわからなかったので、

いろいろ探して、こちらを参考にさせてもらいました。

 

会員じゃない方へ、最初の紹介として、オリジナルページを見ていただかなくてはならなかったので、少しタグを変更しました。

 

src/Eccube/DependencyInjection/EccubeExtension.php 66行付近 $accessControl に下記追加

// 会員限定追記
[‘path’ => ‘^/$’,’roles’ => ‘IS_AUTHENTICATED_ANONYMOUSLY’], // トップ:全員
[‘path’ => ‘^/entry’, ‘roles’ => ‘IS_AUTHENTICATED_ANONYMOUSLY’], // 会員登録:全員
[‘path’ => ‘^/products’, ‘roles’ => ‘ROLE_USER’], // 商品ページ:会員のみ

 

これで、簡易な会員サイトの出来上がりです。

※FTPを更新したらキャッシュ削除を都度しましょう。

 

4. ECキューブのドメインの変更がうまくいかない。システムエラーが出る。

これでドメインの変更をしたら終わりだ!

なんて簡単に考えていたら、全くドメインの変更がうまくいかないんです。

ビビりました!

 

まず、ドメインがちゃんと指定の場所に向いていることを前提に書きます。

私の場合は、ムームードメインからさくらのサーバーに向けるために、ネームサーバーとDNSの設定をしました。

その設定はここに書いてありました。

 

で、ドメインがちゃんと向いていて、SSLもかかったのに、トップページがシステムエラーとかになって見えません。

色々調べると、

***.sakura.jp/koko     →   ***.jp

に変更するので、FTPで .env にアクセス。

ECCUBE_COOKIE_PATH=/koko   →ECCUBE_COOKIE_PATH=/

に変更すると良いと、いろんなところで見かけました。

 

でも、システムエラーが出ます(涙)

 

他、いろいろ探したけど出てこないので、

.env ファイルの中をよく見てみると、

TRUSTED_HOSTS=^***\.sakura\.ne\.jp$

(***の部分は自分が使っているドメイン)

という記述(信頼できるホスト)があって、これに新しいドメインが入っていないことに気がつきました

(これは管理画面のシステム設計>セキュリティーからも変更できる)

 

TRUSTED_HOSTS=^***\.sakura\.ne\.jp$  → TRUSTED_HOSTS=^***\.sakura\.ne\.jp$,^***\.jp$

こちらに書き換えることにより、無事に移行したドメインに表示されました。

※FTPを更新したらキャッシュ削除を都度しましょう。

 

5.  ECキューブ4系にドメイン移行して商品を購入すると決済ページへ行く前にシステムエラーが出る

ドメイン移行する前はちゃんと決済画面に行けたのに、ドメインを移して、決済画面に行くのに、システムエラーが出ました。

ログを見ると、PayPalのプラグインが怪しかったので、PayPalのプラグイン削除すると、問題なく、決済ができました。

ECキューブのプラグインストアを開いて、新しいドメインでペイパルを購入できているか?確認し、もう一度、インストールし直したら、無事に、PayPalも使えるようになりました。

何かあったら、プラグインの削除をして確認は必須ですね。

 

6. ECキューブ4系からメールが届かない、送れない。

まず、メールの確認は、Gメールだけは特殊なので、別のメールアドレスで試してください。

私の場合は、インストールする時に、設定を間違っていたみたいです(大汗)

 

.env ファイルの『MAILER_DSN=smtp://〜』で始まる記述にミスがあっただけでした。

 

エックスサーバーのメールアドレスを当てた例だとこんな感じです。

MAILER_DSN=smtp://***@***.jp:○○○○@sv☆☆☆.xserver.jp:465?auth_mode=plain

***@***.jp → メールアドレス

○○○○  → メールのパスワード

sv☆☆☆.xserver.jp → サーバーアドレス

465 → SMTPのポート番号

 

何回も見直したのに、間違っていました(涙)

 

ECキューブは大変

WordPressのwooコマースだと、アップデートしても、ここまで悩んだりしないのに、ECキューブとなると、移行がいつも怖いです(汗)

バージョン変わったら、プラグインも全て変わるし、バージョン変わったら、低いバージョンのECキューブは途端にセキュリティーが悪くなるし。

もうちょっと、簡単にバグもなく、データー移行ができたら嬉しいのにな!と思いながら、とりあえず、移行できたので、覚え書きを残しておきます。

 

誰かの役に立ちますように!

福山のホームページ、SNS運用は
お気軽にご相談ください

ご不明な点にお答えいたします。
WEBのことでお困りでしたらお電話、お問い合わせフォームからお気軽にお問い合わせください。

受付時間:月〜金 10:00〜17:00