目次
- ■ 概要
- ■ 環境
- ■ インストール手順
- 0. パッケージリストのアップデート(必ず行ってください!)
- 1. Ruby のインストール
- 2. RubyGems のインストール
- 3. ImageMagick のインストール
- 4. Rmagick のインストール
- 5. その他の依存 Gem のインストール
- 6. PostgreSQL のインストール
- 7. ユーザの作成
- 8. Git のインストール
- 9. エレコマのダウンロード
- 10. PostgreSQL のセットアップ
- 11. エレコマのセットアップ
- 12. プラグインのインストール
- 13. データベースのセットアップ
- 14. Apache2 と Passenger のインストール
- 15. Apache2 の設定
- 16. Apache2 の再起動
- ■ インストール完了
この記事はアピリッツの技術ブログ「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
■ インストール完了
お疲れ様でした!
以上の手順をもって、エレコマのインストールは完了です。
(ブラウザからアクセスすると、エレコマのデモサイトが閲覧できます)
次回はインストール後の初期設定について書きます。