| 環境 | |
|---|---|
| CentOS | 5.5 |
| Apache | 2.2.3 |
| Phusion Passenger | 2.2.15 |
| MySQL | 5.0.77 |
| Ruby | 1.8.7 (2010-08-16 patchlevel 302) [x86_64-linux] |
| Rails | 2.3.8 |
| RubyGems | 1.3.7 |
Rubyのインストール
RubyとRubyGemsはソースコードから最新版をインストールするので、yumでインストールされているRubyは削除しておきます。
# yum remove ruby
zlib-develはRubyGemsをビルドするとき、openssl-develはRailsを実行するときに必要になるので、あらかじめインストールしておきます。
# yum -y install gcc zlib-devel openssl-devel
もしSQLiteを使うなら、sqliteとsqlite-develもインストールしておきます。
# yum -y install sqlite sqlite-devel
Rubyをソースコードからインストールします。最新版は本家のサイトからダウンロードできます。
# cd /usr/local/src ruby-1.8.7-p249.tar.gzはこの記事を書いた時点での最新版なので、適宜変更してください。 # wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p249.tar.gz # tar zxvf ruby-1.8.7-p302.tar.gz # cd ruby-1.8.7-p302 # ./configure # make # make test # make install
デフォルトでは/usr/local/bin/rubyにインストールされます。必要であれば/usr/bin/rubyにシンボリックリンクを作成します。
# ln -s /usr/local/bin/ruby /usr/bin/ruby # ruby -v
RubyGemsをソースコードからインストールします。最新版はRubyForgeからダウンロードできます。
# cd /usr/local/src rubygems-1.3.7.tgzはこの記事を書いた時点での最新版なので、適宜変更してください。 # wget http://rubyforge.org/frs/download.php/70696/rubygems-1.3.7.tgz # tar zxvf rubygems-1.3.7.tgz # cd rubygems-1.3.7 # ruby setup.rb # gem -v
念のため、RubyGemsのシステムアップデートを行っておきます。
# gem update --system
Railsのインストール
Railsをインストールします。
# gem install rails
デフォルトではRails 3がインストールされます。2.x系を使いたいときは、バージョンを指定してインストールします。
# gem install rails --version=2.3.8
Phusion Passengerのインストール
Phusion Passengerをインストールします。
# gem install passenger
Apacheモジュールのビルドとインストールを行います。作業は対話的に進んでいきます。最初は
- Apache 2 development headers
- Apache Portable Runtime (APR) development headers
- Apache Portable Runtime Utility (APU) development headers
の3つが足りないと言われました。
# passenger-install-apache2-module Checking for required software... * GNU C++ compiler... not found * Ruby development headers... found * OpenSSL support for Ruby... found * RubyGems... found * Rake... found at /usr/local/bin/rake * rack... found * Apache 2... found at /usr/sbin/httpd * Apache 2 development headers... not found * Apache Portable Runtime (APR) development headers... not found * Apache Portable Runtime Utility (APU) development headers... not found Some required software is not installed. But don't worry, this installer will tell you how to install them.
足りないソフトウェアをインストールする方法も教えてくれるので、その指示に従ってインストールします。Apache Portable Runtime Utility (APU)はインストールしなくても大丈夫でした。APRと一緒にインストールされたのかもしれません。
# yum install gcc-c++ # yum install httpd-devel # yum install apr-devel
もう一度、Apacheモジュールのビルドとインストールを行います。今度は成功しました。
# passenger-install-apache2-module
最後に、Apacheの設定ファイルに追記する内容が表示されるので、メモしておきます。ここではhttpd.confとは別にmod_rails.confを作成しました。
# vim /etc/httpd/conf.d/mod_rails.conf
LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.15/ext/apache2/mod_passenger.so PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.15 PassengerRuby /usr/local/bin/ruby
バーチャルホストの設定例も表示されるので、メモしておきます。
ServerName www.yourhost.com DocumentRoot /somewhere/public # <-- be sure to point to 'public'! AllowOverride all # <-- relax Apache security settings Options -MultiViews # <-- MultiViews must be turned off
Apacheを再起動して、これでRailsアプリケーションを動かす準備ができました。
# /etc/rc.d/init.d/httpd restart