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をインストールしていれば不要かもしれない。
sudo apt-get install libopenssl-ruby #libss-devをインストールしていれば不要かもしれない。
インストールされたかテスト
$ irb
irb(main):001:0> require 'openssl'
=> true #trueになればOK
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
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
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などがなければ追加する。/usr/local/bin:/usr/local/bin:....
vi ~/.bashrc
export PATH=/usr/local/sbin
source ~/.bashrc
「Railsデプロイ P63export PATH=/usr/local/sbin
source ~/.bashrc
■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
# 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
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
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
=>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
参考書籍:
【関連エントリー】