XAMPP lite にEC-CUBE2.11.1をインストールしてみる


XAMPP lite に EC-CUBE2.11.1をインストールして持ち運ぼう

作業内容

  • EC-CUBEのダウンロード
  • データベースの作成
  • EC-CUBEのインストール
  • EC-CUBE2.4.4との違いを少し確認

EC-CUBE2.11.1をダウンロードする

EC-CUBE公式サイトから正式版(Ver2.11.1)をダウンロードする
ec-cube_01

ダウンロードした「eccube-2.11.1.zip」を解凍
解凍した「eccube-2.11.1」フォルダ内の「data」フォルダ丸ごとと「html」フォルダ内のすべてのファイルを
XAMPP liteの「htdocs」フォルダに移動(コピー)します

今回はec-cube用に「eccube」フォルダを用意し その中にコピーすることにしました

ファイルをコピーしている間に XAMPPを起動

ec-cube_02

「eccube-2.11.1」の「data」と「html」フォルダのコピーが完了ec-cube_03

ブラウザから「http://localhost/eccube/install/」にアクセス

ec-cube_04

あっ エラーメッセージが出た

先ほど「data」と「html」内のファイルの階層を変えたのが原因のようです
「html」フォルダに入っていた「define.php」をちょこっと編集
ec-cube_05

3行目の


define("HTML2DATA_DIR", "../data/");


define("HTML2DATA_DIR", "./data/");

に変更

再度「http://localhost/eccube/install/」アクセスしました

ec-cube_06

インストール開始画面が表示されましたね
「次へ進む」をクリック

ec-cube_07

「アクセス権限は正常です。」と表示されたので「次へ進む」をクリック
必要なファイルのコピーが開始されます。

ec-cube_08

一瞬なので 終わったかどうかわかりにくいですが「次へ進む」をクリック

ec-cube_09

「ECサイト」「管理機能の設定」「WEBサーバの設定」の設定をします
「ECサイト」と「WEBサーバの設定」は バージョン2.4を一緒ですが
「管理機能の設定」が追加されていました
「管理画面へのアクセス」をIPアドレスで設定できるみたいです

「ECサイトの設定」

ec-cube_10

  • 店名
  • メールアドレス
  • ログインID
  • パスワード

を設定します
「ログインID」と「パスワード」は管理画面に入るときに必要ですので メモしておいてください

「管理機能の設定」

ec-cube_11

  • ディレクトリ
  • SSL制限
  • IP制限

を設定します
とりあえず 何も設定せずにこのままでよさそうです

詳しいことがわかったら ここに記載しようと思います

「WEBサーバの設定」

ec-cube_12

  • URL(通常)
  • URL(セキュア)
  • 共通ドメイン

を設定します
ここも 今回はこのままの設定にしておきます

「次へ進む」をクリック
ec-cube_13
続いて データベースの設定です
「PostgreSQL」か「MySQL」のどちらかを選択できます

XAMPP(lite)の場合「PostgreSQL」が使えないので「MySQL」を選択します

あっ EC-CUBE用のデータベース作ってなかった…

EC-CUBE用のデータベースの作成

「http://localhost/phpmyadmin/」にアクセスec-cube_14
適当に「データベース名」を付けて「作成」をクリックec-cube_15

データベースの完成
続いて このデータベースにアクセスできる「データベースユーザ名」と「データベースパスワード」を作成しておきます

※すべてのデータベースにアクセス権限のある「データベースユーザ名」と「データベースパスワード」が
すでにある場合は それを使っても構いません

ec-cube_16

先ほど作ったデータベースが選択された状態で 右上の「特権」をクリック
ec-cube_17

「新しいユーザを追加する」をクリックします

※すでにデータベースにアクセスできる「データベースユーザ名」と「データベースパスワード」はありますが
今回は専用のユーザを用意しようと思います

新しいユーザを追加する

ec-cube_21

ログイン情報

「ユーザ名」と「パスワード」を入力します

EC-CUBEのインストールに使うのでメモしておきます

ユーザ専用データベース

さっき作ったデータベースに権限を与えたいので「Grant all privileges on database “データベース名”」を選択し
右下の「実行」をクリック

新しいユーザを追加するついでに専用データベースを作成する事もできるので作業が1回で済みます
その場合は、「データベースユーザ名」と「データベース名」が一緒になります

ec-cube_22

これでEC-CUBE用の
「データベース名」
「データベースユーザ名」
「データベースパスワード」
が作成できました
先程のインストール作業に戻ります

データベースの設定

ec-cube_131
「DBの種類」「DBサーバ」「ポート」「DB名」「DBユーザ」「DBパスワード」を入力していきます

  • 「DBの種類」→「MySQL」
  • 「DBサーバ」→「localhost」
  • 「ポート」→空欄
  • 「DB名」→「データベース名」
  • 「DBユーザ」→「データベースユーザ名」
  • 「DBパスワード」→「データベースパスワード」

ec-cube_20
こんな感じで入力できたら「次へ進む」をクリック

<データベースの初期化>
ec-cube_23

さっき設定したデータベースを初期化し テーブル等を作成するか確認されます
「データベースの初期化処理を行わない」にチェックせずに「次へ進む」をクリック

※データベースを引越ししたりして すでにテーブル等がある場合は
「データベースの初期化処理を行わない」にチェックをして「次へ進む」をクリックしてください

データベースの初期化完了

ec-cube_24
データベースにテーブルが作成されたようなので「phpMyAdmin」から確認してみました
ec-cube_25
さっきは空っぽだったデータベースに119個のテーブルが作成されています
テーブルの接頭辞は「dtb_」「mtb_」ですね

「次へ進む」をクリック

サイト情報について

ec-cube_26

「次へ進む」をクリック

EC CUBE インストールが完了しました。

ec-cube_27
これでEC-CUBE2.11.1のインストールが完了です

「管理画面へログインする」をクリック

インストール後の「/install/index.php」の削除

ec-cube_28
「>> /install/index.php は、インストール完了後にファイルを削除してください。」と表示されているので
必ずファイルを消すようにしてください

ec-cube_29
赤枠の「index.php」を削除します

ec-cube_30
再度「http://localhost/eccube/admin/」にアクセスすると
「>> /install/index.php は、インストール完了後にファイルを削除してください。」の文字が消えてました

最後に管理画面を確認

ec-cube_31

あれっ ユーザー名が「???」になってる

もしかして…

ec-cube_32

一部文字化けしてますねー

バージョン2.4.4と一緒で「/data/class/SC_DbConn.php」をいじればいいのかなーっと思ったら
「/data/class/SC_DbConn.php」がない…

EC-CUBEのコミュニティサイトで同じような症状のコメントを発見
質問 > その他 > 2.11.1で文字化けが直らない

もしやと思い データベース内のテーブルの「照合順序」を確認

ec-cube_33

なぜか「latin1_swedish_ci」になってました
コレが原因なのかなー
ってことですべて(テーブル119個)の「照合順序」を「utf8_general_ci」に変えてみようと思います

いや「utf8_unicode_ci」の方がいいのかなぁ

バグ報告 > その他 > 2.11.1修正ファイル デグレっているようです」も参考に
色々試してみましたが ダメでした

ということで 再インストール
ec-cube_34
途中 こんなメッセージが出ました

かまわずデータベースを初期化してインストールです

データベースの初期化完了

ec-cube_24

そしてデータベースの「照合順序」を確認ec-cube_35

おーー ちゃんと「utf8_unicode_ci」になってます!!
ec-cube_36

管理画面もサンプルサイトも文字化け解消!!

結局の原因はなんだったのだろう??
「照合順序」が「utf8_general_ci」だったのがいけなかったのかな?
初めから「utf8_unicode_ci」なら大丈夫だったのかも
いや たぶん「latin1_swedish_ci」だったっぽい

んーーーどうやら インストールしたときにデータベースの照合順序を「utf8_general_ci」や「utf8_unicode_ci」にしておいても
「latin1_swedish_ci」になってしまうようなので
インストールして一度テーブルを作成してから照合順序を変えてインストールし直すと楽かなー
※【2011/8/29追記】データベース作成時の照合順序を正しく指定できてなかっただけのようでした ただの勘違い 「utf8_general_ci」を指定してデータベースを用意しておけば問題ありません