その他
    ホーム 技術発信 DoRuby ECサイト構築パッケージ「エレコマ」のインストール手順@Ubuntu 10.10

    ECサイト構築パッケージ「エレコマ」のインストール手順@Ubuntu 10.10

    この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。

    はじめまして、よしだです。 DoRuby 初投稿の今回は、最近になって SourceForge.jp から GitHub にこっそり移住したECサイト構築パッケージ「エレコマ」オープンソース版のインストール手順を紹介したい思います。

     概要

    通販サイトを作りたい! という要望を簡単に実現してくれる EC サイト構築パッケージ。エレコマは日本初の Ruby on Rails を利用した EC サイト構築パッケージで、オープンソースであるため無料で利用することができます。

    詳しい機能については『エレコマ公式サイト』を参照してください。また、実際の動作を確認できるデモサイトもあります。

    今回はエレコマのインストール手順を紹介したいと思います。

     環境

    OS と DB は基本的には何でも構いません。

    ここでは OS に Ubuntu 10.10 を利用することにします。

    (ちなみに、CentOS へのインストール手順は GitHub 上の README に書かれています)

    • ◇ OS: Ubuntu 10.10
    • ◇ DB: PostgreSQL
    • ◇ WEB: Apache
    • ◇ APP: Passenger
    • ◇ Ruby: 1.8.7
    • ◇ Ruby on Rails: 2.3.5
    • ◇ RubyGems: 1.3.5

    上記が今回用意する環境になります。

     インストール手順

    早速インストールしていきます。

    ここでは Ubuntu 10.10 がクリーンインストールされていることを前提とします。

    0. パッケージリストのアップデート(必ず行ってください!)

    手始めに Ubuntu のパッケージリストを最新のものにします。

    Ubuntu 10.10 の場合、初期のパッケージリストでは killapache などの脆弱性を取り込むことになってしまいます(killapache については、ととろさんの記事『apache の脆弱性』が詳しいです)。

    そこで、各ソフトウェアをインストールする前にパッケージリストの更新を行っておくと安心です。

    $ sudo su -
    (パスワードを入力し、管理者権限に切り替えます)
    # apt-get update
    

    1. Ruby のインストール

    Ruby とその他の必要なソフトウェアをインストールします。

    特定バージョンの Ruby を利用するためにソースからコンパイルします。

    # apt-get -y install gcc zlib1g-dev libssl-dev ncurses-dev libreadline-dev
    # wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p174.tar.gz
    # tar zxf ruby-1.8.7-p174.tar.gz
    # cd ruby-1.8.7-p174
    # ./configure
    # make
    # make install
    # cd
    

    2. RubyGems のインストール

    RubyGems をインストールします。

    # wget http://rubyforge.org/frs/download.php/60718/rubygems-1.3.5.tgz
    # tar zxf rubygems-1.3.5.tgz
    # cd rubygems-1.3.5
    # ruby setup.rb
    # cd
    

    3. ImageMagick のインストール

    エレコマでは商品画像を扱うためのライブラリとして ImageMagick を利用します。

    CentOS 向けのインストール手順では ImageMagick へのリンクがすでに切れているようです。

    リンクが切れている場合は、適宜 URL を変更して実行してください。

    # apt-get -y install libjpeg-dev libpng-dev libgd2-xpm-dev libfreetype6-dev
    # apt-get -y install libperl-dev
    # wget http://ftp.nl.netbsd.org/pub/pub/ImageMagick/ImageMagick-6.5.8-4.tar.gz
    # tar zxf ImageMagick-6.5.8-4.tar.gz
    # cd ImageMagick-6.5.8-4
    # ./configure
    # make
    # make install
    # cd
    

    4. Rmagick のインストール

    Rmagick は ImageMagick を Rails から扱うための Gem です。

    # gem install rmagick -v 2.12.2
    

    5. その他の依存 Gem のインストール

    エレコマの各機能に必要な Gem をインストールします。

    確実な動作を保障するためにバージョンを指定してインストールします。

    # gem install rails -v 2.3.5
    # gem install gettext -v 2.1.0
    # gem install gruff -v 0.3.6
    # wget http://www.artonx.org/data/lhalib/lhalib-0.8.1.gem
    # gem install lhalib-0.8.1.gem
    # gem install webmock -v 1.3.4
    # gem install thoughtbot-factory_girl -v 1.2.2 --source http://gems.github.com
    # gem install json
    # gem install daemons
    

    6. PostgreSQL のインストール

    PostgreSQL 本体と Rails 用の Gem をインストールします。

    # apt-get -y install postgresql libpq-dev
    # gem install postgres
    

    7. ユーザの作成

    エレコマを実行するユーザを作成します。

    パスワードも適当に設定しておくと良いかもしれません。

    # useradd -m ec
    # passwd ec
    Enter new UNIX password: elephant
    Retype new UNIX password: elephant
    

    8. Git のインストール

    GitHub からエレコマをダウンロードするにあたって Git が必要になるので、これをインストールします。

    # apt-get -y install git-core
    

    9. エレコマのダウンロード

    いよいよエレコマのインストールに入ります。

    まずは GitHub からエレコマのパッケージをダウンロードします。

    # cd /usr/local
    # git clone git://github.com/elecoma/elecoma.git
    # chown -R ec:ec /usr/local/elecoma
    

    10. PostgreSQL のセットアップ

    エレコマ用のデータベースを用意します。

    ここでは Development, Test, Production という Rails 環境に合わせて3つのデータベースを作成します。

    # /etc/init.d/postgresql start
    # su - postgres
    postgres$ psql template1
    postgres=# alter user postgres with password 'hoge';
    (パスワードを適当に設定しておきます)
    postgres=# q\
    postgres$ createuser ec
    Shall the new role be a superuser? (y/n) y
    postgres$ psql template1
    postgres=# alter user ec with password 'elephant';
    (このパスワードは手順 11. で必要になるので覚えておきましょう)
    postgres=# \q
    postgres$ createdb --owner=ec ec_dev
    CREATE DATABASE
    postgres$ createdb --owner=ec ec_test
    CREATE DATABASE
    postgres$ createdb --owner=ec ec
    CREATE DATABASE
    postgres$ psql -l
            List of databases
       Name    |  Owner   | Encoding 
    -----------+----------+----------
     ec        | ec       | UTF8
     ec_dev    | ec       | UTF8
     ec_test   | ec       | UTF8
     postgres  | postgres | UTF8
     template0 | postgres | UTF8
     template1 | postgres | UTF8
    (6 rows)
    

    11. エレコマのセットアップ

    エレコマを動作させるための最低限の設定を行います。

    # su - ec
    ec$ cd /usr/local/elecoma/config
    ec$ cp database.example.yml database.yml
    ec$ vim database.yml
    (データベースへのアクセスに必要なユーザ名を ec、パスワードを elephant といった具合に設定します)
    ec$ diff database.example.yml database.yml
    3,4c3,4
    <   username: postgres
    <   password: 
    ---
    >   username: ec
    >   password: elephant
    ec$ cd environments
    ec$ vim production.rb
    (環境に合わせてメールサーバの設定を変更します)
    

    12. プラグインのインストール

    エレコマに必要な Rails プラグインをインストールします。

    一部古いバージョンのプラグインを利用するために、変則的なインストール方法を取っているところがあるので注意してください。

    ec$ cd /usr/local/elecoma
    ec$ ruby script/plugin install git://github.com/realityforge/rails-active-form.git
    ec$ ruby script/plugin install git://github.com/rails/acts_as_list.git
    ec$ ruby script/plugin install git://github.com/technoweenie/acts_as_paranoid.git
    ec$ ruby script/plugin install git://github.com/rails/acts_as_tree.git
    ec$ ruby script/plugin install http://topfunky.net/svn/plugins/ar_fixtures/
    ec$ ruby script/plugin install git://github.com/jpmobile/jpmobile.git -r 'tag 0.0.8'
    ec$ ruby script/plugin install http://taslam-plugins.googlecode.com/svn/trunk/jpmobile_emoticon_filter/
    ec$ cd vendor/plugins
    ec$ git clone git://github.com/tmtysk/mbmail.git mbmail
    ec$ cd mbmail
    ec$ git checkout 654ce3ec2dfa10ac3b05cd9354eb84456d206a6d
    ec$ rm -fr lib/jpmobile
    ec$ rm -fr .git
    ec$ cd ../../..
    ec$ ruby script/plugin install git://github.com/jamesgolick/resource_controller.git
    ec$ cd vendor/plugins/
    ec$ git clone  git://github.com/mislav/will_paginate.git
    ec$ cd will_paginate/
    ec$ git checkout origin/2-3-stable
    ec$ cd ../../..
    ec$ ruby script/plugin install git://github.com/kakutani/yaml_waml.git
    ec$ ruby script/plugin install git://github.com/rails/ssl_requirement.git
    ec$ ruby script/plugin install git://github.com/DianthuDia/double_submit_protection.git
    ec$ ruby script/plugin install git://github.com/champierre/image_submit_tag_ext.git
    ec$ ruby script/plugin install git://github.com/dchelimsky/rspec-rails.git -r 'tag 1.2.9'
    ec$ ruby script/plugin install git://github.com/dchelimsky/rspec.git -r 'tag 1.2.9'
    

    13. データベースのセットアップ

    データベースにエレコマ用のテーブルとカラムを用意します。

    ec$ cd /usr/local/elecoma
    ec$ rake db:migrate RAILS_ENV=production
    

    14. Apache2 と Passenger のインストール

    今回はウェブサーバに Apache2 を、アプリケーションサーバには Passenger を採用しました。

    この他の、たとえば nginx + Unicorn などの組み合わせでも導入は可能です。

    # apt-get -y install apache2
    # apt-get -y install build-essential libcurl4-openssl-dev
    # gem install passenger
    # passenger-install-apache2-module
    

    15. Apache2 の設定

    アプリケーションサーバとの連携を行うための設定を施します。

    バージョンの違いや、エレコマのインストール先ディレクトリによって記述に違いが出るので注意してください。

    # cat > /etc/apache2/httpd.conf
    LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.12/ext/apache2/mod_passenger.so
    PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.12
    PassengerRuby /usr/local/bin/ruby
    
    # cat > /etc/apache2/conf.d/ec.conf
    
      ServerName ec.example.com
      DocumentRoot /usr/local/elecoma/public
      RailsEnv production
      
        AllowOverride all
        Options -MultiViews
      
    
    

    16. Apache2 の再起動

    設定を反映するために Apache2 を再起動します。

    もしかしたら reload だけでも良いかもしれませんが試してません。

    # /etc/init.d/apache2 restart
    

     インストール完了

    お疲れ様でした!

    以上の手順をもって、エレコマのインストールは完了です。

    (ブラウザからアクセスすると、エレコマのデモサイトが閲覧できます)

    次回はインストール後の初期設定について書きます。

    記事を共有
    モバイルバージョンを終了