Ruby on Rails + Apache 2.2 + FastCGI 環境の構築
CentOS 5.4(x86_64)に Ruby on Rails + Apache 2.2 + FastCGI 環境を構築した際のメモ。
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
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>