最近、お客様より顧客管理システムのお話をいただき、そのお話の提案材料として、
以前より気になっていたFat Free CRMを検証してみました。


このアプリケーションを知ったきっかけは、オープンソースの情報を多数取り上げているMOONGIFTさんの紹介記事

どうやら日本語翻訳されたものはなさそうです。
まぁ、その辺りはどうにかするとして、まずはFat Free CRMのソースをGETします。

ソースファイルは↓のFat Free CRM配布サイトから入手できます。
http://github.com/michaeldv/fat_free_crm/downloads

とりあえず最新のファイルをダウンロードして、社内の開発用サーバに突っ込んでみました。





Rubyが入っていませんでしたorz


ということで、まずはRubyの環境構築からやらなくてはいけなくなりました。
ぶっちゃけてしまうと私、Rubyには初めて触れます。Ruby童貞です。
四の五の言ってもしょうがないので、Ruby環境を作ることにしました。

まずはRubyのコアを入手してサーバにインストールします。
Rubyのソースファイルは↓の配布サイトから入手できます。
http://www.ruby-lang.org/ja/downloads/

配布サイトからruby 1.8.7を入手します。
(実は最初に1.9.1で試したのですが、後述するRubyGemの挙動がおかしくなったので)

yumでもインストールできますが、当方の環境はCentOSを利用しており、現時点のCentOSではruby 1.8.1が入ってしまうので、ソースからインストールを行います。

ダウンロードしてきたら、サーバにインストールしましょう。
tar.gzファイルをサーバの適当なディレクトリにアップロードします。
アップロードが完了したら、早速インストール開始です。

# tar xvzf ruby-1.8.7-p174.tar.gz
# cd ruby-1.8.7-p174
# ./configure --prefix=<自身の環境にあったパスを指定>

configureが終わったらmake
# make

makeが終わったらインストール
# make install

インストールが終わったら、正常にインストールできているか確認
# ruby -v
ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-linux]
 

これでRubyのコアがインストールできました。


次に、Ruby on Rails環境に必要なものをインストールします。
必要なものはRubyGemです。
↓の配布元からRubyGemのソースファイルを入手します。
http://rubyforge.org/frs/?group_id=126

配布サイトからは最新版の1.3.4をダウンロードします。
(この記事を書いている間に1.3.5がリリースされました)

Rubyコアと同じく、適当なディレクトリにアップロードしてインストールを開始します。

# tar xvzf rubygems-1.3.4.tgz
# cd rubygems-1.3.4
# ruby setup.rb

正常にインストールされたか確認
# gem -v
1.3.4
 

これでRubyGemのインストールが完了しました。
意外とあっさり。


そして、gemからRailsをインストールします。
Ruby on Railsの環境構築って意外と長いのね。

# gem install rails

正常にインストールされたか確認
# rails -v
2.3.2
 

railsのインストールはこれだけです。
当方の環境では、rails 2.3.2がインストールされました。


これでようやくRuby on Rails環境が整いました。
でもその前に、Rails用のMySQLアダプタをインストールします。
RailsアプリケーションでMySQLとコネクトする場合は、これが必要なようです。
というわけで、さくっとインストール。

# gem install mysql -- --with-mysql-config=<自身の環境にあったパスを指定>

インストールされたか確認
# gem list
actionmailer (2.3.2)
actionpack (2.3.2)
activerecord (2.3.2)
activeresource (2.3.2)
activesupport (2.3.2)
mysql (2.7)         ←ここに表示されればOK
rails (2.3.2)
rake (0.8.7)
 

ここまで特に問題なく進めば、無事にRuby on Railsの環境が整いました。


さて、ようやく本題です。
Fat Free CRMをセットアップしましょう。

まず、冒頭で入手したFat Free CRMのソースをサーバにアップロードし、ファイルを展開します。
インストール手順を確認すると、次はFat Free CRMのdatabase.ymlを作成するようです。
Railsアプリケーションの基本っぽいです。

# cd fatfreecrm/
# cp config/database.mysql.yml config/database.yml

複製してできたdatabase.ymlを開く
# vi config/database.yml

developmentの中の以下の部分を自分の環境に合わせて変更
host:
username:
password:
socket:
 

インストール手順によると、MySQLが5.1.6未満か以上で、指定するMySQLユーザーの条件が違うようです。



前準備が整ったので、インストール作業に入ります。

# rake db:create
 

このコマンドで、Fat Free CRMが使うDBが作られ・・・

Couldn't create database for {
 "encoding"=>"utf8",
 "username"=>"******",
 "adapter"=>"mysql",
 "database"=>"fat_free_crm_development",
 "pool"=>5,
 "password"=>#,
 "socket"=>"/tmp/mysql.sock"
},
charset: utf8,
collation: utf8_general_ci(if you set the charset manually, make sure you have a matching collation)
 

ませんでしたorz

DBを確認しても作成されていないので、完全に失敗した模様。
えー・・・。

そして、ここからハマります。。。


(後編に続く)