ECサイトを構築したい!

自前のWebサイトを構築しようと考える動機として、前回紹介したブログの次に多いのは、ネット通販ではないだろうか。

ショッピングモールに出店して順調に取引が拡大してくると、顧客情報や取引記録などのデータが大量に蓄積されてくる。これらの情報は、得意客ごとにおすすめ商品を案内するといったマーケティング戦略などで有効に生かしていくべきだろう。

しかし、ショッピングモールにデータが預けられている状況では、必要なデータをいちいちダウンロードしてMicrosoft Excelにコピーしなおすなどせねばならず、顧客の要望に機敏に対応することが難しい。また、企業秘密や個人情報保護の観点からも、できれば自社でデータを管理したいと考えている通販事業者は多いようだ。

そこで今回は、オープンソースの通販サイト構築ツールとして知られる「Zen Cart」をホスティングサーバ上にインストールする方法を紹介しよう。Zen Cartは、以下に示すような通販サイトとして必要な機能を一通りそろえており、これらをすべてWebブラウザ上で操作できる。なお、ここで用いるのは「Zen Cart日本語版1.3.0.2」とする。詳細はドキュメントなどで確認していただきたい。

「Zen Cart」の主な機能

  • ショップ画面
  • 商品登録
  • 顧客別の売上管理
  • メールマガジン管理
  • ギフト券管理 などなど...

ホスティング環境は前回に引き続きNTTPCコミュニケーションズの「WebARENA SuitePRO V2」を利用する。ここではデフォルトのrootユーザーでログインした場合で紹介するが、実際の運用では専用ユーザーを追加するなど、よりセキュリティに配慮したほうが好ましいことはいうまでもない。

セキュリティ技術は日々発展しているので、最新事情は専門の技術者に相談するのがより確実といえるだろう。また、Zen Cartのセキュリティに関しては「Zen Cartサイトのセキュリティ」も参考にしていただきたい。


ダウンロードとモジュールの展開(解凍)

ダウンロードとモジュール展開(解凍)の前に、コントロールパネルにログインして仮想専用サーバとsshdを起動しておこう。これから紹介するSSHによるダウンロードとZen Cartの管理画面の操作で利用するためだ。

  1. ダウンロードは前回と同様にSSH上のwgetコマンドで行う。ダウンロード元のURLはSourceforge.jpのミラーサイトからzen-cart-v1.3.0.2-l10n-jp-2.zipをダウンロードできるものを選択する。

  2. ダウンロードしたモジュールを /var/www/html 以下に展開する。

  3. 展開されたディレクトリの名称を、zencartなど、より短いものに変更しておく。

これらの手順を実行するためのコマンドをリスト1に示す。

[リスト1] ダウンロードと展開のために用いるコマンド(※)

# wget ダウンロード元URL
# unzip -d /var/www/html/ zen-cart-v1.3.0.2-l10n-jp-2.zip
# mv /var/www/html/zen-cart-v1.3.0.2-l10n-jp-2 /var/www/html/zencart
※「zen-cart-v1.3.0.2-l10n-jp-2.zip」をダウンロードする場合。

「Zen Cart」をインストールする前の設定

インストールの前に、ファイルやディレクトリの書き込み権限、データベース、Webサーバに対して設定が必要だ。それぞれの手順を以下に示す。


a.書き込み権限の設定

(ここでは/var/www/html/zencartを基準とした相対パスでファイルやディレクトリを記す)

  1. includes/dist-configure.phpを同ディレクトリのconfigure.phpとしてコピー
  2. admin/includes/dist-configure.phpを同ディレクトリのconfigure.phpとしてコピー
  3. 2つのconfigure.phpに対して書き込み権限を付与する(リスト2)
  4. 他のディレクトリにも同様に権限を付与する(リスト3)

[リスト2] 書き込み権限の設定(1)

# cd /var/www/html/zencart
# cp includes/dist-configure.php includes/configure.php
# cp admin/includes/dist-configure.php admin/includes/configure.php
# chmod o+w includes/configure.php admin/includes/configure.php

[リスト3] 書き込み権限の設定(2)

# chmod -R o+w admin/backups
# chmod -R o+w admin/images/graphs
# chmod -R o+w cache
# chmod -R o+w images
# chmod -R o+w includes/languages/japanese/html_includes
# chmod -R o+w media
# chmod -R o+w pub

b.データベース作成

MySQLサーバを起動して「zencart」というデータベースを作成し、権限を付与しておく(リスト4)。

[リスト4] データベース作成

# /sbin/service mysqld start
# mysqladmin -u root -p create zencart

c.Webサーバの設定

/var/www/html/zencartディレクトリに、以下の内容を書き込んだ「.htaccess」というファイルを作成しておく。これはZen Cart日本語版で表示するコンテンツの文字コードがEUCであるためだ。

●/var/www/html/zencart/.htaccess に書き込む内容
AddType "text/html; charset=EUC-JP" php html

ただし、HTMLのmetaタグでエンコーディングにUTF-8を指定しているにもかかわらず、日本語部分のそれがEUCになっているコンテンツもあり、その場合はWebブラウザ側でエンコーディングを変更しなければ文字化けが直らないことになる。


「Zen-Cart」のインストールを開始

インストールはWebブラウザから行うため、Webサーバを起動し、ブラウザから http://(IPアドレスもしくはドメイン)/zencart/ にアクセスする。あとは画面の指示に従って進めればよい(図1)。このときSSLのサーバ証明書を購入しているのであれば、ショップと管理画面でSSLが有効になるようにしておこう(図2)。

【図1】インストール開始画面

【図2】SSLを有効にする

インストール完了後は、a.で作成した2つのconfigure.phpの書き込み権限を無効にし、zc_installディレクトリを削除しておく(リスト5)。

[リスト5] インストール完了後に実行するコマンド

# chmod o-w /var/www/html/zencart/includes/configure.php
# chmod o-w /var/www/html/zencart/admin/includes/configure.php
# rm -Rf /var/www/html/zencart/zc_install

これでもう一度「http://(IPアドレスもしくはドメイン)/zencart/」にアクセスして図3が、「http://(IPアドレスもしくはドメイン)/zencart/admin/」にアクセスして図4が表示されればインストールは完了だ。

【図3】ショップ画面(デモをインストールした例)

【図4】管理画面(デモをインストールした例)


ECサイトをカスタマイズするために

ソースコードの文字コードがEUCであるため、図3の画面上部にある「ここにタグライン・キャッチコピーなどを入れてください。」などの文字をカスタマイズするには、それに合わせて環境変数(リスト6)とSSH端末ソフト(図5)を設定しておくと作業しやすいだろう。

[リスト6] サーバの環境変数の設定

# export LANG=ja_JP.eucjp
# export LC_ALL=ja_JP.eucjp
# locale  ← 設定の確認を行うコマンド

【図5】SSH端末ソフトでの設定例(「TeraTerm Pro」の場合)


次回は……WordPressとZen Cartとを融合させた「WordPress on Zen Cart」について紹介します!