• DoRubyとは
  • お問い合わせ
  • Ruby/Rails
  • Web開発
  • Webマーケティング
  • アピリッツ
  • ライフハック
  • ゲーム制作/開発
  • Railsの小技
  • Rubyの小技
  • Gemの紹介
  • ActiveRecord
  • 初心者向け
  • Java/Scalaテク
  • Unixのあれこれ
  • データベース
  • スマホ開発
  • HTML/CSS/JavaScript
  • デザイン製作
  • インフラ
  • クラウド
  • セキュリティ
  • エディタ
  • バージョン管理
  • その他
  • python
  • アクセス解析
  • Googleアナリティクス
  • Googleデータスタジオ
  • Web広告
  • SEO
  • UI/UX
  • ソーシャルメディア
  • EC開発
  • Webシステム開発
  • コンサルティング
  • Webデザイン
  • ブロックチェーン
  • ゲーム紹介
  • アプリ紹介
  • ASP
  • 風景
  • パソコン
  • ツール
  • ガジェット
  • 仕事術
  • 健康
  • 生活
  • 書評
  • Excel(エクセル)
  • PowerPoint(パワーポイント)
  • ゲームプランニング
  • SpriteStudio
  • マスターデータ入力/作成
  • Unity
  • キャラクターデザイン
  • ゲームシナリオ
  • レベルデザイン
  • ゲーム分析
  • 3DCG
  • イラスト制作
  • CG/アニメーション
  1. ホーム
  2. アピリッツ
  3. EC開発
  4. エレコマの導入手順@FreeBSD
  • 2012-10-22
    • カテゴリ:
    • EC開発

エレコマの導入手順@FreeBSD

この記事は公開から1年以上が経過しています。情報が古い可能性がありますのでご注意ください。

よしだです。

2週連続の投稿となる今回は、前回予告した通り FreeBSD へのエレコマの導入手順を紹介したいと思います。

0. Ports Collection + Ruby on Rails のインストール

今回はこの部分の説明を割愛します。

前回の記事『FreeBSD に任意バージョンの Ruby on Rails を導入する』が参考になると思います。


1. ImageMagick のインストール

まずは エレコマの商品画像処理に使われている ImageMagick を導入していきます。

今回はインストール前の設定で SVG ライブラリをインストールしないようにオプションから外しています。

これは SVG ライブラリインストールの際に GTK および X Window System が必要になって、不要な時間・ディスク容量を費やすのを避けるためです。

# cd /usr/ports/graphics/ImageMagick
# make config-recursive
(ここで ImageMagick の SVG オプションを解除)
# make install clean

2. PostgreSQL のインストール

今回 DB にはエレコマで公式サポートしている PostgreSQL を利用することにします。

サポートはされていませんが、MySQL での導入も可能です。

# cd /usr/ports/databases/postgresql83-server
# make install clean
# echo 'postgresql_enable="YES"' >> /etc/rc.conf
(次回ブート時に自動起動)
# /usr/local/etc/rc.d/postgresql initdb
(DB設定などがない状態なので、このコマンドで初期化)
# /usr/local/etc/rc.d/postgresql start
(サービス開始)

3. git のインストール

エレコマの最新ソースコードは GitHub から入手可能です。

ここではダウンロードに必要なバージョン管理ツール git をインストールしておきます。

# cd /usr/ports/devel/git
# make config-recursive
# make install clean

4. 必要な Gem のインストール

エレコマに必要となる Gem をインストールします。

一部古いバージョンの Gem も含まれますが、互換性を考え、README に合わせてインストールするのが無難でしょう。

# gem install rmagick -v 2.12.2
# gem install postgres
# gem install gettext -v 2.1.0
# gem install gruff -v 0.3.6
# fetch 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

5. 一般ユーザに切り替え

ここでエレコマを実際に動かすことになる一般ユーザに切り替えます。

今回は ec というユーザを作成し、このユーザの権限の元でエレコマを実行させます。

# pw useradd ec -m
# passwd ec
(パスワードは適当に elecoma を設定)
# su - ec

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

一般ユーザに切り替えたところで、早速エレコマ本体をダウンロードします。

% git clone git://github.com/elecoma/elecoma.git
% cd elecoma

7. DB 設定をFreeBSD 向けに変更

次にデータベースの設定を FreeBSD に合わせて変更していきます。

エレコマの設定は CentOS に最適化されているので、PostgreSQL のデフォルトのユーザ名など、細かいところに相違があるようです。

% id postgres
id: postgres: no such user
(CentOS 版 PostgreSQL のデフォルトユーザ名 postgres が存在しない?!)
% id pgsql
uid=70(pgsql) gid=70(pgsql) groups=70(pgsql)
(FreeBSD では pgsql という名前で登録されています)

早速この点に修正を加えます。

% cp config/database.example.yml config/database.yml
% vim config/database.yml
(「portgres」となっている部分を「pgsql」に変更)
% diff config/database.yml config/database.example.yml
3c3
<   username: pgsql
---
>   username: postgres

8. 各種プラグインのインストール

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

これも Gem と同様に、一部古いプラグインが含まれますが、ここでは動作の安全性を優先します。

この部分は、ほぼ README のコピペになるので、リンク切れ等があるばあいは適宜修正して利用してください。

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

9. DBを作成する……しかし……

ここまできたら、次は DB の作成! となるのですが、どうやらうまく実行できないケースがあるようです。

今回インストールを試した環境では、下記のようなエラーが発生し、DB の作成が失敗してしまいました。

% rake db:create
WARNING: 'require 'rake/rdoctask'' is deprecated.  Please use 'require 'rdoc/task' (in RDoc 2.4.2+)' instead.
    at /usr/local/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/rdoctask.rb
rake aborted!
no such file to load -- iconv

エラーによれば iconv というライブラリが不足しているようなので、これをインストールします。

ここで注意点は、iconv そのものではなく、Ruby 向けの ruby-iconv をインストールしなければならないことです。

% exit
# cd /usr/ports/converters/ruby-iconv
# make install
# su - ec

無事にインストールが終われば、ec ユーザに戻り、もう一度 DB 作成に挑戦します。


10. あらためて DB 作成を作成する

必要なライブラリを揃えたところで、もう一度 DB の作成を実行します。

今度はうまくいき、DBの作成に成功します(※1)。

% rake db:create

11. DB を初期化する

データベースにテーブルを作成します。

また、管理画面へのアクセスに必要な管理者情報も、この段階でデータベースに登録しておきます。

% rake db:migrate
% rake db:fixtures:load FIXTURES=admin_users

12. エレコマを起動する!

最後に Rails の簡易サーバを利用して、エレコマを立ち上げます。

% ruby script/server

http://<エレコマをインストールしたマシンのIPアドレス>:3000/ にアクセスすると、エレコマのトップページが確認できます!



■ 最後に

今回は史上初となる(?)エレコマの FreeBSD への導入とその手順を紹介しました。

エレコマに関する設定や細かいインストール手順をかなり端折って説明しているので、詳しい説明については下記の関連記事を参照していただければ幸いです。


  1. ECサイト構築パッケージ「エレコマ」のインストール手順@Ubuntu 10.10
  2. ECサイト構築パッケージ「エレコマ」の初期設定@Ubuntu 10.10


■ 備考

※1 DB 作成時に発生する WARNING への対処

手順 10. の段階で DB の作成には成功しますが、下記のような WARNING が出力されてしまいます。

% rake db:create
WARNING: 'require 'rake/rdoctask'' is deprecated.  Please use 'require 'rdoc/task' (in RDoc 2.4.2+)' instead.
    at /usr/local/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/rdoctask.rb
WARNING: Global access to Rake DSL methods is deprecated.  Please include
    ...  Rake::DSL into classes and modules which use the Rake DSL methods.
WARNING: DSL method Spec::Rake::SpecTask#task called at /home/ec/elecoma/lib/tasks/rspec.rake:15:in `initialize'
(以下略)

どうやらこれは rake 0.9 と Rails 2 の相性が悪いことに起因するもののようです。

そういうわけで rake をダウングレードしてみます。

% rake --version
rake, version 0.9.2.2
(このバージョンと Rails の相性が悪いらしい)
% exit
# gem uninstall rake
(本当に消しても良いか、と聞かれるので Y[Enter] で続行)
# gem install rake -v=0.8.7
# su - ec
% rake db:create

ダウングレード後にDB 作成を実行すると、今度は WARNING が出力されず、無事に DB が作成できます。


  • 180 views
    • Tweet
    • このエントリーをはてなブックマークに追加

この記事を書いた人
サイバーよしだ
プログラミングやサーバ構築の場面で役立つことを書いていければ良いなと思います。 hyoshida.github.io

「いいね!」するとDoRubyの最新記事を受け取ることができます。

Facebook

Twitterから最新記事を受け取るならこちら

Follow @doruby

Feedlyから最新記事を受け取るならこちら

follow us in feedly

おすすめの記事
  • 2,260 views
  • 2016-07-27
リニューアルをしたDoRubyの3つの目的
  • 1,741 views
  • 2017-04-24
アピリッツの新卒合宿2017

カテゴリ

Ruby/RailsRailsの小技Rubyの小技Gemの紹介ActiveRecord初心者向けWeb開発Java/ScalaテクUnixのあれこれデータベーススマホ開発HTML/CSS/JavaScriptデザイン製作インフラクラウドセキュリティエディタバージョン管理その他pythonWebマーケティングアクセス解析GoogleアナリティクスGoogleデータスタジオWeb広告SEOUI/UXソーシャルメディアアピリッツEC開発Webシステム開発コンサルティングWebデザインブロックチェーンゲーム紹介アプリ紹介ASP風景ライフハックパソコンツールガジェット仕事術健康生活書評Excel(エクセル)PowerPoint(パワーポイント)ゲーム制作/開発ゲームプランニングSpriteStudioマスターデータ入力/作成Unityキャラクターデザインゲームシナリオレベルデザインゲーム分析3DCGイラスト制作CG/アニメーション

    人気の記事
    最近の記事
    • 3,503 views
    • 2020-04-02
    Kali Linux 2020.2 導入と日本語化
    • 802 views
    • 2020-03-06
    rack-lineprofを改造して管理画面からファイル指定&ログ追跡出来るように
    • 779 views
    • 2020-03-05
    FactoryBot と Gimei を使って架空のユーザを作る
    • 580 views
    • 2020-02-04
    ActionCable実装しようwith webpack
    • 511 views
    • 2020-01-27
    この頃のプルリクに対するレビュー
    Facebook

      サイト情報
      • DoRubyとは
      • 株式会社アピリッツ

      ソーシャルアカウント
      • Facebook
      • Twitter

      企業情報
      • 会社概要
      • 採用情報
      • お問い合わせ
      サービス製品
      • レコメンドASP
      • サイト内検索ASP「Advantage Search」
      • オープンソースECサイト構築パッケージ「エレコマ」
      • 受注・在庫・商品情報一元管理「モールコネクター」
      • セキュリティ診断サービス
      • Googleアナリティクスセミナー

      Copyright © Appirits All Rights Reserved.