SlicehostにRailsをインストール

SlicehostにRailsをインストールした時の記録。

Ruby、Rubygems、Rails、Mongrel、Mongrel Clusters、Apache

のインストール完了まで。

環境は
プラン:512slice
OS:Ubuntu 8.04.2 LTS Hardy

■MySQLのインストール


Slicehost Articles: Ubuntu Hardy - Installing MySQL (with Rails and PHP options)を参考に。
sudo aptitude install mysql-server mysql-client libmysqlclient15-dev
最後にrootのパスワードを2回入力して設定。

■Rubyインストール前の確認


1.8.6をインストールするので、ソースからビルドする。
Rubyをソースからビルドする場合、事前にopensslをインストールしておかないとmongrelやWEBrick起動時に
/usr/local/lib/ruby/gems/1.8/gems/rails-2.2.2/lib/initializer.rb:259:in `require_frameworks': no such file to load -- openssl (RuntimeError)
というエラーに悩まされるはめになる。
もうRubyインストールしてしまった場合は、opensslをインストール後に再度ビルドする。

また、ビルドしたRubyはUbuntuのRubyパッケージとの互換性がないため、MySQLやRMagickのgemをインストールする際はapt-getではなくgemコマンドを使う必要があるとのこと。「RailsデプロイP63」参照

■opensslのインストール

sudo apt-get install libssl-dev #Ubuntuの場合。
sudo apt-get install libopenssl-ruby #libss-devをインストールしていれば不要かもしれない。

インストールされたかテスト
$ irb
irb(main):001:0> require 'openssl'
=> true #trueになればOK

■Rubyのインストール


xxxはパッチレベル
wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6-xxx.tar.gz
tar xvfx ruby-1.8.6-xxx.tar.gz
cd ruby-1.8.6-xxx
./configure
make
sudo make install

確認
ruby -v
ruby 1.8.6 (2009-xx-xx patchlevel xxx) #となればOK

PATHの確認
echo $PATH
/usr/local/bin:/usr/local/bin:....
/usr/local/bin、/usr/local/sbinなどがなければ追加する。

vi ~/.bashrc
export PATH=/usr/local/sbin
source ~/.bashrc
Railsデプロイ P63」参照

■Rubygemsのインストール


参考:Slicehost Articles: Ubuntu Hardy - Ruby on Rails
# wget http://rubyforge.org/frs/download.php/45905/rubygems-1.3.1.tgz
# tar xzf rubygems-1.3.1.tgz
cd rubygems-1.3.1
sudo ruby setup.rb

■sqlite3のインストール

sudo apt-get install libsqlite3-dev
sudo apt-get install libsqlite3-ruby
sudo gem install sqlite3-ruby


■Railsのインストール

sudo gem install rails -v 2.2.2

■MySQL gemのインストール

sudo aptitude install libmysql-ruby1.8

Rubyをソースからビルドした場合gemコマンドでインストールする必要がある。
sudo gem install mysql

試してみる。
irb
irb(main):001:0> require 'mysql'
LoadError: no such file to load -- mysql
from (irb):1:in `require'
from (irb):1
irb(main):002:0> exit

そのままrequireだとエラーとなる。
rubygemsをrequireしてからだとOK
irb(main):001:0> require 'rubygems'
=>true
irb(main):002:0> require 'mysql'
=>true

■Mogrelのインストール


参考:Slicehost Articles: Ubuntu Hardy - mongrel and mongrel clusters
sudo gem instal mongrel --no-rdoc --no-ri

試しに起動して、エラーが出なければOK
mongrel_rails start -e production -p 6000

no such file to load -- openssl (RuntimeError)
となる場合は最初の説明の通りopensslを先にインストールしてからRubyをビルド。

■Mogrelクラスターのインストール

sudo gem install mongrel_cluster --no-rdoc --no-ri

■Apacheのインストール


参考:Slicehost Articles: Ubuntu Hardy - installing Apache and PHP5
sudo aptitude install apache2 apache2.2-common apache2-mpm-prefork apache2-utils libexpat1 ssl-cert

sudo vi /etc/apache2/apache2.conf
で設定ファイルを開き、最後の行に
Servername demo
※demoはSliceのホスト名
最後に
sudo apache2ctl graceful
をして、SlicehostのIPアドレス(http://123.456.789)をブラウザで表示して
It works!
というHTMLが表示されればOK。

ちなみにApacheの停止は
sudo apache2ctl stop


なにかおかしいときは
sudo vi /var/log/apache2/error.log
でエラーログをチェック。
Slicehost
参考書籍:
Railsデプロイ

Railsデプロイ

  • 作者: Ezra Zygmuntowicz
  • 出版社/メーカー: オライリージャパン
  • 発売日: 2009/03/16
  • メディア: 大型本


【関連エントリー】
posted by digital-squad at 2009年09月09日 17時05分 | Comment(1) | TrackBack(0) | Ruby on Rails / Ruby
この記事へのコメント
gem周りがうまくいかず困っていたのですが、こちらの通りにやったらうまくいきました。ありがとうございます。
Posted by ken at 2010年11月23日 10:18
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/127664788
※ブログオーナーが承認したトラックバックのみ表示されます。
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック