パンダのメモ帳

技術系のネタをゆるゆると

Ruby on Rails + Apache 2.2 + FastCGI 環境の構築

CentOS 5.4(x86_64)に Ruby on Rails + Apache 2.2 + FastCGI 環境を構築した際のメモ。

1. 要件

  • Apache 2.2は導入済みであるとする。
  • Ruby は yum でなくソースからインストールする。

構築した環境は下記の通り。

2. Ruby のインストール

rpm版の ruby がインストールされている場合はあらかじめ削除しておく。

[root@localhost ~]# yum -y remove ruby

Rubyのソースを取得してインストールする。2010年2月2日現在の最新版は 1.9.1-p378 だが、今回は安定版の 1.8.7-p249 を選択した。

[root@localhost ~]# cd /usr/local/src
[root@localhost src]# wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p249.tar.gz
[root@localhost src]# tar xvzf ruby-1.8.7-p249.tar.gz
[root@localhost src]# cd ruby-1.8.7-p249
[root@localhost ruby-1.8.7-p249]# ./configure --prefix=/usr
[root@localhost ruby-1.8.7-p249]# make
[root@localhost ruby-1.8.7-p249]# make install

3. RubyGems のインストール

Rails などのRubyモジュール/ライブラリを管理するために RubyGems を導入する。

[root@localhost ~]# cd /usr/local/src
[root@localhost src]# wget http://rubyforge.org/frs/download.php/60718/rubygems-1.3.5.tgz
[root@localhost src]# tar xvzf rubygems-1.3.5.tgz
[root@localhost src]# cd rubygems-1.3.5
[root@localhost rubygems-1.3.5]# ruby setup.rb

4. Ruby on Rails のインストール

RubyGems を使って簡単にインストールできる。

[root@localhost ~]# gem install rails

5. Passenger のインストール

Passenger はRubyアプリケーションをApache経由で実行するために必要となるモジュール。

[root@localhost ~]# gem install passenger
[root@localhost ~]# passenger-install-apache2-module
[root@localhost ~]# vim /etc/httpd/conf.d/ruby-passenger.conf

ruby-passenger.conf は以下の通り作成。

LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.2.9/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.2.9
PassengerRuby /usr/bin/ruby

6. fcgi, mod_fastcgi のインストール

http://fastcgi.com/dist/ からそれぞれ最新版をダウンロードしてインストール。32bit版と64bit版では、mod_fastcgiのmakeオプションが異なるので注意。また、make時にapt-

[root@localhost ~]# cd /usr/local/src
[root@localhost src]# wget http://fastcgi.com/dist/fcgi-2.4.0.tar.gz
[root@localhost src]# tar xvzf fcgi-2.4.0.tar.gz
[root@localhost src]# cd fcgi-2.4.0
[root@localhost fcgi-2.4.0]# ./configure --prefix=/usr
[root@localhost fcgi-2.4.0]# make
[root@localhost fcgi-2.4.0]# make install
[root@localhost ~]# cd /usr/local/src
[root@localhost src]# wget http://fastcgi.com/dist/mod_fastcgi-2.4.6.tar.gz
[root@localhost src]# tar xvzf mod_fastcgi-2.4.6.tar.gz
[root@localhost src]# cd mod_fastcgi-2.4.6
[root@localhost mod_fastcgi-2.4.6]# cp Makefile.AP2 Makefile
[root@localhost mod_fastcgi-2.4.6]# make top_dir=/usr/lib64/httpd
[root@localhost mod_fastcgi-2.4.6]# make install top_dir=/usr/lib64/httpd
[root@localhost mod_fastcgi-2.4.6]# vim /etc/httpd/conf.d/fastcgi.conf

/etc/httpd/conf.d/fastcgi.conf は下記の通り作成。

LoadModule fastcgi_module modules/mod_fastcgi.so
<IfModule mod_fastcgi.c>
  FastCgiIpcDir	/tmp/fcgi_ipc/
  AddHandler	fastcgi-script .fcgi
</IfModule>

7. fcgiモジュール(Ruby)のインストール

RubyGemsfcgiモジュールをインストールする。

[root@localhost ~]# gem install fcgi

すべて完了したらApacheを再起動。