Using jQuery with Rails3 on CentOS 5.6

Rails 3.0.7 は default で prototype を使うんだけど jQuery を使うように変更する手順のまとめ。ちなみに Rails 3.1 は jQuery が default になるらしいのでそのうちこの手順もいらない子になる。あとなんか使う gem が Rails3 だと jquery-rails 、 Rails2 だと jrails らしい。

先頭が # の command は root で、 > の command はそれ以外の user で打つ。

まず必要な gem の install から。

  1. # gem install jquery-rails

appname という名前の実際の app の設定は以下。

  1. > rails new appname
  2. > cd appname
  3. > echo "gem 'jquery-rails'" >> Gemfile
    • Gemfile に使う gem を指定する。
  4. > bundle check
  5. > rails generate jquery:intall
    • prototype を消して jQuery を install 。
  6. > sed -i -e '/javascript/s/%w()/%w(jquery.min rails)/'
    • jQuery が読み込まれるように link 要素を追加する設定。

これで終了。

Beginning Ruby on Rails3 on CentOS 5.6

RoR3 をはじめる準備としてとりあえず以下をやっておけばおk。

で、 Rails 自体の install は root で以下の command を打てば終了する。

これだけじゃあれなので、 app を作るときの初期手順をまとめておこう。

  1. > rails new appname
    • appname が app の名前。
  2. > cd appname
  3. > bundle check
  4. > bundle install
    • bundle check で足りないものがあると言われた場合に実行する。ただし、 sudoers に載ってる user じゃないと system への install ができないので注意。もしくは root で明示的に gem install missing-gem と打って install してしまうのが早いかも。

これで app を作る準備が整った。

さらに version 管理をしたい場合は git で行うのが楽。というのも "rails new" で app をつくると .gitignore とか git まわりの file も一緒に生成されるので。上記の command 群を実行したあとに以下を行えばおk。

  1. > git init
  2. > git add .
  3. > git commit -m 'Initialize'

Installing RubyGems on CentOS 5.6

Ruby を入れると RubyGems も一緒に入るんだけど 1.3.2 とかで version 低いのでこっちも手動で install 。いや gem update --system でもできるんだけど、せっかく Ruby 本体を checkinstall でつっこんだのでこっちも checkinstall 経由にする。…これでいいのかはわからないけど。

例によって先頭が # の場合 root で、 > の場合それ以外の user で打つ。

  1. > cd
  2. > mkdir src
    • ない場合に作る。
  3. > cd src/
  4. > wget http://rubyforge.org/frs/download.php/74619/rubygems-1.7.2.tgz
  5. > tar xzvf rubygems-1.7.2.tgz
  6. > cd rubygems-1.7.2
  7. # checkinstall ruby setup.rb
    • ln -s /usr/local/lib/installwatch.so /usr/local/lib64/ してるとこれが通らない。 "Copying file to the temporary directory" の部分で止まる。ので一時的に rm /usr/local/lib64/installwatch.so して通す。 error 出てるけど使ってる分には問題ないのでとりあえずで。
    • Sumarry に "RubyGems 1.7.2" 、 Requires に "ruby-1.9.2" を指定。
  8. # rpm -ivh /usr/src/redhat/RPMS/x86_64/rubygems-1.7.2-1.x86_64.rpm

てな感じで。

Installing SQLite on CentOS 5.6

Rails いじるのに default の DBMS である SQLite があったほうが何かと楽だと判断したので install 。ただ、 yum だと 3.3.6 で古くて sqlite3-ruby gem が install できないので最新の version を source から入れる。

先頭が # は root で、 > はそれ以外で打つ command 。

  1. > cd
  2. > mkdir src
    • ない場合に作る。
  3. > cd src/
  4. > wget http://www.sqlite.org/sqlite-autoconf-3070602.tar.gz
  5. > tar xzvf sqlite-autoconf-3070602.tar.gz
  6. > cd sqlite-autoconf-3070602
  7. > ./configure
  8. > make
  9. # checkinstall
    • Summary には "SQLite 3.7.6.2" と指定。ほかは default 。
  10. # rpm -ivh /usr/src/redhat/RPMS/x86_64/sqlite-autoconf-03070602-1.x86_64.rpm

Installing Ruby 1.9.2 on CentOS 5.6

Ruby 拡張の rpm 作成時に Requires を指定するようにしてみた。

連休ということで Ruby on Rails に手を出すためにまずは Ruby の install から。なんか 1.8 系と 1.9 系でいろいろ変わったらしいんだけどいままでまともに Ruby 触ったことないので 1.9 系を選択。

でも yum だと入る version が 1.8.5 なので自前で compile する。のにあわせて念のための checkinstall もするので前準備としていれておく -> http://d.hatena.ne.jp/janus_wel/20110503/1304450271

各 command の先頭に # がある行は root 、 > がある行はそれ以外の user で打つ。

  1. > cd
  2. > mkdir src
    • ない場合のみ作成。
  3. > cd src/
  4. > wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p180.tar.bz2
  5. > tar xjvf ruby-1.9.2-p180.tar.bz2
  6. > cd ruby-1.9.2-p180/
  7. > ./configure
  8. > make
    • 非力な machine だとかなり時間がかかる。さくら VPStime make で測ってみたら "real 25m19.254s", "user 21m40.649s" とか出てきた。なんか code とか doc とかの生成に時間かかってるみたい。仕掛けたら他のことやるのがいいね。
  9. # checkinstall
  10. # rpm -ivh /usr/src/redhat/RPMS/x86_64/ruby-1.9.2-p180-1.x86_64.rpm

これで ruby -v で version が出てくれば OK 。本体終了。

次、 Ruby はいろいろと拡張があるらしく、 Rails で必要になるものをあらかじめ install しておく。まず zlib 。

  1. # yum install zlib-devel
  2. > cd ~/src/ruby-1.9.2-p180/ext/zlib/
  3. > ruby extconf.rb --with-zlib-include=/usr/include -with-zlib-lib=/usr/lib
  4. > make
  5. # checkinstall
    • Summary に "zlib extension for ruby 1.9.2 p180" 、 Name に "ruby-ext-zlib" 、 Version に "1.9.2" を指定してみた。
    • Summary に "zlib extension for Ruby 1.9.2 p180" 、 Name に "ruby-1.9.2-ext-zlib" 、 Version に "p180" 、 Requires に "ruby-1.9.2" を指定してみた。
  6. # rpm -ivh /usr/src/redhat/RPMS/x86_64/ruby-ext-zlib-1.9.2-1.x86_64.rpm
  7. # rpm -ivh /usr/src/redhat/RPMS/x86_64/ruby-1.9.2-ext-zlib-p180-1.x86_64.rpm

最後、 openssl 。

  1. # yum install openssl-devel
  2. > cd ~/src/ruby-1.9.2-p180/ext/openssl/
  3. > ruby extconf.rb
  4. > make
  5. # checkinstall
    • こっちは Summary に "openssl extension for ruby 1.9.2 p180" 、 Name に "ruby-ext-openssl" 、 Version に "1.9.2" を指定。
    • こっちは Summary に "openssl extension for Ruby 1.9.2 p180" 、 Name に "ruby-1.9.2-ext-zlib" 、 Version に "p180" 、 Requires に "ruby-1.9.2" を指定。
  6. # rpm -ivh /usr/src/redhat/RPMS/x86_64/ruby-ext-openssl-1.9.2-1.x86_64.rpm
  7. # rpm -ivh /usr/src/redhat/RPMS/x86_64/ruby-1.9.2-ext-openssl-p180-1.x86_64.rpm

Installing RPMforge repository on CentOS 5.6

RPMforge repo を追加する設定。 http://d.hatena.ne.jp/janus_wel/20110104/1294102368 だとけっこう無駄があるなぁとか思いつつ。

全部 root で操作ね。

  1. # cd
  2. # rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
  3. # wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
  4. # rpm -K rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
  5. # rpm -ivh rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
  6. # rm rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
  7. # sed -i -e '/^enabled/s/1/0/' /etc/yum.repos.d/rpmforge.repo

Installing checkinstall on CentOS 5.6

ちょいと修正。 checkinstall 自身の rpm 作っても意味ないことに気づいたので削除 & installwatch.so が見当たらないから無視するよ、っていう error 対策。

前、 CentOS 5.5 のときは http://d.hatena.ne.jp/janus_wel/20110104/1294104910 とかやってたんだけどちょっとまだるっこしいのでもっかいまとめ。

先頭に # がある command は root 、 > がある行はそれ以外の user 、たとえば install とか微調整用の "maint" user で打つ。

  1. > cd
  2. > mkdir src
    • src をおいとく directory を作る。作成済みならいらない操作。
  3. > cd src/
  4. > wget http://www.asic-linux.com.mx/~izto/checkinstall/files/source/checkinstall-1.6.2.tar.gz
  5. > tar xzvf checkinstall-1.6.2.tar.gz
  6. > cd checkinstall-1.6.2
  7. > make
  8. # make install
  9. # checkinstall
  10. # rpm -ivh /usr/src/redhat/RPMS/x86_64/checkinstall-1.6.2-1.x86_64.rpm
  11. # ln -s /usr/local/lib/installwatch.so /usr/local/lib64/installwatch.so