ウェブ、ショウジン

EC-CUBEをドメイン直下にインストール

2010-3-28
Category
CMS

EC-CUBE version 2.4.x(たぶん2.4.3か2.4.4)

通常、デフォルトというか、そのままEC CUBEをインストールするとURLは
http://example.hoge/html/となってしまう。

一般のユーザ向けページへは、少しでも短いURLで運用していきたいということもあると思うので、このhtml/をなくしてドメイン直下でhttp://example.hogeで運用できるようにインストールの手順をカスタマイズしてみた。

レンタルサーバはさくらのスタンダードプラン。データベースはMySQL。

くわしいインストールについては以前にまとめたので重複する部分については、ここではざっと流す感じで。

さくらにEC-CUBEをインストール

html/define.phpを編集

html/define.php内にあるパスの指定を変更する。

html/define.php

/** HTMLディレクトリからのDATAディレクトリの相対パス */
define("HTML2DATA_DIR", "/../data/");

/** DATA ディレクトリから HTML ディレクトリの相対パス */
define("DATA_DIR2HTML", "/../html/");

↑この部分を以下のようにして変更する。

/** DATAディレクトリへのパス */
define("HTML2DATA_DIR", "/data/");

/** HTMLディレクトリへのパス */
define("DATA_DIR2HTML", "/");

ファイルのアップロード

data/とdocs/はディレクトリごと/wwwに。
html/は、その中身を/wwwにアップロードする。

アップロードの際にはディレクトリ、ファイルともにパーミッションは705で。
(さくらではphpファイルは705または755でないとエラーになるから)

また

さくらでは.htaccessにphpの設定が記述されているとエラーになる。
なので、.htaccessに記述されている既存の内容(phpの設定)を削除。

以下の二つの.htaccess内のphp設定を削除

/www.htaccess
/www/mobile/.htaccess

php.iniの編集(以下の内容を追加)

/home/アカウント名/www/php.ini

magic_quotes_gpc = Off
mbstring.language Japanese
output_handler mb_output_handler
mbstring.encoding_translation = On
mbstring.http_output = UTF-8
mbstring.internal_encoding = UTF-8
upload_max_filesize 5M
register_globals = Off

とくに、magic_quotes_gpc = Off の記述がないと商品に商品カテゴリが反映されないので注意。(管理画面でカテゴリを登録しても反映されない)

.htaccess内のphp設定を削除

さくらでは、phpの設定を.htaccess内に記述するとエラーになるので、以下の2ファイル内にあるphpの設定内容を全削除。あ、.htaccessまるごと削除でもいいのかも。

/www/mobile/.htaccess
/www/.htaccess

文字化け問題の解消

管理画面で目にする一部の地味な(でも、かなり問題)文字化けを解消するための処理。

data/class/SC_DbConn.phpを編集する。

コメントアウトを外し、SET NAMES utf8を囲うクォーテーションをシングルからダブルに変更する。(この「クォーテーション」部分はオレの勘違いかもしれない。ただコメントアウト外せばよいのかも)

data/class/SC_DbConn.php

//MySQL文字化け対策(MySQLで文字化けする場合は以下のコメントアウトをはずして動作確認してみてください。)
if (DB_TYPE == 'mysql') {
    $objDbConn->query("SET NAMES utf8");
}

データベースを作成する

さくらのサーバコントロールパネルでデータベース(MySQL 5.1)を作成する。

インストール開始

http://サイトドメイン/install
にアクセスしてインストール作業を開始。

詳細は以前にまとめたのでここでは割愛。
さくらにEC-CUBEをインストール

install/index.phpの削除

インストールを終えたら/www/install/index.phpを削除する。

商品検索時のシステムエラーを解消

このままだと商品名で検索した際にシステムエラーになるのでこれを解消するため、以下の記述を追加する。

data/class/SC_DbConn.phpに

$buf = $objDbConn->prepare(‘SET NAMES utf8′);
$objDbConn->execute($buf);
mysql_set_charset(“utf8″);

を追加する。

data/class/SC_DbConn.php

// 既に接続されていないか、新規接続要望の場合は接続する。
if(!isset($objDbConn->connection) || $new) {
    if($dsn != "") {
        $objDbConn = DB::connect($dsn, $options);
        $this->dsn = $dsn;
        // 以下の三行を追加する
        $buf = $objDbConn->prepare('SET NAMES utf8');
        $objDbConn->execute($buf);
        mysql_set_charset("utf8");

インストール完了。

とりあえずざっと見る限りでは、文字化け等も解消されていて大丈夫そう。
CMS機能をまだ全然いじってないので、そのへんは要確認だけど。

EC‐CUBE「Ver2対応」公式ガイドブック―オープンソースECサイト構築ソフト
中川 仁 森藤 将武 中田 智子
秀和システム
売り上げランキング: 8858

Categories

Tag Cloud

AdMob Android Apache centos CodeIgniter EC-CUBE facebookアプリ facebookページ feed Firefox Flash google googleanalytics htaccess iPad iPhone JavaScript lamp mobile nginx ogp pear php plugin rollover rss sendmail setting smarty ssh Titanium Mobile Titanium Studio tutorial ubuntu vim VirtualBox vmware vps Windows WordPress xampp youtube さくらインターネット アクセス解析 カスタム投稿