EC-CUBEいいじゃん・・・

久々にeコマースの構築に迫られ、以前ちょっと試してみたMagentoで行くか、と思ったのですが、何気なくEC-CUBEを使ってみることにしました。

純国産のCMSで今やショッピングサイト構築ではかなりメジャーな存在になっていますが、出力部分とシステム部分を分けてインストールするというところがいささか面倒で、また共有SSLは基本的に対応していない(有償バージョンがサードパーティから配布されている)、FTPでアップロードすると、ものすごい数のファイルのパーミッション設定を変更することになる、といったところが気に入らなくて、何度かインストールはしたものの運用するには至っていませんでした。

このところ、共有サーバー利用から自前サーバーと同じ環境が構築できるVPS利用がメインになり、共有SSLを使わなくても、廉価で独自SSL環境が構築できるようになったこと、それからUNIXのコマンドでファイルを扱うことに慣れて来たこともあって、あっそうか、EC-CUBEでいいかも知れないと気づいた訳です。


最新バージョンをローカルにダウンロードして解凍、それをFTPでアップロードするのではなくて、wgetコマンドで最新バージョンをサーバー上に直接ダウンロード、tarコマンドで解凍して、htmlディレクトリを公開用のディレクトリに、dataディレクトリを非公開のディレクトリにmvコマンドで移動させます。

例えばfoolontheweb.net/shopにショッピングサイトをつくるとした場合、htmlディレクトリをfoolontheweb.netのディレクトリの下に作ってshopにリネーム、foolontheweb.netと同じ階層にdataディレクトリを移動させます。

tarで解凍するとファイルのパーミッションの構造が維持されるので、上述のものすごい量のパーミッション設定は不要になります。

あとディレクトリの所有権はchownコマンドでftp用のユーザーと同じユーザーに設定しておくと、後々FTPを使う時に便利だと思います。

最初、dataディレクトリの内容から公開ディレクトリに対してエイリアスを効かせるのかなと思って、apacheのvhostの設定をいじったりしたのですが、その必要はないみたいです。逆にこのapacheのエイリアス設定が間違っていたのかEC-CUBEの公開ディレクトリにアクセスできない状態になってしまった、というところだけちょっとハマりポイントでしたが、apacheをリブートしたらあっさり解決できました。

これで公開ディレクトリをブラウザで開くとインストーラーが起動し、スイスイインストールできました。


管理画面のショップ管理、商品管理、カテゴリ管理とかは直感的にわかりやすくできています。規格管理で規格別の価格設定とかも簡単に設定できるのには感心しました。例えば、サイズ別の価格設定が至極簡単にできます。

デフォルトでポイント制が有効化されているのですが、システム設定>パラメータ設定で、USE_POINTという定数をfalseに変更したら、ポイント制絡みの出力が全部消えてくれました。Zencartより遥かに使いやすいです。

テンプレート変更のしくみ、オーバライドする方法なのかどうかという点、とかはまだちゃんと理解していませんが、デザイン管理>ページ設定と、user_data/default/cssのスタイルシート、それにdataディレクトリにあるSmarty/templates/defaultにあるsite_frame.tpl、site_main.tplのテンプレートファイルをいじるだけで、デザイン、レイアウトの変更もカンタンでした。Smartyなんて見るの久しぶりですが、分かりやすいですね。


Drupalと違って、eコマースに目的が特化しているので、極めてReady to goなCMSです。何らプラグインとか使わなくても十分使えるショッピングサイトができました。

それとちょっと分からないことがあると、ググって先達の方々の適確な日本語情報が容易にゲットできるのもDrupalとの大きな違いでありがたいばかりです。

Drupalサイトのサブディレクトリとしてのショッピングサイトという位置づけでのサイト構築なので、cssやjQueryまでは共通化するようにしたものの、やはりデータベースで連動させられるようにしたいですが、その辺はこれからです。

というか、Drupalとどう連動させられるかが、今後、先にトライしてみたMagentoで行くか、それともEC-CUBEで行くか、という自分なりの結論を出す最大のポイントになります。eコマースの構築が面白くなってきました。