EC-CUBEで構築されたサイトのサーバー移行作業手順

2010/06/14 16:58

オープンソースのECサイト構築フレームワークとして人気のEC-CUBE(php)を利用した、ECサイト開発、運用においてデータ移行、サーバー移行手順を以下に示します。
※ LAMP環境からLAMP環境への移行とします。

1. 移行元環境の/eccubeを一式ダウンロード
特に注意点はありません。

2. /eccube/data/install.phpを編集
パスやDB接続情報を新しい環境へ変更します。

3. /eccube/html/user_data以下のphpファイル修正
三行目がrequire_once("移行元環境のルートパス/eccube/html/require.php");等となっている為、全ファイルの「移行元環境のルートパス」を「移行先環境のルートパス」へ置換します。

4. 移行先サーバーへ/eccubeをアップロード
phpファイル、フォルダのパーミッションに気をつけて下さい。

5. 移行元サーバーからDB内容をエクスポート(※1)
phpMyAdmin等から行います。
手順としては、以下の順にするとIOの失敗が少ないです。
5-1・テーブルmtb_zip以外をまとめてSQLファイルでエクスポート
5-2・mtb_zipをSQLファイルでエクスポート

6. 移行先サーバーのDB作成
「2. /eccube/data/install.phpを編集」で設定した通りの名でDBを作成する。

7. 移行先サーバーへDB内容をインポート(※1)
phpMyAdmin等から行います。
手順としては、以下の順にするとIOの失敗が少ないです。
「6. 移行先サーバーのDB作成」で作成したDBに対し、
7-1・mtb_zip以外のSQLファイルをインポート
7-2・mtb_zipを3ファイル程度に分割する(SQLの知識必須)
ファイルが大きいと、こけて壊れる可能性ある為。編集時は文字コードに注意する。
7-3・mtb_zipをそれぞれインポート

以上です。
管理画面は/eccube/html/admin/から移行元環境と同じid,passwordで入れます。
別のやり方であれ、注意すべき点は
・「install.phpを編集」
・「user_data以下のphpファイルのrequire文修正」(※管理画面から再登録という手もあります)
・「DBのエクスポートとインポート(文字コード、テーブルの大きさ)」
でしょう。
方法は他にもいくつかあると思いますが、比較的楽な方法ではないでしょうか。

※1 文字コードは、大抵の場合utf-8で処理すれば問題はないはずです。移行元と移行先のphpMyAdminで確認して下さい。

EC-CUBEのユーザ名、パスワードを忘れた場合の対処

2010/04/29 19:13

phpでECサイトを構築する際によく使われているEC-CUBEで、ユーザ名、パスワードを忘れた場合の再設定方法を説明致します。

※ データベースの値をphpMyAdmin等外部からいじれる事が前提
※ 簡単なphpプログラムが書ける、実行環境がある前提

まずはデータベースを開きましょう。接続文字列、認証情報は/eccube/data/install.phpに書いてあります。

define ('DB_USER', '~~~~~~');
define ('DB_PASSWORD', '~~~~~~');
define ('DB_SERVER', '~~~~~~');
define ('DB_NAME', '~~~~~~');

ユーザ情報はdtb_memberテーブルに入っています。ユーザ名はlogin_id、パスワードはpasswordのカラムです。

ユーザ名はそのままで使用すればOK。

ん、パスワードは見慣れない数字とアルファベットの羅列ですね。これは暗号化という奴です。あなたが指定したパスワードは暗号化されてDBに入っているということです。

※ これは常識です。もしもあなたがユーザ認証を使用するタイプのアプリケーションを何かしら利用した際にパスワードが平文のままDBに入っていたら、即そんなものを使うのはやめましょう。開発者が稚拙か、単なる面倒くさがりや、もしくは悪用しようと企んでいる人です。

さて、話がそれましたが、上記から、パスワードはそのままでは使えませんのでDBのデータを更新しましょう。

更新内容ですが、まずはあなたが新しくパスワードに選ぶ文字列をsha1で暗号化する必要があります。

eccube/data/mtb_constants_init.phpを開き、

/** 認証用 magic */
define('AUTH_MAGIC', "~~~~~~~~~~~(以降※1)");

となっている箇所を見つけてください。※1は数字とアルファベットの羅列。

phpで以下を実行。

echo sha1("新規アルファベット用文字列" . ":" . "※1");

出力された数字とアルファベットの羅列をdtb_member.passwordにセット。

以上で再びログイン!!

windows(vista)でPHP, apache, MySQL環境構築

2010/04/22 18:53

細かい設定(※1)はgoogle先生に聞けば先人が沢山ソースを上げている為、記載しません。

手順は以下となります。

前提条件:

・PHP, MySQL, apacheのバージョンは既に動作保障のある組み合わせで選ぶ。

(1)PHP, MySQL環境構築

(1-1)PHP, MySQLをダウンロード(インストーラは使用しないタイプのもの)

(1-2)C:\php~\にPHPを解凍

(1-3)php.iniファイルを編集

(1-4)C:\MySQL~\にMySQLを解凍

(1-5)my.iniファイルを編集

(1-6)windowsの環境変数に追加(実行ファイルのあるフォルダにパスを通す)

(2)apache環境構築

(2-1)apacheをダウンロード

(2-2)インストール (※2)

(2-3)httpd.conf編集

(3)libmysql.dllをC:\WINDOWS直下にコピー

以上(1)~(3)になります。

サーバー上のPHPのページからMySQLに接続できない場合は(3)ではまっている人が多いかもしれません。

----------------------------------------------------

※1
・php.iniは「php, php.ini MySQL」と検索すれば山ほど出てくると思います。
ポイントはMySQL実行用のextensionがデフォルトではコメントアウトされているのでそれを外すこと。
・my.iniは「MySQL, my.ini 文字化け」と検索すれば山ほど出てくると思います。
ポイントは、文字コードの設定関係です。DBを作成する前にここで初期設定を記述しておかないと文字化けに泣く可能性があります。
・httpd.confは「apache httpd.conf php」と検索すれば山ほど出てくると思います。
ポイントは「サーバーに対するアクセスに対しPHPでの実行を関連付ける」ということです。
※2
vistaでは権限の問題でサービスへの登録が失敗する場合があるようです。その際はサービスに手動登録してください。

Tags:

develop | PHP

WordPress(PHP)でアップロード時に挿入される画像のパスを相対パスにする方法

2010/04/22 18:14

WordPressのバージョンは 2.9.2 になります。

アップロードされた画像が絶対パスでマークアップされていると、ドメインが変わった場合にインパクトを受けます。

既に絶対パスになっている箇所はSQLでアップデートするしかありませんが、当対応することで、今後はアップロード時に挿入されるimgのsrc属性を相対パスに変更する作業を意識せずに運用できます。

手順はソースの変更等ではなくUIで簡単にできます。以下(1)~(3)となります。

(1)WordPressにログインし、「設定」>>「その他の設定」 を選びます。

 

(2)「ファイルへの完全なURLパス」に相対パスを記述します。

 

(3)投稿記事に対し画像ファイルをアップロードして、挿入すると、以下の通り相対パスでマークアップされています。

 

以上です。運用前、開発前に設定しておくことを推奨します。

SQLでの一手間がなくなります。