EC-CUBE のインストール・文字化け対策・URL 変更の総まとめ

EC サイト構築用オープンソース、EC-CUBE をご存知でしょうか。
EC-CUBE‐日本発の「ECオープンソース」

これが凄いんですよ。作りこんであって、デザインもしっかりしてて。EC サイト構築するにあたって、他に Zen Cart も魅力的だったんですが、流れで EC-CUBE をやることになりました。

ちなみにダウンロードは以下から。
EC-CUBE‐EC-CUBEダウンロード

今回の記事では、現時点での最新版、EC-CUBE Ver2.4.2 をダウンロードした上での説明になります。

インストール

基本的には EC-CUBE マニュアルサイト – EC-CUBE (2.x系) を参考にすればインストールは完了できますが、環境によっては上手く行かないことが多いようです。以下に、マニュアルに載っていないことをまとめました。

パーミッション変更

FFFTP ではパーミッションの変更に時間がかかります。Firezilla で一括でパーミッションを変更した方が早く済みそうです。

簡単なインストールテストをする程度なら、全ファイルを選択して全ディレクトリを一括で 777 あるいは 707 に、全ファイルを一括で666 あるいは 606 に変更すると簡単に設定できますよ。
追記(2010/01/20): ちなみに heteml はパーミッションを 707 や 606 にしなくて良いので注意してください。

文字化け対策

MySQL にそのままインストールすると文字化けします。MySQL と EC-CUBE は相性悪いそうです。

そこで、以下のページを参考に適宜ファイルを修正してみました。
EC-CUBE V2 UTF-8 で、文字化け 猫山(仮名)の放漫日記/ウェブリブログ

実際私が行った修正は、data/class/SC_DbConn.php の66~68行目にある以下の部分。

1
2
3
// if (DB_TYPE == 'mysql') {
//	$objDbConn->query('SET NAMES utf8');
// }

このコメントアウトを外しただけです。

1
2
3
if (DB_TYPE == 'mysql') {
	$objDbConn->query('SET NAMES utf8');
}

.htaccess の編集も必要でしょうか。何かありましたら教えていただけると幸いです。

ドメイン直下にインストールする方法

デフォルトだと、そのままインストールするとサイト URL が http://www.example.com/html になってしまいますので、以下のページを参考に URL を変更しましょう。
【オープンソース情報サイト】 - 00px – - XreaにEC-CUBEをインストール(ドメイン直下版)

ドメイン直下にインストールする場合に気を付けることがひとつ。

サーバーに BlueOnyx や BlueQuartz がインストールされている場合、/admin は仮想サイトのコントロールパネル URL として使用されているため、EC-CUBE の管理画面を開けなくなってしまいます。この場合、ドメイン直下にインストールするのを諦めるか、EC-CUBE の管理画面 URL を変更するかのどちらかになります。

と、思っていたんですが、/admin/index.php にアクセスすれば管理画面に入れるようです。
そうなると、以上の問題は解決ですが、このままだと管理画面にログインする場合の URL が少し長くて面倒になります。せっかくなので WordPress みたいに /ec-admin で EC-CUBE のログイン画面に行けるようにしましょう。

ドキュメントルートにある .htaccess の末尾に以下の行を追加してください。

1
2
RewriteEngine on
RewriteRule ^ec-admin/?$ http://example.com/admin/index.php [L,R]

これで、/ec-admin にアクセスすると /admin/index.php にリダイレクトされます。

管理画面のアドレスを変更する

管理画面の URL の変更を以下を参考にやってみました。
eugene-k.net » Blog Archive » EC-CUBEの管理画面URLを変更する

失敗しました。ですが、もう一押しでできる感じでした。

インストール後トップページにエラーが表示される

追記(2010/01/20): Windows で解凍した場合によくあります。SSH で接続してサーバーで解凍すると上手く行きますよ、多分。

以下のようなエラーが表示される場合。

1
Warning: require_once(/home/var/www/data/class_extends/page_extends/frontparts/bloc/LC_Page_FrontParts_Bloc_Category_Ex.php) [function.require-once]: failed to open stream: そのようなファイルやディレクトリはありません in /home/.sites/112/site7/web/shopping/frontparts/bloc/category.php on line 25

これは LC_Page_FrontParts_Bloc_Category_Ex.php というファイルがないため表示されるエラー文です。
/data/class_extends/page_extends/frontparts/bloc/ の中に LC_Page_FrontParts_Bloc_Category_Ex.php000644 がありますので、LC_Page_FrontParts_Bloc_Category_Ex.php とリネームします。

以上は、以下のページを参考にしました。
EC-CUBE 開発コミュニティサイト – フォーラム

続いて、以下のようなエラーが表示される場合。

1
Warning: require_once(/home/var/www/data/class_extends/page_extends/frontparts/bloc/LC_Page_FrontParts_Bloc_SearchProducts_Ex.php) [function.require-once]: failed to open stream: そのようなファイルやディレクトリはありません in /home/.sites/112/site7/web/shopping/frontparts/bloc/search_products.php on line 24

これも先程のと同様で LC_Page_FrontParts_Bloc_SearchProducts_Ex.php が存在しないので発生しているエラーです。LC_Page_FrontParts_Bloc_SearchProducts_Ex.php を先程と同じディレクトリにアップロードすることで解決します。

LC_Page_FrontParts_Bloc_SearchProducts_Ex.php は私が現在取り扱っているバージョンでは EC-CUBE を解凍した後にできる data フォルダと eccube-2.4.2 フォルダのうち、data フォルダの中に入っています。data/class_extends/page_extends/frontparts/bloc/LC_Page_FrontParts_Bloc_SearchProducts_Ex.php ですね。

以上は、以下のページを参考にしました。
EC-CUBE 2.0.1 インストール備忘録|備忘録

コメント

コメントは受け付けていません。