EC-CUBE3、本サーバ移行とAmazonPayプラグイン導入について試行錯誤雑記

ノウハウ・ハウツー
この記事は約5分で読めます。
スポンサーリンク

EC-CUBEをインストールしようとするが・・・。

現在のさくらインターネットにはスタンダードプランでもEC-CUBEは標準で搭載しているのですが、この記事を書いていた頃は確かなかった(あったかもしれない)のでEC-CUBEの公式サイトからEC-CUBE3をダウンロードし直接サーバの中に入れて動かそうとしているのですが・・・。

過去記事

今回一番問題なのが、「なんで標準でドメイン直下にインストールしてくれないの!?」ってとこですかね。
インストールするとわかるんですが、わざわざ追加でEC-CUBE用にディレクトリを追加する必要があって、
その中にEC-CUBEがインストールされる形になるんですよね。。。
メインのウェブサイトとして運用するのにそれは変でしょ・・・。
とりあえず私の環境ではなんとかドメイン直下にインストールすることができているのですが、
まだ完全に移行しきれておらず、一部の機能にエラーが出るという症状があります。

とりあえず注文処理や商品情報の変更などは問題ないんですが、
ページ情報を更新すると毎回「システムエラーが発生しました。」と表示されるんですよね、ちゃんと反映されてるのに。
まぁそれだけなので全く動かないとかそういうのはないのでとりあえずそのままにしています;
まぁ、なんやかんやで運用できる状態にはなっているので後は自分なりに調整していこうかなと思います。
クレジット機能のプラグインは導入してもいいかもしれませんが、
それ以外のプラグインで欲しい機能は自作しようかと思います、高いし。。。
色々ぐちぐち言ってますが、
なんやかんや言ってもオリジナルのネットショップ立ち上げるツールとしては
私的には無料にしてはしっかり出来てるなと思いますので
これからもっと使いやすくなってくれればいいなと思います。

えぇと、今の私でも当時何が言いたいのかよくわからないですし、
偉そうでイラッとするのですが(笑)、

恐らく

ドメイン直下にインストールしようとしても「https://www.studio-de.com/eccube/html」という形、eccube/htmlフォルダの中にショッピングシステムが入ってしまっている。本来は「https://www.studio-de.com/」でEC-CUBE3を動かしたかったんだと思います。(この後の記事にその話はしています)

※ドメイン名は例です。

で、手動でドメイン直下に移動させたんだと思うのですが
上手く動かないということみたいです。(他人事)

次で問題解決するのですが、まとまりがないのでまた修正しておきます。

EC-CUBE3の先日のエラー「システムエラーが発生しました。」解決策への道のり

EC-CUBE3をローカルサーバから本サーバに移行した際に発生していた以下の問題

システムエラーが発生しました。
大変お手数ですが、サイト管理者までご連絡ください。

通常のページでは注文とか会員ページとかで内容変更した所で
特にエラー画面が表示されるということはありませんでしたが、
管理ページでページを新規で追加したりなど何かアクションすると毎回エラー画面が表示されておりました。
多分eccube/htmlという気持ち悪いディレクトリ構造からドメイン直下にデータを移動させて
パス設定でどこか変更抜けがあったからなんだと思ってたのですが・・・
今までどこが悪いのか全然分かりませんでした。
エラーが発生してるならログ情報に記載されているはずなんですが、
管理ページのログ確認ページにアクセスすると速攻上記のエラー画面が表示されてました。
「え?ナニコレログ見れへんやん・・・( ˙-˙ )
 どないすんの!(_˙-˙)_バンッ」

管理ページからログ情報が取得出来るはずなんですが、
アクセスすると「システムエラーが発生しました」って表示されるんですよ。
「え・・・エラーも確認できへんの?( ˙-˙ )
 どうするん??( ˙-˙ )( ˙-˙ )」
大丈夫です、管理ページからは見れませんがちゃんとログ情報はありました。
皆さんのEC-CUBE3のディレクトリ構造はどうなっているのかわかりませんが、
上位階層に「app」というディレクトリがあると思います。
その中の「log」という場所にきちんとログ情報が記録されていました。
管理ページではそれを見やすい形にしているようですが、メモ帳とかで直接ログファイル見ても
内容が分かるようになっています。
「ふむふむなるほど・・・・(´-ω-)ウーン
システムには問題なさそうだなぁ・・・(´•ω•
)」
・・・あれ?なんかこの部分変だぞ?
「www//app/log/” directory does not exist.」
さて、どこがおかしいのでしょうか、、、

wwwとappの間が変ですよね。
(・・・残念、そこじゃないんです。)

スラッシュが2つ重なってるのも変ですが、そもそもappフォルダの参照先が間違えています。
私が本サーバにEC-CUBE3を入れてる場所はドメイン直下のディレクトリにhtml内に入ってたものを移動させています。
それ以外のhtmlディレクトリよりも上位階層にあったデータは主にシステムデータとなりますので、
wwwよりも下位階層に入れてしまうとセキュリティ的によくありません。
なので外部からアクセス出来ない上位階層のディレクトリに移動させています。
じゃあなぜwww内にあるappディレクトリを参照するようになってしまってるのかと言いますと、
「app/config/eccube/」にある「path.yml」の「root_dir」のパスがwwwまで記入していたからでした。
全体的にはディレクトリ階層を上げて設定していたつもりが
ルートディレクトリの設定を変更していなかったのが今回のシステムエラーの原因でした。
ルートディレクトリをwww外した状態でもう一度管理ページから操作してみたところ、エラーがすっかり無くなりました。
ただ、EC-CUBE3の場合、path.ymlを変更した所でパスが変更されない箇所があるので、
一度システムデータを一通り確認する必要があります。
<あちこち直接パスを打ち込んでる箇所があった・・・。
デフォルトのままでも問題なく使えるものではありますが、
これはウェブシステムを理解している人じゃないと扱えるものではないなと思いました。
今後はEC-CUBE3で不足な部分を自分で改良したり外部ツール作ったりしてより良くしていこうと思いますので、
もし何か作ったとか不具合でたとかありましたらまたご報告させて頂きます。

コメント

タイトルとURLをコピーしました