@YMC RENTAL SERVER SERVICE お知らせお問い合せ各種申請
YSシリーズ マネージドサーバー カスタムサーバー その他のプラン お問い合せ 各種申請
 カスタムサーバー

Ruby on Rails のインストールについて

Ruby on Rails(以下、Rails) は、スクリプト言語「Ruby」で記述されたWebアプリケーション・フレームワークです。従来の開発に比べ、少ない作業でWebアプリケーションを作成することができます。

※ 各設定内容に関しては Linux の専門知識が必要になる場合があります。

対象

  • カスタムサーバー

マネージドサーバーをご利用の場合
Ruby on Rails のインストールに関しては、インストール代行サービスのご利用をお願いしております。カスタムサーバー向けのインストールガイドを参考に、お客様ご自身でインストールすることも可能ですが、作業に失敗した場合にはサーバーの再インストールが必要となる場合もございますのでご注意ください。

設定手順

Rails 2.3 では Ruby 1.8.7 での利用を推奨していますが、CentOS5 標準の Ruby のバージョンは 1.8.5 のため、安定した利用のためには Ruby のバージョンアップが必要となります。そこで、既存の環境に影響を与えずに Ruby および Rails のインストールができる Ruby Enterprise Edition(以下、REE)でのインストール方法を説明します。
REE は Rails 用にカスタマイズされた Ruby のため、メモリの使用効率が良く、パフォーマンスも向上しています。さらに、Ruby のみでなく Rails のインストールまで自動化されているため、非常に簡単に Rails の導入が可能となります。

1. サーバーへのログイン

Rails のインストールには、root 権限でのコマンドライン作業が必要となります。
SSH による作業について」のページをご覧になり、サーバーにログイン後 root 権限に切替えてください。

2. 必要なパッケージのインストール

REE のインストールには、Ruby が必要となりますので、Ruby がインストール済みでない場合には、Ruby のインストールを行ってください(「/usr/bin/ruby」に ruby コマンドがあれば、Ruby はインストール済みです)。

また、REE のインストールには以下のパッケージが必要となります。同時に Rails 用のライブラリのインストールも行えますので、必要に応じて開発パッケージのインストールも行ってください。

必須パッケージ

C/C++ コンパイラ gcc-c++
開発ライブラリ zlib-devel openssl-devel readline-devel sqlite-devel

MySQLやPostgreSQLなどを利用する場合

MySQL 開発ライブラリ mysql-devel / mysql51-develなど
PostgreSQL 開発ライブラリ postgresql-devel / postgresql84-devel など

OS標準以外のバージョンをご利用の場合には、インストール済みのバージョンに合わせた開発ライブラリをインストールする必要がありますので、ご注意ください。

Phusion Passenger(mod_rails)を利用する場合

Apache 開発ライブラリ httpd-devel

ここでは、Ruby はインストール済み、MySQL/PostgreSQLはOS標準のバージョンを利用しているものとします。


以下の場合は、開発ライブラリのインストール手順が異なります。

  • OS標準以外のバージョンを利用している場合
    (弊社で独自に提供しているバージョンも含みます)
  • マネージドサーバーをご利用の場合

お客様のサーバーの設定状況によって作業内容が異なりますので、詳細に関しましては、弊社サポートまでご相談ください。

作業内容

  1. yum コマンドで必要なパッケージのインストールをする
    yum install -y gcc-c++ zlib-devel openssl-devel readline-devel sqlite-devel mysql-devel postgresql-devel httpd-devel
    

実行例

[root@www ~]# yum install -y gcc-c++ zlib-devel openssl-devel readline-devel sql
ite-devel mysql-devel postgresql-devel httpd-devel
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * addons: www.ftp.ne.jp
 * base: www.ftp.ne.jp
 * extras: www.ftp.ne.jp
 * updates: www.ftp.ne.jp
Setting up Install Process
Resolving Dependencies
・・・中略・・・
Installed:
  gcc-c++.i386 0:4.1.2-46.el5_4.1
  httpd-devel.i386 0:2.2.3-31.el5.centos.2
  mysql-devel.i386 0:5.0.77-3.el5
  openssl-devel.i386 0:0.9.8e-12.el5
  postgresql-devel.i386 0:8.1.18-2.el5_4.1
  readline-devel.i386 0:5.1-3.el5
  sqlite-devel.i386 0:3.3.6-5
  zlib-devel.i386 0:1.2.3-3

Dependency Installed:
  apr-devel.i386 0:1.2.7-11.el5_3.1
  apr-util-devel.i386 0:1.2.7-7.el5_3.2
  cpp.i386 0:4.1.2-46.el5_4.1
  cyrus-sasl-devel.i386 0:2.1.22-5.el5
  db4-devel.i386 0:4.3.29-10.el5
  e2fsprogs-devel.i386 0:1.39-23.el5
  expat-devel.i386 0:1.95.8-8.2.1
  gcc.i386 0:4.1.2-46.el5_4.1
  glibc-devel.i386 0:2.5-42
  glibc-headers.i386 0:2.5-42
  kernel-headers.i386 0:2.6.18-164.6.1.el5
  keyutils-libs-devel.i386 0:1.2-1.el5
  krb5-devel.i386 0:1.6.1-36.el5
  libgomp.i386 0:4.4.0-6.el5
  libselinux-devel.i386 0:1.33.4-5.5.el5
  libsepol-devel.i386 0:1.15.2-2.el5
  libstdc++-devel.i386 0:4.1.2-46.el5_4.1
  libtermcap-devel.i386 0:2.0.8-46.1
  openldap-devel.i386 0:2.3.43-3.el5
  postgresql.i386 0:8.1.18-2.el5_4.1

Complete!

※ インストールされるバージョン等は実行例と異なる場合があります

3. REE および Rails のインストール

REE にはインストーラーが付属していますので、簡単に Ruby および Rails をインストールすることができます。

ここでは執筆時点での最新版 version 1.8.7-2009.10 で説明をします。
また、すでに必要なパッケージはインストール済みですので、ここでは自動モードでのインストールを行います。

REE のバージョン 1.8.7-2009.10
インストールパス /usr/ruby/ree-1.8.7

REEのソースコードは、オフィシャルサイトのダウンロードページよりダウンロードできますので、バージョンをご確認の上、最新版でのインストールをお願いいたします。上記インストールパスもバージョンに合わせて変更をお願いします。

作業内容

  1. REE のソースコードをダウンロードする
    cd /tmp
    wget -q http://rubyforge.org/frs/download.php/66162/ruby-enterprise-1.8.7-2009.10.tar.gz
    
  2. ダウンロードしたパッケージを展開し、インストールする
    VPS(Xen)をご利用の場合には、CFLAGS/CXXFLAGSでコンパイルオプションを追加する必要があります(専用サーバーの場合は不要です)。
    tar zxf ruby-enterprise-1.8.7-2009.10.tar.gz
    export CFLAGS="-mno-tls-direct-seg-refs"
    export CXXFLAGS="-mno-tls-direct-seg-refs"
    ./ruby-enterprise-1.8.7-2009.10/installer --auto /usr/ruby/ree-1.8.7
    
  3. 作業ファイルを削除する
    インストールに使用したファイルを削除します。
    cd /tmp
    rm -rf ruby-enterprise-1.8.7-2009.10.tar.gz ruby-enterprise-1.8.7-2009.10
    

実行例


[root@www ~]# cd /tmp
[root@www tmp]# wget -q http://rubyforge.org/frs/download.php/66162/ruby-enterpr
ise-1.8.7-2009.10.tar.gz
[root@www tmp]# tar zxf ruby-enterprise-1.8.7-2009.10.tar.gz
[root@www tmp]# export CFLAGS="-mno-tls-direct-seg-refs"
[root@www tmp]# export CXXFLAGS="-mno-tls-direct-seg-refs"
[root@www tmp]# ./ruby-enterprise-1.8.7-2009.10/installer --auto /usr/ruby/ree-1
.8.7
Welcome to the Ruby Enterprise Edition installer
This installer will help you install Ruby Enterprise Edition 1.8.7-2009.10.
Don't worry, none of your system files will be touched if you don't want them
to, so there is no risk that things will screw up.
・・・中略・・・
--------------------------------------------
Ruby Enterprise Edition is successfully installed!
If want to use Phusion Passenger (http://www.modrails.com) in combination
with Ruby Enterprise Edition, then you must reinstall Phusion Passenger against
Ruby Enterprise Edition, as follows:

  /usr/ruby/ree-1.8.7/bin/passenger-install-apache2-module

Make sure you don't forget to paste the Apache configuration directives that
the installer gives you.

If you ever want to uninstall Ruby Enterprise Edition, simply remove this
directory:

  /usr/ruby/ree-1.8.7

If you have any questions, feel free to visit our website:

  http://www.rubyenterpriseedition.com

Enjoy Ruby Enterprise Edition, a product of Phusion (www.phusion.nl) :-)
[root@www tmp]# rm -rf ruby-enterprise-1.8.7-2009.10.tar.gz ruby-enterprise-1.8.
7-2009.10

4. インストールされたコマンドの確認

REE では、すべてのファイルがインストールパス以下にインストールされるため、パス名を付けて実行する必要があります。
代表的なコマンドは、「(インストールパス)/bin」内にありますので、以下のようにして確認できます。

作業内容

  1. 各コマンドのバージョンを表示、確認する
    /usr/ruby/ree-1.8.7/bin/ruby -v
    /usr/ruby/ree-1.8.7/bin/rails -v
    /usr/ruby/ree-1.8.7/bin/gem -v
    /usr/ruby/ree-1.8.7/bin/rake -V

実行例

[root@www tmp]# /usr/ruby/ree-1.8.7/bin/ruby -v
ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-linux], MBARI 0x8770, Ruby Enterpri
se Edition 2009.10
[root@www tmp]# /usr/ruby/ree-1.8.7/bin/rails -v
Rails 2.3.4
[root@www tmp]# /usr/ruby/ree-1.8.7/bin/gem -v
1.3.5
[root@www tmp]# /usr/ruby/ree-1.8.7/bin/rake -V
rake, version 0.8.7

※ インストールされるバージョン等は実行例と異なる場合があります

5. Phusion Passenger(mod_rails)のインストール

Phusion Passenger(以下、mod_rails)は、Apache(ウェブサーバー)と Rails アプリケーションとの連携を簡単に行うことができるライブラリです。
REE では mod_rails のインストールも行われていますが、実際に利用するためには Apache 用のモジュールのインストール及び、Railsアプリケーションの配置に関する設定が必要となります。

Railsアプリケーションの配置に関しては開発されたアプリケーションによって異なるため、ここでは Apache 用のモジュールのインストールについてのみ説明します。

なお、mod_rails に関しての詳細は、Phusion Passenger のサイトをご覧ください。

作業内容

  1. インストーラーを実行する
    /usr/ruby/ree-1.8.7/bin/passenger-install-apache2-module --auto
    
  2. mod_railsの設定ファイルを作成する
    「Please edit your Apache configuration file, and add these lines:」以下の設定内容を「/etc/httpd/conf.d/mod_rails.conf」として保存する。
    vi /etc/httpd/conf.d/mod_rails.conf 

実行例

[root@www tmp]# /usr/ruby/ree-1.8.7/bin/passenger-install-apache2-module --auto
Welcome to the Phusion Passenger Apache 2 module installer, v2.2.7.

This installer will guide you through the entire installation process. It
shouldn't take more than 3 minutes in total.
・・・中略・・・
--------------------------------------------
The Apache 2 module was successfully installed.

Please edit your Apache configuration file, and add these lines:

   LoadModule passenger_module /usr/ruby/ree-1.8.7/lib/ruby/gems/1.8/gems/passen
ger-2.2.7/ext/apache2/mod_passenger.so
   PassengerRoot /usr/ruby/ree-1.8.7/lib/ruby/gems/1.8/gems/passenger-2.2.7
   PassengerRuby /usr/ruby/ree-1.8.7/bin/ruby

After you restart Apache, you are ready to deploy any number of Ruby on Rails
applications on Apache, without any further Ruby on Rails-specific
configuration!

Press ENTER to continue.

--------------------------------------------
Deploying a Ruby on Rails application: an example

Suppose you have a Rails application in /somewhere. Add a virtual host to your
Apache configuration file and set its DocumentRoot to /somewhere/public:

   <VirtualHost *:80>
      ServerName www.yourhost.com
      DocumentRoot /somewhere/public    # <-- be sure to point to 'public'!
      <Directory /somewhere/public>
         AllowOverride all              # <-- relax Apache security settings
         Options -MultiViews            # <-- MultiViews must be turned off
      </Directory>
   </VirtualHost>

And that's it! You may also want to check the Users Guide for security and
optimization tips, troubleshooting and other useful information:

  /usr/ruby/ree-1.8.7/lib/ruby/gems/1.8/gems/passenger-2.2.7/doc/Users guide Apa
che.html

Enjoy Phusion Passenger, a product of Phusion (www.phusion.nl) :-)
http://www.modrails.com/

Phusion Passenger is a trademark of Hongli Lai & Ninh Bui.
[root@www tmp]# vi /etc/httpd/conf.d/mod_rails.conf

※ インストールされるバージョン等は実行例と異なる場合があります

/etc/httpd/conf.d/mod_rails.conf

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



Copyright (c) GMO GlobalSign Holdings K.K. All Rights Reserved.