ようへいの日々精進XP

よかろうもん

Debian に Ruby on Rails を設定する一部始終

要件

環境

手順

手順整理

  1. インストール済みの Ruby のバージョン確認
  2. Ruby のバージョンアップ
  3. Rails のインストール
  4. 動作確認

ということで、やってみよー!

インストール済みの Ruby のバージョン確認

  • バージョン確認
ruby -v

こんな感じ。

ruby 1.8.7 (2010-08-16 patchlevel 302) [x86_64-linux]

分かっちゃいたけど、Ruby のバージョンがかなり古いですね...

  • パッケージにはありませんかな?
apt-cache search ruby

残念ながら...要件に合わず。

ruby1.9.2

Ruby のバージョンアップ

  • 最新の Ruby を取得
wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p392.tar.gz
  • コンパイルしてインストール
tar zxvf ruby-1.9.3-p392.tar.gz
cd ruby-1.9.3-p392
./configure
make
sudo make install
  • バージョンアップの確認
ruby -v
ruby 1.9.3p392 (2013-02-22) [x86_64-linux]

rails のインストール

  • いきなり gem install rails
No such file to load -- zlib (LoadError)

というエラーが出てしまう。

  • zlib の開発ツールをインストール
sudo aptitude install zlib1g-dev
  • エラーの改善
cd /tmp/ruby-1.9.3-p392/ext/zlib
ruby extconf.rb --with-zlib-include=/usr/include --with-zlib-lib=/usr/lib
make
sudo make install
  • 気を取り直して rails のインストール
gem install rails
  • 確認
rails -v

一応、インストール done。

Rails 3.2.13

gem 実行時のワーニング対処

  • gem を叩くと以下のようなワーニングが出てしまう
/usr/local/lib/ruby/1.9.1/yaml.rb:56:in `<top (required)>':
It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your ruby.
  • ワーニングメッセージを元に libyml をインストール
wget http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz
tar -zxvf yaml-0.1.4.tar.gz
cd yaml-0.1.4
./configure 
make
make install
  • Ruby を再インストール
cd ruby-1.9.3-p392
make clean
./configure
make
make install
  • 動作確認
ruby -v
ruby 1.9.3p392 (2013-02-22) [x86_64-linux]
gem -v
1.8.23

動作確認

rails でテストアプリケーションを構築
  • rails new newapp する
rails new newapp
  • openssl 関連のエラーが出る
Cannot load such file -- openssl (LoadError)

対策を施す

aptitude install libssl-dev
cd /tmp/ruby-1.9.3-p392/
cd ext/openssl
ruby extconf.rb
make
make install
  • sqlite3 関連のエラーが出るので対策を施す
aptitude install libsqlite3-dev
  • bundle install すると、以下のようなエラーが出るので対策施す
Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes.

Gemfile を修正する

vim newapp/Gemfile

以下を追記する

gem 'execjs'
gem 'therubyracer'
bundle install

アプリケーションサーバーを起動

rails s

無事に起動しましたとさ。
f:id:inokara:20130323132715p:plain

まとめ

導入手順

  • libyml のインストール
    • gem 叩くとワーニングが出るので
  • Ruby のバージョンアップ
  • rails のインストール
    • 要 zilb 周りの設定
  • rails 動作確認
    • 要 openssl 周りの設定
    • 要 sqlite3 周りの設定

一言

  • やっぱり Rails は面倒だと思ふ。
  • chef で一発導入を試してみるつもり。
  • Unicorn(HTTP サーバー)も試してみるつもり。