2014年5月22日木曜日

EC-CUBEをインストールしてみた

こんにちは。久しぶり過ぎてブログを書き始めるまでものすごく億劫だった私です。
最近はWindows ServerのオペレーションとExcelとOutlookぐらいしかやってないです。
書いてみて気づいたけどちゃんと細部まで把握できてないや。
やっつけインストール良くない。
でもやっつけでも頭のなかだけで終わらせずに書くのが良いと思うんですよね。きっと。


--- 動機 ---

Twitterで多分フォロワーさんがつぶやいてたと思うんだけど、以前名前を聞いたことがあったからか、何故か忘れられませんでした。
ある日とうとうググってみたら、インストール完了時点で予め同梱されたサンプルECサイトが完成されるようになっていて、結構面白そうだったからインストールしてみました。
クリーンインストールだけなら思いのほか簡単でした。



--- インストール環境 ---

インストール環境として、以下を揃えました。
  • CentOS 6.5
  • eccube-2.13.1
  • PHP 5.3.3
  • 2.2.15-30.el6.centos
  • postgresql 8.4.20-1.el6_5
PostgreSQLは9.x系が良いらしいんだけど、遊びでとりあえずクリーンインストールだけしたかったので、何も考えずにyumからインストールしました。phpもApacheも同様です…。
ちゃんと外部から表示されているかを確認したかったので、借りてて既に動いているVPSにインストールすることに…。


--- インストール手順 ---

ECサイト構築用ソフトウェアとしてはかなり有名みたいなので、ググったらインストール手順を丁寧に解説されているサイトがいくつかあったので、基本はそこを見ながら行いました。

  1. CentOS(Linux)を用意する
  2. EC-CUBEをダウンロードする
  3. ホームディレクトリにEC-CUBEのtar.gzファイルを置いて解凍する
  4. yumでApacheをインストールする
  5. yumでPHPをインストールする
  6. yumでPostgreSQLをインストールする
  7. Apacheを起動してデフォルトのページが見れるようにする
  8. PostgreSQLの初期設定を行う
  9. PostgreSQLでEC-CUBE用のデータベースを作成する
  10. PHPの設定を行う(Apache上で動くようにする)
  11. 必要に応じてApacheに仮想ディレクトリの設定を追加する
  12. Webブラウザ上から所定のURLにアクセスしてEC-CUBEインストールウィザードを開始する
  13. インストールが完了してサンプルECサイトへアクセスできることの確認

1.CentOS(Linux)を用意する

PHPと、Apacheと、MySQL or PostgreSQLが動けば、お好きなディストリビューションで良いと思います。

2.EC-CUBEをダウンロードする

公式サイトから最新のtar.gzを持ってきます。参考にしていたサイトではFFFTPを使っていましたが、FTPはプロトコル的に脆弱なので、WinSCPなどのSFTPやSCPが使えるソフトを利用するのが良いです。

3.ホームディレクトリにEC-CUBEのtar.gzファイルを置いて解凍する

WinSCPでCentOSにアクセスし、ホームディレクトリにEC-CUBEのファイルを突っ込んで解凍。解凍したディレクトリのうち、 data と html は利用し、その他は利用しないみたいなので、その2つのフォルダを、/var/eccube ディレクトリ内に再配置してみました。
もし既にApacheがインストールされているなら、この時点でフォルダまるごと、所有者をApache:Apacheに変更してあげときましょう。

4.yumでApacheをインストールする

yum install httpd

5.yumでPHPをインストールする

依存関係でいっぱいインストールされたけど、遊びなので気にしない…ていうか、ログ見たらPHPインストールしたときに依存するソフトウェアとしてhttpdが入ってる。

================================================================================
 Package             Arch        Version                     Repository    Size
================================================================================
Installing:
 php                 x86_64      5.3.3-27.el6_5              updates      1.1 M
Installing for dependencies:
 apr                 x86_64      1.3.9-5.el6_2               base         123 k
 apr-util            x86_64      1.3.9-3.el6_0.1             base          87 k
 apr-util-ldap       x86_64      1.3.9-3.el6_0.1             base          15 k
 httpd               x86_64      2.2.15-30.el6.centos        updates      821 k
 httpd-tools         x86_64      2.2.15-30.el6.centos        updates       73 k
 mailcap             noarch      2.1.31-2.el6                base          27 k
 php-cli             x86_64      5.3.3-27.el6_5              updates      2.2 M
 php-common          x86_64      5.3.3-27.el6_5              updates      525 k
Updating for dependencies:
 openssl             x86_64      1.0.1e-16.el6_5.7           updates      1.5 M
 openssl-devel       x86_64      1.0.1e-16.el6_5.7           updates      1.2 M
 openssl-perl        x86_64      1.0.1e-16.el6_5.7           updates       49 k
 openssl-static      x86_64      1.0.1e-16.el6_5.7           updates      982 k

Transaction Summary
================================================================================


6.yumでPostgreSQLをインストールする

yum install postgresql

7.Apacheを起動してデフォルトのページが見れるようにする

yumでインストールしたなら、 /etc/init.d/httpd start すれば見れると思う。


8.PostgreSQLの初期設定を行う

/etc/init.d/postgresql initdb
su - postgres
psql
create user UserName password PassWord createdb;
\q
vim /var/lib/pgsql/data/pg_hba.conf
好みとか要件によると思いますが local connections の接続方法をmd5 に変更。MD5と大文字にしてしまうとPostgreSQLが動かなくなるので注意。それでハマりました…お粗末。

9.PostgreSQLでEC-CUBE用のデータベースを作成する

su - postgres
psql
create database DatabaseName owner = OwnerUserName;
\q

10.PHPの設定を行う(Apache上で動くようにする)

php単体をインストールしてから知ったんですが、php-mbstringというパッケージも必要です。Apache2 PHP5 インストール | CentOSサーバー構築マニュアル を参考にさせていただきました。
基本は /etc/php.ini の 変更です。

11.必要に応じてApacheに仮想ディレクトリの設定を追加する

今回はサブドメインにあこがれていたので、 apacheのhttp.confでサブドメインを追加する方法[Linux][apache] | QUALL - blog を参考にさせていただき、EC-CUBEのトップページが http://eccube.tearthesky.com/ に来るようにしました。

12.Webブラウザ上から所定のURLにアクセスしてEC-CUBEインストールウィザードを開始する

今回の場合は、Webブラウザで、 http://eccube.tearthesky.com/install/ へアクセスします。すると下のようなインストール画面が出てきて、ウィザード形式で自動的にインストールしてくれます。すごい楽です。この辺はさすが人気ソフトだなぁと思いました。

EC-CUBEのファイルの配置構造をミスってたり、 chown で Apache:Apache してなかったり chmod で 666 し忘れてたりするとうまくいかないかもしれません。

13.インストールが完了してサンプルECサイトへアクセスできることの確認

私の場合は http://eccube.tearthesky.com/ へアクセスして、サンプルECサイトが表示されたのでOKです。


--- 考察 ---

やってること自体はサーバエンジニアから見ればなにも特別なことは無いんだと思います。
参考インストールサイトもあったし、比較的簡単な部類だと思います。

ただ、当たり前のようにApacheをインストールする手順とか、データベースのインストール手順なんかは書いていない。
きっと、こういうのを仕事にしている人たちの界隈では、そういう領域はすでに出来上がっているものを使ったり、別の人がやることになっているんだろうなぁと推測。その辺りがSIerっぽいお仕事をさせてもらってる私からすると新鮮した。なんていうか、「お客様側の世界」というか。

また、何故かドキュメントルートでPHPの画面が表示出来ませんでした。…EC-CUBE自体は動いたので放置してしまいましたが…。

それと、スマフォからアクセスしてみたら、専用のスタイル(スマフォ最適化ページ)で表示されました。コンテンツ力高い。すごい。でもPC-Webでの立方体アイスの方が見てて楽しい。

今回はクリーンインストールしただけで、ホントはもっと色々設定しないといけないです。例えば一番重要なのは、https接続できるようにSSL接続を確保すること。なんか外部機関に申請してお金出さないといけないっぽい。

以上です。



オープンソースECサイト構築ソフトEC‐CUBE公式ガイドブック―最新Ver2.13対応